...
- В каталоге
/etc/bind/создать файл с TSIG-ключом, ограничить доступ к файлу:
гдеCommand sudo tsig-keygen <название_ключа> | sudo tee /etc/bind/<название_файла>
sudo chmod 640 /etc/bind/<название_файла>
sudo chown bind:bind /etc/bind/<название_файла>
- <название_ключа> – любая строка, соответствующая требованиям к доменному имени, т.е. состоящая из букв, цифр, дефисов и точек.
Для наглядности рекомендуется составлять название ключа из имён узлов, на которых работают DNS-сервер и DHCP-DDNS-сервер. Например, "dc1-dhcp1";
- <название_файла> – произвольное название файла.
Далее предполагается, что создан ключ с названием "dc1-dhcp1", ключ сохранён в файле/etc/bind/dc1-dhcp1.key:
Пример файлаCommand sudo tsig-keygen dc1-
dhcp1| sudo tee /etc/bind/dc1-dhcp1.key/etc/bind/dc1-dhcp1.key:Блок кода key "dc1-dhcp1" { algorithm hmac-sha256; secret "cuF3/joQN1jNQeHbSJtt1eFpaRfludKEDeD/CaFjpg4="; }; - Указать в настройках DNS-сервера расположение файла с TSIG-ключом.
Для этого добавить в файл/etc/bind/ipa-ext.confстроку:
Файл /etc/bind/ipa-ext.conf не изменяется во время обновления FreeIPAБлок кода include "/etc/bind/dc1-dhcp1.key";
- Проверить отсутствие синтаксических ошибок в конфигурационных файлах DNS-сервера:
Command sudo named-checkconf
- Перезапустить FreeIPA для применения настроек DNS-сервера:
Command sudo ipactl restart
- Разрешить динамические обновления требуемых доменных зон для DNS-клиентов, обладающих TSIG-ключом.
Для этого в веб-интерфейсе FreeIPA открыть страницу "Сетевые службы → DNS → Зоны DNS".
Откроется страница со списком доменных зон:
На странице выбрать зону, для которой необходимо включить динамические обновления. Перейти на вкладку "Параметры".
Откроется страница:
Внизу страницы в поле "Политика обновления BIND" добавить правило политики, которое разрешает принимать обновления, подписанные ключом с названиемdc1-dhcp1:
Получится:Блок кода grant dc1-dhcp1 wildcard * ANY;
Вверху страницы нажать на кнопку "Сохранить".Информация FreeIPA не работает с DHCID
Kea DHCP-сервер предотвращает конфликты: если ресурсная запись (типа A, PTR и др.) закреплена за каким-то узлом сети, то она не может быть перезакреплена за другим узлом сети.
Например, DHCP-сервер для узла с доменным именем astra06954.ipa.lc создал на DNS-сервере запись типа A. Если в сети появится второй узел с таким же доменным именем astra06954.ipa.lc получил от DHCP-сервер
grant dc1-dhcp1 wildcard * ANY DHCID;Блок кода и запросит у DHCP-сервера IP-адрес, то DHCP-сервер выдаст адрес, но не перезакрепит на DNS-сервере существующую запись типа A за вторым узлом.
Для предотвращения таких конфликтов DHCP-сервер автоматически создаёт на DNS-сервере дополнительные записи типа DHCID, которые являются уникальными идентификаторами узлов.
При добавленном выше правиле политики обновления записи типа DHCID не создаются. Чтобы эти записи тоже создавались, необходимо в правиле политики явно указать тип DHCID:
Блок кода grant dc1-dhcp1 wildcard * ANY DHCID;Веб-интерфейс FreeIPA-сервера не отображает записи типа DHCID. Для их просмотра необходимо использовать консольные команды из состава Bind, например
dig:Command dig @localhost astra06954.ipa.lc. any
Вывод команды:
Блок кода ... ;; ANSWER SECTION: astra06954.ipa.lc. 14400 IN A 192.168.0.203 astra06954.ipa.lc. 14400 IN DHCID AAABP1ZUSZviTQHluGX6B3j9OueWkRxYEyGoXqjOvWfuM5Q= ... - Выполнить предыдущий пункт и для обратной доменной зоны, добавив точно такое же правило политики в поле "Политика обновления BIND".
...


