Установка ISC DHCP Server
Получаем доступные версии DHCP-сервера:
pkg search "isc-dhcp.*-server"
Устанавливаем самый свежий пакет:
pkg install isc-dhcp44-server-4.4.1_2
Или установка ISC DHCP Server из коллекции портов
Если необходимо, DHCP-сервер можно собрать из портов.
Обновляем коллекцию портов:
portsnap fetch update
Если коллекция портов используется впервые, получаем ее актуальную версию:
portsnap fetch extract
Получаем доступные версии DHCP-сервера:
echo /usr/ports/net/isc-dhcp*-server
Устанавливаем:
cd /usr/ports/net/isc-dhcp44-server make install clear
Настройка ISC DHCP Server
Редактируем основной файл конфигурации:
mcedit /usr/local/etc/dhcpd.conf
В конфигурации сервера необходимо задать параметры, выделенные жирным шрифтом.
# DNS серверы
option domain-name-servers 192.168.100.1;
# Время в секундах, по истечению которого клиент должен запросить продление аренды
default-lease-time 1200;
# Время аренды IP адреса в секундах
# Клиент должен освободить IP-адрес, если в течение заданного времени аренду продлить не удалось
# Если аренда не продлена, сервер может выдать этот адрес другому клиенту
max-lease-time 72000;
# Выдавать клиенту новый адрес, если запрошенный клиентом адрес не входит в пул сервера
authoritative;
# Источник, который будет указан при отправке сообщений в Syslog
log-facility local7;
# Декларация подсети
subnet 192.168.100.0 netmask 255.255.255.0 {
# Пул динамических адресов
range 192.168.110.5 192.168.100.200;
# Шлюз
option routers 192.168.100.1;
}
Настройка логов для ISC DHCP Server
Редактируем syslog.conf:
mcedit /etc/syslog.conf
Сохраняем сообщения о присвоении адресов в dhcpd.log, предупреждения и ошибки дублируем в messages.
Добавляем следующие строки:
!dhcpd *.info -/var/log/dhcpd.log !*
Задаем параметры ротации.
Проверяем, поддерживается ли вашей системой newsyslog.conf.d
ls /etc/newsyslog.conf.d && echo ok
Если в вашей системе отсутствует папка newsyslog.conf.d, редактируем newsyslog.conf:
mcedit /etc/newsyslog.conf
Если папка newsyslog.conf.d имеется, создаем папку с тем же именем в /usr/local/etc:
mkdir /usr/local/etc/newsyslog.conf.d
Создаем файл c правилами ротации логов:
mcedit /usr/local/etc/newsyslog.conf.d/isc-dhcp-server
Ежедневная ротация в полночь с сохранением логов за неделю:
/var/log/dhcpd.log 600 7 * @T00 JC
Создаем лог-файл:
touch /var/log/dhcpd.log
Перезагружаем конфигурацию syslogd:
service syslogd reload
Запуск ISC DHCP Server
Редактируем rc.conf:
mcedit /etc/rc.conf
Включаем запуск ISC DHCP Server, и задаем сетевые интерфейсы, обслуживаемые нашим сервером:
dhcpd_enable="YES" dhcpd_ifaces="em1"
Запускаем dhcpd:
service isc-dhcpd start
В случае успешного запуска видим следующий текст:
Internet Systems Consortium DHCP Server 4.4.1 Copyright 2004-2018 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 1 leases to leases file. Listening on BPF/em1/00:0c:29:09:b8:7a/192.168.100.0/24 Sending on BPF/em1/00:0c:29:09:b8:7a/192.168.100.0/24 Sending on Socket/fallback/fallback-net
Если ошибок при запуске не возникло, проверяем, раздаются ли IP-адреса.
Проверяем лог-файл:
cat /var/log/dhcpd.log