Настройка DCHP сервера в Debian/Ubuntu Linux
Сервер DHCP в сети занимается выдачей IP адресов устройствам. Одновременно с выдачей адресов.
Установка сервера DHCP
Этот пакет скорее всего один из старейших резидентов всевозможных репозиториев. Устанавливаем из стандартного:
apt install isc-dhcp-server
Настройка сервера DHCP
Первая настройка в файле /etc/default/isc-dhcp-server
, в котором нужно указать необходимые для прослушивания интерфейсы системы, физические и виртуальные.
INTERFACESv4="ens18,eth0,vlan1"
Файл записей аренды адресов располагается по умолчанию /var/lib/dhcp/dhcpd.leases
Дальнейшая настройка производится в основном конфигурационном файле /etc/dhcp/dhcpd.conf
,
где необходимо указать основное имя домена и DNS
option domain-name "antroot.ru"; option domain-name-servers 10.0.2.1, 10.0.2.2;
Если устанавливается DHCP сервер, значит планируется раздавать IP адреса этим сервером, поэтому указываем, что он уполномочен это делать:
authoritative;
Следует указать все подсети, к которым подключен сервер, чтобы он понимал конфигурацию сети, указывая только в нужной параметры раздачи IP адресов
subnet 10.0.1.0 netmask 255.255.255.0 { } subnet 10.0.2.0 netmask 255.255.255.0 { } subnet 10.0.3.0 netmask 255.255.255.0 { range 10.0.3.50 10.0.3.99; option subnet-mask 255.255.255.0; option routers 10.0.3.2; option domain-name-servers 10.0.2.1; }
Для фиксации IP адреса определенному устройству в сети можно указать его MAC адрес
host some-client { hardware ethernet fe:ce:12:34:56:78; fixed-address 10.0.3.11; option host-name "antroot-1"; ddns-hostname "antroot-1"; }
Несколько хостов можно объединить в группу group
, чтобы задать общие для группы параметры:
group { # общие для группы параметры option domain-name "antroot.lan"; option domain-name-servers 10.0.3.2; option routers 10.0.3.2; host srv1 { # параметры хоста srv1 hardware ethernet fe:ce:12:34:56:78; fixed-address 10.0.3.11; } host srv2 { # параметры хоста srv2 hardware ethernet fe:ce:12:34:56:79; fixed-address 10.0.3.12; } }
Для определенной подсети subnet
пула pool
группы group
можно указать время аренды IP адреса в секундах - это бывает нужно для тестовых машин, когда их создается очень много на короткое время, чтобы пул адресов быстрее освобождался:
max-lease-time 300; default-lease-time 300;
Подсеть subnet
может быть разделена на пулы pool
, каждому из которых можно определить свои дополнительные параметры:
subnet 10.0.3.0 netmask 255.255.255.0 { option routers 10.0.3.2; pool { range 10.0.3.150 10.0.3.199; option domain-name-servers 10.0.3.2; max-lease-time 300; default-lease-time 300; allow unknown-clients; } pool { range 10.0.3.50 10.0.3.99; option domain-name-servers 10.0.2.1, 10.0.3.2; deny unknown-clients; } }
Журналирование сервера DHCP
Включаем маркирование логов в файле dhcpd.conf
log-facility local7;
Затем необходимо добавить в конфигурацию syslog перенаправление в отдельный файл, для чего в директории /etc/rsyslog.d/
добавить файл isc-dhcp-server.conf
с таким содержимым:
local7.* /var/log/dhcpd.log & ~
и в основном файле конфигурации отключить запись в /var/log/syslog
этих сообщений
*.*;auth,authpriv.none -/var/log/syslog # заменить на *.*;auth,authpriv.none;local7.none -/var/log/syslog
systemctl restart rsyslog
Запуск сервера DHCP
systemctl start isc-dhcp-server systemctl enable isc-dhcp-server systemctl status isc-dhcp-server