Установка 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