Установка DHCP сервера на FreeBSD

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