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

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

При выполнении приведенных ниже инструкций на виртуальных машинах рекомендуется выделить машинам достаточное количество ресурсов:

  • не менее 2ГБ ОЗУ (при использовании удостоверяющего центра DogTag - не менее 4ГБ).

Недостаток ресурсов ведет к сложно диагностируемым случайным ошибкам.

Важно!

Службы FreeIPA крайне чувствительны к правильным настройкам параметров операционной системы. Даже при запуске FreeIPA в тестовом режиме следует придерживаться приведенных ниже правил.

  1. Установку FreeIPA (реплик FreeIPA) выполнять на чистой ОС, на которой ранее не были установлены другие сервисы.
  2. Перед установкой убедиться, что установлены последние обновления безопасности, и обеспечить их установку.
  3. Работа FreeIPA в Astra Linux Special Edition c включенным МКЦ осуществляется только при отключенном режиме AstraMode web-сервера Apache2.

Добавление реплики к настроенному серверу

Исходные данные и план действий

Имеется настроенный и работающий сервер FreeIPA (см. Контроллер ЕПП FreeIPA в Astra Linux):

  • сервер может быть настроен:
    • с использованием службы сертификатов DogTag (ситуация, характерная для Astra Linux Common Edition);
    • без использования службы DogTag (ситуация, характерная для Astra Linux Special Edition);
  • IP-адрес сервера 10.0.2.102; 
  • полное доменное имя (FQDN) сервера ipa.ipadomain.ru;
  • имя администратора сервера FreeIPA admin;

Добавляться будет реплика сервера FreeIPA:

  • с адресом 10.0.2.103;
  • с FQDN replica.ipadomain.ru;

Для добавления реплики будут выполнены следующие действия:

  • устанавливаются необходимые пакеты;
  • будущий сервер реплики вводится в домен как клиент;
  • если служба DogTag не используется, то:

    • на работающем сервере создаются ключ и сертификат для реплики;

    • ключ и сертификат копируются на сервер реплики; 
  • регистрируется реплика на основном сервере FreeIPA;
  • настраивается реплика на сервере-реплике;

Подготовка основного сервера

  1. Проверить работоспособность FreeIPA, получив билет Kerberos:

    kinit admin

  2. Зарегистрировать будущую реплику, создав реверсивную запись с её адресом. Для этого:


    1. Войти в WEB-интерфейс FreeIPA:

      "Сетевые службы" => "DNS" => "Зоны DNS"
    2. Проверить, что:

      1. При настройке DNS в процессе инициализации FreeIPA создана обратная зона DNS 2.0.10.in-addr.arpa.:


      2. В обратной зоне создана реверсивная запись для основного сервера 10.0.2.102:

      3. Если записи реверсивной зоны или реверсивной записи основного сервера FreeIPA нет - создать запись вручную.
      4. В реверсивной зоне вручную создать реверсивную запись для сервера репликации:

        • Кнопка "Добавить"
        • Имя записи 103 (адрес сервера репликации 103 в сети без адреса сети 10.0.2.0/24)
        • Тип записи "PTR" (реверсивная запись)
        • В поле Hostname указываем имя сервера replica.ipadomain.ru.

          Обязательно ставить точку в конце имени!
        • Кнопка "Добавить"

        Реверсивные записи для серверов репликации можно добавлять из командной строки, выполняя на основном сервере команды вида:

        Точка в конце имени сервера обязательна.

        sudo ipa dnsrecord-add 2.0.10.in-addr.arpa 103 --ptr-rec "replica.ipadomain.ru."

        Дополнительно (не обязательно) можно создать запись A для сервера репликации в прямой зоне домена. Если такой записи не будет, то далее при вводе сервера репликации в домен будет выдано предупреждение о возможной нестабильности работы из-за отсутствия A/AAAA записи. Предупреждение некритичное, все нужные записи будут созданы автоматически в процессе  добавления клиента в домен.

    3. Если на сервере не используется центр сертификации DogTag, то выпустить сертификат для  используя astra-freeipa-server-crt - инструмент для создания и обновления сертификатов FreeIPA или  XCA: графический инструмент для работы с сертификатами и ключевыми носителями.

Настройка сервера реплики

  1. Настроить полное имя сервера (FQDN). Для примера используется имя replica.ipadomain.ru:

    hostnamectl set-hostname replica.ipadomain.ru

  2. Настроить разрешение имен:

    1. В файле /etc/hosts

      10.0.2.103 replica.ipadomain.ru replica

      Настроить стек IPv6 в соответствии с рекомендациями;
    2. С помощью графического инструмента NetworkManager настроить статический IP-адрес 10.0.2.103 и адрес сервера DNS 10.0.2.102.

    3. Перезапустить сетевой интерфейс, чтобы изменения вступили в силу.

  3. Установить инструменты для запуска и настройки:

    apt install astra-freeipa-server astra-freeipa-client

  4. Ввести машину в домен FreeIPA, указав имя домена к которому нужно подключаться (команда инициализации может сама ввести машины в домен, однако для упрощения диагностики рекомендуется выполнить ввод отдельно):

    astra-freeipa-client -d ipadomain.ru

  5. Инициализировать реплику (потребуется пароль администратора домена):

    1. Для Astra Linux Common Edition и для Astra Linux Special Edition с установленной службой DogTag:

      astra-freeipa-replica --dogtag

    2. Для Astra Linux Special Edition без установленной службы DogTag требуется предварительно выпустить сертификат и перенести его на сервер-реплику, после чего можно использовать команду:

      astra-freeipa-replica -a replica.p12 --pin 12345678
      где replica.p12 - файл с сертификатом, в 12345678 - пароль (PIN-код) к этому сертификату.


Проверка успеха инициализации реплики

Сервер-реплика должен появиться в группе серверов ipaservers (перед выполнением команды следует получить билет Kerberos):

kinit admin
ipa hostgroup-show ipaservers
Примерный ответ команды:

Группа узлов: ipaservers
Описание: IPA server hosts
Узлы-участники: ipa.ipadomain.ru, replica.ipadomain.ru

В WEB-интерфейсе FreeIPA сервер-реплика должен появиться в топологии ("Сервер IPA"  => "Топология" => "Topology Graph"):


Удаление реплики

Для удаления реплики:

  1. На любой машине в домене, кроме удаляемой:
    1. При использовании web-интерфейса FreeIPA:
      1. С помощью браузера подключиться к WEB-интерфейсу любой реплики, кроме удаляемой.
      2. Авторизоваться в web-интерфейсе от имени администратора домена.
      3. Открыть список серверов:  "IPA-сервер" → "Топология".
      4. Открыть форму с информацией про удаляемый сервер.
      5. Нажать кнопку "Удалить сервер".
      6. Перейти во вкладку "Сетевые службы" → "DNS" → "Зоны DNS" и выбрать прямую зону (её имя совпадает с именем домена). 
      7. Удалить записи, относящиеся к удаленному серверу.
    2. При использовании командной строки:
      1. Получить билет Kerberos администратора домена.
      2. Удалить реплику:

        ipa server-del <имя_сервера_реплики>

      3. Удалить записи DNS в прямой зоне:

        ipa dnsrecord-del <имя_домена> <короткое_имя_сервера> --del-all
        где <короткое_имя_сервера> — имя удаляемого сервера без доменной составляющей.

  2. На удаляемой машине:
    1. Рекомендованным вариантом является переустановка операционной системы (откат снимка LVM, если он был сделан).
    2. При невозможности применения рекомендованного варианта:
      1. Выполнить команду:
        sudo astra-freeipa-server -U
      2. Подтвердить выполнение команды.
      3. Удалить ненужные пакеты, например:

        sudo apt purge astra-freeipa-server astra-freeipa-client sssd krb5-kdc krb5-pkinit apache2 bind9 --autoremove