| Секция | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Если IP-адреса выдаются компьютерам (контроллерам домена или клиентам домена) с помощью службы DHCP (см. статьи isc-dhcp-server и kea), то необходимо обеспечить сохранность настроек DNS, создаваемых при инициализации контроллера домена (вводе клиента в домен). Это можно сделать либо настройками службы DHCP (для клиентов), либо запретом получения параметров DNS от службы DHCP (для серверов).
Контроллер домена FreeIPA
...
Предварительная настройка контроллера домена FreeIPA
Предполагается, что контроллер настроен в соответствии со статьёй "Контроллер ЕПП FreeIPA в Astra Linux" и имеет параметры:
- IP-адрес узла с FreeIPA – 192.168.0.105;
- название домена – ipa.lc;
- имя узла:
- краткое – dc1;
- полное доменное – dc1.ipa.lc.
| Раскрыть | ||
|---|---|---|
| ||
|
...
Порядок настройки FreeIPA с вышеуказанными параметрами контроллера домена:
|
...
|
...
|
...
| Command | ||
|---|---|---|
|
Задать полное доменное имя узла
| |||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
| Блок кода |
|---|
введите пароль администратора домена (login: admin):
|
После повторного ввода пароля начнётся процесс первоначальной настройки FreeIPA.
...
|
...
|
Настройка DNS-сервера BIND
DNS-сервер BIND входит в состав контроллера домена и управляется им же управляется.Необходимо
Чтобы DNS-сервер принимал динамические обновления, необходимо:
- создать TSIG-ключ
...
- ;
- добавить правило к политике обновления BIND, разрешающее получать обновления, которые подписаны созданным TSIG-ключом.
Для настройки DNS-сервера на работу
Для безопасности все сообщения между DNS-сервером и DHCP-DDNS-сервером подписываются общим TSIG-ключом. DNS-сервер будет игнорировать запросы на обновления, не подписанные ключом.
Для настройки DNS-сервера на работу с динамическими обновлениями:
- В каталоге
/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строку:
Файл Для BIND из состава FreeIPA: файлБлок кода include "/etc/bind/dc1-dhcp1.key";
/etc/bind/ipa-ext.confпредназначен для хранения пользовательских настроек и не изменяется во время обновления FreeIPA. - Проверить конфигурационные файлы DNS-сервера на отсутствие синтаксических ошибок в конфигурационных файлах DNS-сервера::
Command sudo named-checkconf
- Перезапустить FreeIPA для применения настроек DNS-сервера:
Command sudo ipactl restart
- Разрешить динамические обновления требуемых прямой и обратной доменных зон для DNS-клиентовзапросов, обладающих подписанных TSIG-ключом.
Для этого в веб-интерфейсе FreeIPA открыть страницу "Сетевые службы → DNS → Зоны DNS".
Откроется страница со списком доменных зон:
На странице выбрать прямую зону , для которой необходимо включить динамические обновления. Перейтиipa.lc, перейти на вкладку "Параметры".
Откроется страница:
Внизу страницы в поле "Политика обновления BIND" добавить правило политики, которое разрешает принимать обновления, подписанные созданным ключом с названиемdc1-dhcp1:
Получится:Блок кода grant dc1-dhcp1 wildcard * ANY;
Вверху страницы нажать на кнопку "Сохранить".
Выполнить предыдущий пункт и для обратной доменной зоны, добавив точно такое же правило политики в поле "Политика обновления BIND".Информация FreeIPA не работает с DHCID
Блок кода grant dc1-dhcp1 wildcard * ANY DHCID;
Настройка DHCP-сервера
Настройка DHCP-сервера:
Предполагается, что DHCP-сервер и DHCP-DDNS-сервер уже настроены в соответствии со статьёй "DHCP: служба kea".
- :
Получится:Блок кода grant dc1-dhcp1 wildcard * ANY;
Вверху страницы нажать на кнопку "Сохранить".
Выполнить инструкции этого пункта для обратной доменной зоны, добавив в поле "Политика обновления BIND" точно такое же правило.Информация Kea DHCP-DDNS-сервер создаёт на DNS-сервера в том числе записи типа DHCID, которые используются для идентификации DHCP-клиентов. Веб-интерфейс FreeIPA не отображает такие записи. Для их просмотра можно использовать консольные команды из состава 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= ...
Настройка Kea
Настройка DHCP-сервера
Предполагается, что DHCP-сервер совместно с DHCP-DDNS-сервером настроены на отправку динамических обновлений (см. статью "DHCP: служба kea").
Для настройки DHCP-сервера:
- В файле
/etc/kea/kea-dhcp4.confс настройками DHCP-сервера указать соответствующие значения:
- в глобальном параметреddns-qualifying-suffix– название домена;
- в блокеsubnet4– обслуживаемую сеть;
- в блокеpools– диапазон выдаваемых адресов:
В файлеБлок кода { "Dhcp4": { ... "ddns-qualifying-suffix": "ipa.lc", // Название домена. "subnet4": [ { "subnet": "192.168.0.0/24", // Обслуживаемая сеть. "interface": "enp0s3", "pools": [ { "pool": "192.168.0.200-192.168.0.222" // Диапазон выдаваемых адресов. }/etc/kea/kea-dhcp4.confв глобальном параметреddns-qualifying-suffixуказать название домена:Блок кода { "Dhcp4": { ... "ddns-qualifying-suffix": "ipa.lc", ] } // Название домена ], ... } }
- Проверить отсутствие синтаксических ошибок в конфигурационном файле конфигурационный файл DHCP-сервера на отсутствие синтаксических ошибок:
Command sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
- Перезапустить DHCP-сервер для применения настроек:
Command sudo systemctl restart kea-dhcp4-server
...
kea-dhcp4-server
Настройка DHCP-DDNS-сервера
Предполагается, что DHCP-DDNS-сервер совместно с DHCP-сервером настроены на отправку динамических обновлений (см. статью "DHCP: служба kea").
Чтобы DNS-сервер принимал динамические обновления от DHCP-DDNS-сервера, необходимо:
- создать для DHCP-DDNS-сервера
...
- TSIG-ключ, соответствующий ключу, который использует DNS-сервер;
- подписывать отправляемые обновления созданным ключом.
Для настройки DHCP-DDNS-сервера на отправку подписанных динамических обновлений:Предполагается, что DHCP-сервер и DHCP-DDNS-сервер уже настроены в соответствии со статьёй "DHCP: служба kea".
- В каталоге
/etc/kea/создать файл с произвольным названием<название_файла>. В файле сохранить описание TSIG-ключа:
гдеБлок кода "name": "<название_ключа>", "algorithm": "hmac-sha256", "secret": "<секрет_ключа>"
- <название_ключа> – должно в точности совпадать с названием ключа, используемого DNS-сервером;
- <секрет_ключа> – должен в точности с совпадать со значением параметраsecretв файле с ключом, используемого DNS-сервером.
Ограничить доступ к файлу с ключом:Command sudo chmod 640 /etc/kea/<название_файла>
sudo chown _kea:_kea /etc/kea/<название_файла>
Пример файла/etc/kea/dc1-dhcp1.keyс ключом, который соответствует вышесозданному ключу DNS-сервера:Блок кода "name": "dc1-dhcp1", "algorithm": "hmac-sha256", "secret": "cuF3/joQN1jNQeHbSJtt1eFpaRfludKEDeD/CaFjpg4=" - В файле
/etc/kea/kea-dhcp-ddns.confс настройками DHCP-DDNS-сервера указать соответствующие значения:
- в блокеtsig-keys– название файла путь к файлу с ключом;
- в блокеforward-ddns–название прямой доменной зоны, название ключа, IP-адрес FreeIPA-сервера;
- в блокеforward-ddns–название обратной доменной зоны, название ключа, IP-адрес FreeIPA-сервера:Блок кода { "DhcpDdns": { ... "tsig-keys": [ { <?include "/etc/kea/<название_файла_с_ключом>dc1-dhcp1.key"?> // Название файла, содержащегоПуть к файлу с TSIG-ключключом. } ], "forward-ddns" : { // Блок с настройками для обновления ПРЯМЫХ зон DNS-серверов. "ddns-domains": [ { "name": "ipa.lc.", // Название прямой доменной зоны (заканчивающееся точкой!) "key-name": "<название_ключа>dc1-dhcp1", // Название TSIG-ключа. "dns-servers": [ { "ip-address": "<IP-адрес_FreeIPA-сервера>", // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер, "port": 53 // обслуживающий зону "ipa.lc.". } ] } ] }, "reverse-ddns" : { // Блок с настройками для обновления ОБРАТНЫХ зон DNS-серверов. "ddns-domains": [ { "name": "60.168.192.10.in-addr.arpa.", // Название обратной доменной зоны (заканчивающееся точкой!) "key-name": "<название_ключа>dc1-dhcp1", // Название TSIG-ключа. "dns-servers": [ { "ip-address": "<IP-адрес_FreeIPA-сервера>", // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер, "port": 53 // обслуживающий зону "60.168.192.10.in-addr.arpa.". } ] } ] }, ... } } - Проверить отсутствие синтаксических ошибок в конфигурационном файле конфигурационный файл DHCP-DDNS-сервера на отсутствие синтаксических ошибок:
Command sudo kea-dhcp-ddns -t /etc/kea/kea-dhcp-ddns.conf
- Перезапустить DHCP-DDNS-сервер для применения настроек:
Command sudo systemctl restart kea-dhcp-ddns-server
...


