DHCP сервер на FreeBSD Устанавливаем и настраиваем DHCP сервер для локальной сети

Всем добра!
В наш время существует множество реализаций DHCP серверов, много лет я использую реализацию ISC DHCP от Internet Systems Consortium.
Исторически так сложилось,что для работы я использую FreeBSD. Поэтому рассмотрим установку и первоначальную настройку DHCP сервера именно в этой системе.
Для Linux дистрибутивов отличия только в установке (apt, yum, etc) и отличия в системе логирования.

Итак, дано:

  1. FreeBSD 12.0 с двумя сетевыми интерфейсами em0 – внешняя сеть (интернет), em1 – локальная сеть
  2. em1 – inet 10.250.250.1 netmask 255.255.255.1
  3. Создаваемый DHCP пул 10.250.250.10-10.250.250.100
  4. На этом же хосте поднят кеширующий DNS сервер Unbound, работающий на интерфейсе em1

В этот раз я пренебрегу установкой из портов, т.к. мне не нужны какие-либо дополнительные опции, заодно сэкономим на установки время
Поищем нужный нам пакадж через pkg:

# pkg search isc-dhcp
isc-dhcp44-client-4.4.1        The ISC Dynamic Host Configuration Protocol client
isc-dhcp44-relay-4.4.1         The ISC Dynamic Host Configuration Protocol relay
isc-dhcp44-server-4.4.1_3      ISC Dynamic Host Configuration Protocol server

Нам нужен сервер, установим его:
# pkg install isc-dhcp44-server-4.4.1_3

Разрешим запуск нашего DHCP сервера и пропишем несколько настроек в /etc/rc.conf
# vi /etc/rc.conf
dhcpd_enable="YES"                          # Разрешаем запуск
dhcpd_flags="-q"                            # Наверное тихий режим)(Quiet)
dhcpd_conf="/usr/local/etc/dhcpd.conf"      # Указываем конфигурационный файл
dhcpd_ifaces="em1"                          # На каком интерфейсе работаем
dhcpd_withumask="022"                       # маска создаваемых файлов

Редактируем конфигурационный файл:
# vi /usr/local/etc/dhcpd.conf

# Делаем наш сервер авторитарным
authoritative;
# Указываем поток для syslog
log-facility local7;
#Описываем наш пул
subnet 10.250.250.0 netmask 255.255.255.0 {
  # Пул адресов
  range 10.250.250.10 10.250.250.100;
  # Указываем DNS сервер
  option domain-name-servers 10.250.250.1;
  # Указываем шлюз
  option routers 10.250.250.1;
  # Время аренды IP адреса в секундах (30 суток)
  default-lease-time 2592000;
  max-lease-time 2592000;
}

Сделаем вывод отдельного лога для DHCPd сервера и подавим вывод в /var/log/message:
# vi /etc/syslog.conf
local7.*                                                                       /var/log/dhcpd.log
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local7.none      /var/log/messages

Обратите внимание на local7.none, указанную для /var/log/messages – эта запись не даст дублироваться информации в лог messages
Создадим файл лога:
# touch /var/log/dhcpd.log

Перезапустим Syslog и запустим DHCPd:
# /etc/rc.d/syslogd restart
# /usr/local/etc/rc.d/isc-dhcpd start

Настроим ротацию лога dhcpd.log с помощью newsyslog:
# vi /usr/local/etc/newsyslog.conf.d/services
/var/log/dhcpd.log                      600  7     100  *     J

Будем сохранять семь архивных логов, размер лога до 100Кб, далее сжимаем в bz2
Рестартанем  newsyslog:
# /etc/rc.d/newsyslog restart

Запустим какой-нибудь хост в локальной сети и посмотрим вывод dhcpd.log:
# less /var/log/dhcpd.log
Feb 25 17:09:16 test dhcpd[8970]: DHCPDISCOVER from 08:00:27:bd:c2:0d via em1
Feb 25 17:09:17 test dhcpd[8970]: DHCPOFFER on 10.250.250.10 to 08:00:27:bd:c2:0d (TEST-VB7) via em1
Feb 25 17:09:17 test dhcpd[8970]: DHCPREQUEST for 10.250.250.10 (10.250.250.2) from 08:00:27:bd:c2:0d (TEST-VB7) via em1
Feb 25 17:09:17 test dhcpd[8970]: DHCPACK on 10.250.250.10 to 08:00:27:bd:c2:0d (TEST-VB7) via em1
Feb 25 17:10:06 test dhcpd[8970]: DHCPINFORM from 10.250.250.10 via em1

Вроде как все, скорей всего еще будет пару заметок про резервацию адресов, про PXE загрузку бездисковых клиентов и т.п.

 

 

0 0 голосовать
Рейтинг статьи
Подписаться
Уведомление о
guest
0 Комментарий
Встроенные отзывы
Просмотр всех комментариев