Главная
Главная Руководства FreeBSD › DHCP сервер на FreeBSD



Автор:

Статья опубликована: 2018-05-08 21:37:38
Последние правки: 2022-10-07 15:59:02

Ставим и настраиваем DHCP сервер под FreeBSD.

  • Важное замечание

    - Время жизни сервера версии 4.3 заканчивается 30 июля 2018 года, так что ставьте версию 4.4. Инструкция ниже полностью для этого подходит (только не забудьте там где надо менять 43 на 44).

    - Сообщение от ISC: "Версии ISC DHCP 4.4.3-P1 и 4.1-ESV-R16-P2, выпущенные 5 октября 2022 г., являются последними отладочными версиями этого программного обеспечения, которые ISC планирует опубликовать. Если нам станет известно о серьезной уязвимости системы безопасности, мы можем сделать исключение, но мы намерены прекратить активно поддерживать эту кодовую базу."
    Далее ISC рекомендует использовать Kea DHCP. В портах это /usr/ports/net/kea.


  • Исходные данные
    # uname -sr
    FreeBSD 11.1-RELEASE-p8
    # pkg info | grep dhcp
    isc-dhcp43-server-4.3.6P1      ISC Dynamic Host Configuration Protocol server
    

  • Установка
    # cd /usr/ports/net/isc-dhcp43-server
    # make install clean
    
    Конфиг во время установки:
    [x] BIND_SYMBOLS  Enable BIND internal symbol table
    [ ] DHCP4O6       Enable DHCPv4-over-DHCPv6 (TSV)
    [x] IPV6          IPv6 protocol support
    [ ] LDAP          LDAP protocol support
    [ ] LDAP_SSL      Support LDAP over SSL/TLS
    [x] PARANOIA      Enable support for chroot
    

  • Настройка

    /etc/rc.conf
    dhcpd_enable="YES"
    dhcpd_flags="-q"
    dhcpd_conf="/usr/local/etc/dhcpd.conf"
    dhcpd_ifaces="re0"
    dhcpd_withumask="022"
    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_ifaces - тут задаем интерфейс на котором слушает dhcp


  • Конфигурация

    /usr/local/etc/dhcpd.conf
    ; часовой пояс в секундах, необходим, например, для ip-телефонов
    option time-offset 10800;
    
    ; время, на которое клиенту выдается ip-адрес
    default-lease-time 259200;
    max-lease-time 259200;
    
    ; сервер авторизован для работы в заданных подсетях
    authoritative;
    
    log-facility local7;
    
    subnet 192.168.0.0 netmask 255.255.255.0 {
      interface re0;
      range 192.168.0.200 192.168.0.254;
      option domain-name-servers 192.168.0.1;
      option domain-name "guest";
      option routers 192.168.0.10;
      option broadcast-address 192.168.0.255;
    }
    
    Далее, в /usr/local/etc/dhcpd.conf можно указать статические ip (на основе MAC адресов):
    host client1 {
      hardware ethernet 09:00:12:e3:dd:15;
      fixed-address 192.168.0.100;
      option domain-name "home";
      option domain-name-servers 192.168.0.1;
      option routers 192.168.0.10;
      option broadcast-address 192.168.0.255;
    }
    
    После каждого изменения, необходимо перезагрузить dhcp-сервер:
    # /usr/local/etc/rc.d/isc-dhcpd restart
    

  • Работа

    Если необходимо узнать какой ip получило новое устройство, то файл с текущими ip-адресами находится тут:
    /var/db/dhcpd/var/db/dhcpd/dhcpd.leases
    Там можно посмотреть и MAC-адрес устройства.