Настройка DHCP-сервера на базе ISC DHCP Server

В этой статье мы расссмотрим, как просто развернуть DHCP сервер на FreeBSD.

Получаем доступные версии DHCP-сервера:

pkg search «isc-dhcp.*-server»

Устанавливаем пакет:

pkg install isc-dhcp41-server

Установка ISC DHCP Server из коллекции портов

Если необходимо, DHCP-сервер можно собрать из портов.

Обновляем коллекцию портов:

portsnap fetch update

Если коллекция портов используется впервые, получаем ее актуальную версию:

portsnap fetch extract

Получаем доступные версии DHCP-сервера:

echo /usr/ports/net/isc-dhcp*-server

Устанавливаем:

cd /usr/ports/net/isc-dhcp41-servermake install

Настройка ISC DHCP Server

Редактируем файл конфигурации:

ee /usr/local/etc/dhcpd.conf

В минимальной конфигурации необходимо задать параметры, выделенные жирным шрифтом, примеры удалить или закомментировать.

# DNS серверы

option domain-name-servers 192.168.0.1, 192.168.0.2;

# Время в секундах, по истечению которого клиент должен запросить продление аренды
default-lease-time 600;

# Время аренды IP адреса в секундах
# Клиент должен освободить IP-адрес, если в течение заданного времени аренду продлить не удалось
# Если аренда не продлена, сервер может выдать этот адрес другому клиенту

max-lease-time 7200;
# Выдавать клиенту новый адрес, если запрошенный клиентом адрес не входит в пул сервера

authoritative;
# Источник, который будет указан при отправке сообщений в Sysloglog-facility local7;

# Декларация подсети
subnet 192.168.0.0 netmask 255.255.255.0 {

# Пул динамических адресов
range 192.168.0.129 192.168.0.189;

# Шлюз
option routers 192.168.0.1
;}

# Задать фиксированный IP-адрес для хоста

#host Name {
# hardware ethernet 00:26:5e:66:6c:08;
# fixed-address 192.168.0.190;
#
}

 

Настройка логов ISC DHCP Server

Редактируем syslog.conf:

ee /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:

ee /etc/newsyslog.conf

Если папка newsyslog.conf.d имеется, создаем папку с тем же именем в /usr/local/etc:

mkdir /usr/local/etc/newsyslog.conf.d

Создаем файл c правилами ротации логов:

ee /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:

ee /etc/rc.conf

Включаем запуск ISC DHCP Server, и задаем сетевые интерфейсы, обслуживаемые нашим сервером:

dhcpd_enable=»YES»dhcpd_ifaces=»fxp0″

Запускаем dhcpd:

service isc-dhcpd start

В случае успешного запуска видим следующий текст:

Internet Systems Consortium DHCP Server 4.1-ESV-R3

Copyright 2004-2011 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/fxp0/08:00:27:a9:a8:7d/192.168.0.0/24

Sending on BPF/fxp0/08:00:27:a9:a8:7d/192.168.0.0/24Sending on Socket/fallback/fallback-net

Если ошибок при запуске не возникло, проверяем, раздаются ли IP-адреса.

Для принудительного обновления IP-адреса в Windows, в командной строке используем команды:

ipconfig /releaseipconfig /renew

Проверяем лог-файл:

cat /var/log/dhcpd.log

В случае проблем, анализируем DHCP трафик:

tcpdump -vni

fxp0

udp port 67

Источник