Вводные данные:
- dc.rpn.loc - установленный и работающий сервер FreeIPA
- 192.168.20.105 - ip адрес сервера FreeIPA
- DNS сервер развернут на сервере FreeIPA
- 192.168.20.0/24 - управляемая сеть
- 192.168.20.50 - 192.168.20.99 - диапазон раздаваемых в аренду адресов.
Устанавливаем из репозитариев сервер DHCP:
yum install dhcp
Создаем ключевой файл для обмена данными между серверами DHCP и DNS. Назначаем ему владельца:
# rndc-confgen -a -r keyboard -b 256 # chown named:named /etc/rndc.key
В файл /etc/named.conf после раздела "options" добавляем строку:
include "/etc/rndc.key";
В вэб интерфейсе управления сервера FreeIPA в свойствах необходимой зоны в разделе "Политики обновления BIND" добавляем запись:
grant rndc-key wildcard * ANY;
В свойствах обратной зоны в том же разделе добавляем политику:
grant * tcp-self * PTR;
Сохраняем и заставляем сервер имен перечитать свою конфигурацию:
# rndc reload
Создаем файл /etc/dhcpd/dhcpd.conf приблизительно такого содержания:
ddns-updates on; ddns-update-style interim; include "/etc/rndc.key"; ddns-domainname "rpn.loc."; update-static-leases on; option domain-name "rpn.loc"; option domain-search "rpn.loc", "Что-тоюдругое.loc"; option domain-name-servers 192.168.20.105; option dhcp-server-identifier 192.168.20.105; #Раскоментировать, если используется Samba с WINS #option netbios-name-servers 192.168.20.105; default-lease-time 129600; max-lease-time 1296000; authoritative; server-name "dc.rpn.loc"; server-identifier 192.168.20.105; #This subnet should match the subnet of your LAN facing ethernet device. subnet 192.168.20.0 netmask 255.255.255.0 { option broadcast-address 192.168.20.255; option subnet-mask 255.255.255.0; option routers 192.168.20.20; pool { range 192.168.20.50 192.168.20.99; allow known-clients; allow unknown-clients; max-lease-time 86400; default-lease-time 43200; } zone rpn.loc. { primary 127.0.0.1; key "rndc-key"; } zone 20.168.192.in-addr.arpa. { primary 127.0.0.1; key "rndc-key"; } }
Стартуем сервер DHCP и разрешаем его автозапуск:
# systemctl start dhcpd # systemctl enable dhcpd
sd