Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8).
Если IP-адреса выдаются компьютерам (контроллерам домена или клиентам домена) с помощью службы DHCP (см. статьи isc-dhcp-server и kea), то необходимо обеспечить сохранность настроек DNS, создаваемых при инициализации контроллера домена (вводе клиента в домен). Это можно сделать либо настройками службы DHCP (для клиентов), либо запретом получения параметров DNS от службы DHCP (для серверов).
Контроллер домена FreeIPA
Предполагается, что контроллер домена настроен в соответствии со статьёй "Контроллер ЕПП FreeIPA в Astra Linux".
Перед установкой FreeIPA необходимо обратить внимание на требования
Перед установкой добавить строку в /etc/hosts, содержащее полное доменное и короткое имя узла. При установке FreeIPA внесёт изменения и изменять вручную не надо.
192.168.0.105 dc1.ipa.lc dc1
Задать полное доменное имя узла
Установить FreeIPA:
FreeIPA работает только при выключенном режиме AstraMode в web-сервере Apache2. В /etc/apache2/apache2.conf измените значение параметра AstraMode on на off:
Перезапустить Apache2 для применения настроек:
Проинициализировать настройки FreeIPA с помощью инструмента командной строки:
sudo astra-freeipa-server -o -n <имя_узла> -d <название_домена>
sudo astra-freeipa-server -o -n dc1 -d ipa.lc
Команда отобразит исходные данные и запросит подтвердить начать инициализацию контроллера домена.
compname= dc1 domain= ipa.lc Сертификаты будут сгенерированы с помощью OpenSSL Обнаружен только один сетевой интерфейс. Будет использован сетевой интерфейс "enp0s3", имеющий динамический IP-адрес 192.168.0.105. продолжать ? (y\n)
Команда запросить задать пароль (не менее 8-символов?) для учётной записи администратора FreeIPA admin, которая будет использоваться для входа в web-интерфейс FreeIPA и при работе с инструментом командной строки.
введите пароль администратора домена (login: admin):
После повторного ввода пароля начнётся процесс первоначальной настройки FreeIPA.
После успешной инициализации отобразится web-ссылка для открытия в web-интерфейса FreeIPA.
... ipa: INFO: The ipactl command was successful Завершено. Для продолжения работы, необходимо перезагрузить компьютер! Обнаружен настроенный домен ipa.lc WEB: https://dc1.ipa.lc
Настройка DNS-сервера BIND
DNS-сервер BIND входит в состав контроллера домена и управляется им же.
Необходимо создать TSIG-ключ, который будет использоваться для подписания динамических обновлений записей зон DNS-сервера.
Для безопасности все сообщения между DNS-сервером и DHCP-DDNS-сервером подписываются общим TSIG-ключом. DNS-сервер будет игнорировать запросы на обновления, не подписанные ключом.
Для настройки DNS-сервера на работу с динамическими обновлениями:
- В каталоге
/etc/bind/создать файл с TSIG-ключом, ограничить доступ к файлу:где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: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 не изменяется во время обновления FreeIPAinclude "/etc/bind/dc1-dhcp1.key";
- Проверить отсутствие синтаксических ошибок в конфигурационных файлах DNS-сервера:sudo named-checkconf
- Перезапустить FreeIPA для применения настроек DNS-сервера:sudo ipactl restart
- Разрешить динамические обновления требуемых доменных зон для DNS-клиентов, обладающих TSIG-ключом.
Для этого в веб-интерфейсе FreeIPA открыть страницу "Сетевые службы → DNS → Зоны DNS".
Откроется страница со списком доменных зон:
На странице выбрать зону, для которой необходимо включить динамические обновления. Перейти на вкладку "Параметры".
Откроется страница:
Внизу страницы в поле "Политика обновления BIND" добавить текст, содержащий политику с названием ключа.:FreeIPA не работает с DHCIDgrant dc1-dhcp1 wildcard * ANY;
grant dc1-dhcp1 wildcard * DHCID;
Получится:
Вверху страницы нажать на кнопку "Сохранить".
Повторить этот пункт для всех (для обратной) доменных зон, которым требуются включить динамические обновления.
Настройка DHCP-сервера
Настройка DHCP-сервера:
Предполагается, что DHCP-сервер и DHCP-DDNS-сервер уже настроены в соответствии со статьёй "DHCP: служба kea".
- В файле
/etc/kea/kea-dhcp4.confв глобальном параметреddns-qualifying-suffixуказать название домена:{ "Dhcp4": { ... "ddns-qualifying-suffix": "ipa.lc", // Название домена ... } } - Проверить отсутствие синтаксических ошибок в конфигурационном файле DHCP-сервера:sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
- Перезапустить DHCP-сервер для применения настроек:sudo systemctl restart kea-dhcp4-server
Настройка DHCP-DDNS-сервера
Предполагается, что DHCP-сервер и DHCP-DDNS-сервер уже настроены в соответствии со статьёй "DHCP: служба kea".
- В каталоге
/etc/kea/создать файл с произвольным названием<название_файла>. В файле сохранить описание TSIG-ключа:где"name": "<название_ключа>", "algorithm": "hmac-sha256", "secret": "<секрет_ключа>"
- <название_ключа> – должно в точности совпадать с названием ключа, используемого DNS-сервером;
- <секрет_ключа> – должен в точности с совпадать со значением параметраsecretв файле с ключом, используемого DNS-сервером.
Ограничить доступ к файлу с ключом: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/<название_файла_с_ключом>"?> // Название файла, содержащего TSIG-ключ. } ], "forward-ddns" : { // Блок с настройками для обновления ПРЯМЫХ зон DNS-серверов. "ddns-domains": [ { "name": "ipa.lc.", // Название прямой доменной зоны "key-name": "<название_ключа>", // Название TSIG-ключа. "dns-servers": [ { "ip-address": "<IP-адрес_FreeIPA-сервера>", // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер, "port": 53 // обслуживающий зону "ipa.lc.". } ] } ] }, "reverse-ddns" : { // Блок с настройками для обновления ОБРАТНЫХ зон DNS-серверов. "ddns-domains": [ { "name": "6.192.10.in-addr.arpa.", // Название обратной доменной зоны "key-name": "<название_ключа>", // Название TSIG-ключа. "dns-servers": [ { "ip-address": "<IP-адрес_FreeIPA-сервера>", // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер, "port": 53 // обслуживающий зону "6.192.10.in-addr.arpa.". } ] } ] }, ... } } - Проверить отсутствие синтаксических ошибок в конфигурационном файле DHCP-DDNS-сервера:sudo kea-dhcp-ddns -t /etc/kea/kea-dhcp-ddns.conf
- Перезапустить DHCP-DDNS-сервер для применения настроек:sudo systemctl restart kea-dhcp-ddns-server


