Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8).

1. Предварительная настройка контроллера домена FreeIPA

Предполагается, что контроллер настроен в соответствии со статьёй "Контроллер ЕПП FreeIPA в Astra Linux" и имеет параметры:

  • IP-адрес узла с FreeIPA – 192.168.0.105;
  • название домена – ipa.lc;
  • имя узла:
    - краткое – dc1;
    - полное доменное – dc1.ipa.lc.


Перед установкой FreeIPA необходимо обратить внимание на технические и программные требования к компьютеру, на котором устанавливается контроллер домена.

Порядок настройки FreeIPA с вышеуказанными параметрами контроллера домена:

  1. Добавить в файл /etc/hosts строку, содержащую IP-адрес, полное доменное и краткое имя узла:
    192.168.0.105 dc1.ipa.lc dc1
    В дальнейшем не следует вручную изменять файл /etc/hosts, т.к. его содержимым будет управлять FreeIPA.

  2. Задать полное доменное имя узла:
    sudo hostnamectl hostname dc1.ipa.lc
  3. Установить FreeIPA:
    sudo apt install fly-admin-freeipa-server astra-freeipa-server
  4. FreeIPA работает только при выключенном режиме AstraMode веб-сервера Apache2.
    Для выключения режима в файле /etc/apache2/apache2.conf задать параметру AstraMode значение off:

    sudo sed -i 's/^.*AstraMode\s*.*/AstraMode off/' /etc/apache2/apache2.conf

    И перезапустить веб-сервер Apache2 для применения настроек:

    sudo systemctl restart apache2
  5. Проинициализировать контроллер FreeIPA с помощью команды:

    sudo astra-freeipa-server -o -n dc1 -d ipa.lc

    Команда выведет исходные данные для инициализации и запросит подтвердить продолжение процедуры:

    compname= dc1
    domain= ipa.lc
    Сертификаты будут сгенерированы с помощью OpenSSL
     Обнаружен только один сетевой интерфейс.
     Будет использован сетевой интерфейс "enp0s3", имеющий динамический IP-адрес 192.168.0.105.
    продолжать ? (y\n)

    Далее команда запросит задать пароль (с его подтверждением) для учётной записи администратора FreeIPA:

    введите пароль администратора домена (login: admin):
    

    После успешной инициализации отобразится ссылка для открытия веб-интерфейса FreeIPA:

    ...
    ipa: INFO: The ipactl command was successful
    Завершено.
    Для продолжения работы, необходимо перезагрузить компьютер!
    Обнаружен настроенный домен ipa.lc
    WEB: https://dc1.ipa.lc
    
  6. Перезагрузить компьютер с контроллером домена.

2. Настройка DNS-сервера BIND

DNS-сервер BIND входит в состав контроллера домена и им же управляется.


Чтобы DNS-сервер принимал динамические обновления, необходимо:

  • создать TSIG-ключ;
  • добавить правило к политике обновления BIND, разрешающее получать обновления, которые подписаны созданным TSIG-ключом.


Для настройки DNS-сервера на работу с динамическими обновлениями:

  1. В каталоге /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=";
    };
  2. Указать в настройках DNS-сервера расположение файла с TSIG-ключом.
    Для этого добавить в файл /etc/bind/ipa-ext.conf строку:
    include "/etc/bind/dc1-dhcp1.key";
    Для BIND из состава FreeIPA: файл /etc/bind/ipa-ext.conf предназначен для хранения пользовательских настроек и не изменяется во время обновления FreeIPA.

  3. Проверить конфигурационные файлы DNS-сервера на отсутствие синтаксических ошибок:
    sudo named-checkconf
  4. Перезапустить FreeIPA для применения настроек DNS-сервера:
    sudo ipactl restart
  5. Разрешить динамические обновления прямой и обратной доменных зон для запросов, подписанных TSIG-ключом. 
    Для этого в веб-интерфейсе FreeIPA открыть страницу "Сетевые службы → DNS → Зоны DNS".
    Откроется страница со списком доменных зон:

    На странице выбрать прямую зону ipa.lc, перейти на вкладку "Параметры".
    Откроется страница:

    Внизу страницы в поле "Политика обновления BIND" добавить правило политики, которое разрешает принимать обновления, подписанные созданным ключом с названием dc1-dhcp1:
    grant dc1-dhcp1 wildcard * ANY;
    Получится:

    Вверху страницы нажать на кнопку "Сохранить".

    Выполнить инструкции этого пункта для обратной доменной зоны, добавив в поле  "Политика обновления BIND" точно такое же правило.

    Kea DHCP-DDNS-сервер создаёт на DNS-сервера в том числе записи типа DHCID, которые используются для идентификации DHCP-клиентов. Веб-интерфейс FreeIPA не отображает такие записи. Для их просмотра можно использовать консольные команды из состава BIND, например dig:

    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=
    ...

3. Настройка Kea

3.1. Настройка DHCP-сервера

Предполагается, что DHCP-сервер совместно с DHCP-DDNS-сервером настроены на отправку динамических обновлений (см. статью "DHCP: служба kea").


Для настройки DHCP-сервера:

  1. В файле /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"            // Диапазон выдаваемых адресов.
            }
            ]
        }
        ],
        ...
    }
    }
  2. Проверить конфигурационный файл DHCP-сервера на отсутствие синтаксических ошибок:
    sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
  3. Перезапустить DHCP-сервер для применения настроек:
    sudo systemctl restart kea-dhcp4-server

3.2. Настройка DHCP-DDNS-сервера

Предполагается, что DHCP-DDNS-сервер совместно с DHCP-сервером настроены на отправку динамических обновлений (см. статью "DHCP: служба kea").


Чтобы DNS-сервер принимал динамические обновления от DHCP-DDNS-сервера, необходимо:

  • создать для DHCP-DDNS-сервера TSIG-ключ, соответствующий ключу, который использует DNS-сервер;
  • подписывать отправляемые обновления созданным ключом.


Для настройки DHCP-DDNS-сервера на отправку подписанных динамических обновлений:

  1. В каталоге /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="
  2. В файле /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": "0.168.192.in-addr.arpa.",               // Название обратной доменной зоны (заканчивающееся точкой!)
                "key-name": "dc1-dhcp1",                         // Название TSIG-ключа. 
                "dns-servers": [                                 
                {                                                
                    "ip-address": "<IP-адрес_FreeIPA-сервера>",  // IP-адрес FreeIPA-сервера, вместе с которым работает и DNS-сервер,
                    "port": 53                                   //     обслуживающий зону "0.168.192.in-addr.arpa.".
                }                                                
                ]                                                
            }
            ]
        },
        ...
    }
    }
  3. Проверить конфигурационный файл DHCP-DDNS-сервера на отсутствие синтаксических ошибок:
    sudo kea-dhcp-ddns -t /etc/kea/kea-dhcp-ddns.conf
  4. Перезапустить DHCP-DDNS-сервер для применения настроек:
    sudo systemctl restart kea-dhcp-ddns-server


  • Нет меток