DTop CMS - система управления контентом
Текущая версия: 3.4.1



© 2002-2013

Статья опубликована: 2011.02.09
Последние изменения: 2013.04.12

FreeBSD 9, установка и настройка DHCP-сервера.


Устанавливаем и настраиваем DHCP сервер на своем домашнем сервере под управлением FreeBSD версии 9.

  • Условия и исходные данные:

    DHCP сервер будет работать через chroot
    Интерфейс, на котором будет работать DHCP: ale0 - карта, которая смотрит в домашнюю сеть, с ip-адресом 192.168.0.3
    Обслуживаемый сервером диапазон адресов: 192.168.0.100 - 192.168.0.254, при этом для каждого известного устройства делаем "постоянную запись" на основе mac-адреса с постоянным ip в диапазоне от 192.168.0.100 до 192.168.0.199, и выделяем диапазон 192.168.0.200 - 192.168.0.254 для всех остальных.


  • Использованные версии ПО:
    # uname -sr
    FreeBSD 9.1-PRERELEASE
    
    # pkg_info | grep dhcp
    isc-dhcp42-server-4.2.4_2 The ISC Dynamic Host Configuration Protocol server
    

  • Установка
    # cd /usr/ports/net/isc-dhcp42-server
    # make install clean
    
    В опциях выбираем:
    [ ] BIND_SYMBOLS  Enable BIND internal symbol table
    [ ] IPV6          IPv6 protocol
    [ ] LDAP          LDAP support
    [ ] LDAP_SSL      Support LDAP over SSL/TLS
    [*] PARANOIA      Enable support for chroot
    
    Во время установки будут созданы пользователь dhcpd и группа dhcpd


  • Первоначальная настройка

    /etc/rc.conf:
    dhcpd_enable="YES"
    dhcpd_flags="-q"
    dhcpd_conf="/usr/local/etc/dhcpd.conf"
    dhcpd_ifaces="ale0"
    dhcpd_withumask="022"
    
    Дополнительные строки для опции PARANOIA
    dhcpd_chuser_enable="YES"
    dhcpd_withuser="dhcpd"
    dhcpd_withgroup="dhcpd"
    dhcpd_chroot_enable="YES"
    dhcpd_devfs_enable="YES"
    dhcpd_rootdir="/var/db/dhcpd"
    dhcpd_includedir=""
    
  • Настройка dhcpd.conf

    Важно: все изменения нужно производить в файле /usr/local/etc/dhcpd.conf , этот файл копируется в rootdir-директорию каждый раз во время запуска dhcp сервера.

    Содержимое файла:
    option domain-name-servers 192.168.0.3;
    
    список DNS-серверов через запятую, можно указывать как имя сервера, так и его ip адрес
    default-lease-time 600;
    max-lease-time 7200;
    
    время аренды IP-адресов клиентскими компьютерами, по умолчанию и максимальное
    authoritative;
    
    директива, указывающая серверу, что он является официальным DHCP-сервером для обслуживаемых им сетей
    log-facility local7;
    
    Строка необходима для ведения лога сервера

    Описываем свою сеть:
    subnet 192.168.0.0 netmask 255.255.255.0 {
      range 192.168.0.200 192.168.0.254;
      option domain-name "guest";
      option routers 192.168.0.3;
      option broadcast-address 192.168.0.255;
    }
    
    range - начальный и конечный ip адреса, которые наш сервер выдает клиентам;
    option routers - ip-адрес роутера
    option broadcast-address - адрес для широковещательных запросов

    Для каждого известного компьютера делаем запись типа:
    host HOSTNAME {
      hardware ethernet XX:XX:XX:XX:XX:XX;
      fixed-address 192.168.0.100;
      option domain-name "home";
      option routers 192.168.0.3;
      option broadcast-address 192.168.0.255;
    }
    
    HOSTNAME - имя добавляемого компьютера
    hardware ethernet - тут задаем mac-адрес добавляемого компьютера
    fixed-address - здесь задаем ip-адрес, который будет компьютеру выдавать наш DHCP-сервер


  • Запуск
    # /usr/local/etc/rc.d/isc-dhcpd start
    


  • Эксплуатация
    Если вы производили обновление портов при помощи portupgrade, и при этом обновлялся isc-dhcp42-server, то после обновления его необходимо заново запустить командой
    # /usr/local/etc/rc.d/isc-dhcpd start
    
    так как процесс обновления его автоматически выключает, но не запускает.