| Секция | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Если 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:
Указать в настройках DNS-сервера расположение файла с TSIG-ключом.Блок кода key "dc1-dhcp1" { algorithm hmac-sha256; secret "cuF3/joQN1jNQeHbSJtt1eFpaRfludKEDeD/CaFjpg4="; };
Для этого добавить в файл/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. Для их просмотра необходимо использовать консольные команды из состава Bind, например
Вывод команды:
|
Настройка DHCP-сервера
Настройка DHCP-сервера:
Предполагается, что DHCP-сервер и DHCP-DDNS-сервер уже настроены в соответствии со статьёй "DHCP: служба kea".
- -сервер и 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-сервера на отсутствие синтаксических ошибок:
Command sudo named-checkconf
- Перезапустить FreeIPA для применения настроек DNS-сервера:
Command sudo ipactl restart
- Разрешить динамические обновления прямой и обратной доменных зон для запросов, подписанных TSIG-ключом.
Для этого в веб-интерфейсе FreeIPA открыть страницу "Сетевые службы → DNS → Зоны DNS".
Откроется страница со списком доменных зон:
На странице выбрать прямую зонуipa.lc, перейти на вкладку "Параметры".
Откроется страница:
Внизу страницы в поле "Политика обновления BIND" добавить правило политики, которое разрешает принимать обновления, подписанные созданным ключом с названиемdc1-dhcp1:
Получится:Блок кода 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" // Диапазон выдаваемых адресов. } ] } ], ... } } - Проверить конфигурационный файл DHCP-сервера на отсутствие синтаксических ошибок
- В файле
/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
...


