| Секция | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Если IP-адреса выдаются компьютерам (контроллерам домена или клиентам домена) с помощью службы DHCP (см. статьи isc-dhcp-server и kea), то необходимо обеспечить сохранность настроек DNS, создаваемых при инициализации контроллера домена (вводе клиента в домен). Это можно сделать либо настройками службы DHCP (для клиентов), либо запретом получения параметров DNS от службы DHCP (для серверов).
...
Предварительная настройка контроллера домена FreeIPA
Предполагается, что контроллер домена настроен в соответствии со статьёй "Контроллер ЕПП FreeIPA в Astra Linux" и имеет параметры:
- IP-адрес узла с FreeIPA – 192.168.0.105;
- название домена – ipa.lc;
- имя узла:
- краткое – dc1;
- полное доменное – dc1.ipa.lc.
| Раскрыть | ||
|---|---|---|
| ||
|
...
Порядок настройки FreeIPA с вышеуказанными параметрами контроллера домена:
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
| ||
sudo astra-freeipa-server -o -n <имя_узла> -d <название_домена>
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
Настройка DNS-сервера BIND
DNS-сервер BIND входит в состав контроллера домена и управляется им же управляется.Необходимо
Чтобы DNS-сервер принимал динамические обновления, необходимо:
- создать TSIG-ключ
...
- ;
- добавить правило к политике обновления BIND, разрешающее получать обновления, которые подписаны созданным TSIG-ключом.
Для настройки 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-ключом.
Для этого в файле Указать в настройках DNS-сервера расположение файла с TSIG-ключом.
Для этого добавить в файл/etc/bind/ipa-ext.confстроку:
Для BIND из состава FreeIPA: файлБлок кода include "/etc/bind/dc1-dhcp1.key";/etc/bind/namedipa-ext.conf.local:
- добавить параметрinclude, в котором указать путь к файлу с ключом;
- в настройках зон добавить параметрallow-update, содержащий параметрkeyс названием ключа.
Пример файла предназначен для хранения пользовательских настроек и не изменяется во время обновления 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-сервера на отсутствие синтаксических ошибок:
Command sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
- Перезапустить DHCP-сервер для применения настроек:
Command sudo systemctl restart kea-dhcp4-server
Настройка DHCP-DDNS-сервера
Предполагается, что DHCP-DDNS-сервер совместно с DHCP-сервером настроены на отправку динамических обновлений (см. статью "DHCP: служба kea").
Чтобы DNS-сервер принимал динамические обновления от DHCP-DDNS-сервера, необходимо:
- создать для DHCP-DDNS-сервера TSIG-ключ, соответствующий ключу, который использует DNS-сервер;
- подписывать отправляемые обновления созданным ключом.
Для настройки DHCP-DDNS-сервера на отправку подписанных динамических обновлений:
- В каталоге
/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"?>/etc/bind/named.conf.local, в котором заданы зоныlocalnet.example.ruи6.192.10.in-addr.arpa, поддерживающие динамические обновления:Блок кода include "/etc/bind/dhcp1-dns1.key"; #// Путь к файлу, содержащемус TSIG-ключ zone "localnet.example.ru"ключом. } ], "forward-ddns" : { // Блок с настройками для обновления ПРЯМЫХ зон DNS-серверов. "ddns-domains": [ { type master; "name": "ipa.lc.", // Название прямой доменной зоны (заканчивающееся # file "/etc/bind/zones/db.localnet.example.ru";точкой!) "key-name": "dc1-dhcp1", // Название TSIG-ключа. "dns-servers": [ # allow-update { key "dhcp1-dns1"; }; { "ip-address": "<IP-адрес_FreeIPA-сервера>", // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер, "port": 53 // обслуживающий зону "ipa.lc.". # Принимаются только те обновления, которые подписаны TSIG-ключом "dhcp1-dns1" }; zone "6.192.10 } ] } ] }, "reverse-ddns" : { // Блок с настройками для обновления ОБРАТНЫХ зон DNS-серверов. "ddns-domains": [ { "name": "0.168.192.in-addr.arpa." { type master; , // Название обратной доменной зоны (заканчивающееся точкой!) "key-name": "dc1-dhcp1", // Название TSIG-ключа. # file "/etc/bind/zones/db.6.192.10"; "dns-servers": [ # allow-update { key "dhcp1-dns1"; }; { "ip-address": "<IP-адрес_FreeIPA-сервера>", // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер, # Принимаются только те обновления, которые подписаны TSIG-ключом "dhcp1-dns1" };
- Проверить отсутствие синтаксических ошибок в конфигурационных файлах DNS-сервера:
Command sudo named-checkconf
"port": 53 // обслуживающий зону "0.168.192.in-addr.arpa.". } ] } ] }, ... } }- Проверить конфигурационный файл DHCP-DDNS-сервера на отсутствие синтаксических ошибок:
Command sudo kea-dhcp-ddns -t /etc/kea/kea-dhcp-ddns.conf
- Перезапустить DHCP-DDNSПерезапустить DNS-сервер для применения настроек:
Добавить в файл /etc/bind/ipa-ext.conf, который не изменяется во время обновления FreeIPA
Command sudo systemctl restart kea-dhcp-ddns-server
...


