Вводные данные:
- 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