Установка Avanpost DS на контроллер домена Astra 1.8

ВАЖНО!

Контроллеры в пределах одного домена должны быть развернуты на одинаковых ОС.

ВАЖНО!

У каждого контроллера должен быть статический ip адрес.
В качестве DNS сервера на каждом контроллере необходимо указать 127.0.0.1

ВАЖНО!

Установка серверной части Avanpost DS на ОС ASTRA с графической оболочкой FLY не поддерживается. При установке PowerDNS данная оболочка перестает работать и ломает ОС.

Для установки Avanpost DS Server на контроллер домена под управлением ОС Astra 1.8 требуется выполнить шаги:

Шаг 1. Обновить список пакетов.

Для этого необходимо выполнить команду:

sudo apt update

Шаг 2. Задать имя сервера.

Для этого необходимо:

2.1. Выполнить команды по шаблону:

Шаблон
sudo hostnamectl set-hostname [FQDN]
sudo sed -i "1i 127.0.0.1 $(hostname)" /etc/hosts

Заменить [FQDN] на желаемое полное доменное имя сервера (FQDN), на котором производится установка.

В примере задается hostname "ds01.avanpost.local".

Пример
sudo hostnamectl set-hostname ds01.avanpost.local
sudo sed -i "1i 127.0.0.1 $(hostname)" /etc/hosts

2.2. В конфигурационном файле "/etc/hosts" указать в первой строке значение "127.0.0.1 [FQDN]".

Пример /etc/hosts
127.0.0.1 ds01.avanpost.local   #127.0.0.1 [FQDN]
127.0.0.1 localhost

Шаг 4. Установить необходимые пакеты.

Для этого необходимо выполнить команды:

sudo apt update
sudo apt install nginx xmlsec1 libxmlsec1-openssl wget krb5-user libsasl2-modules-gssapi-mit acl ssh sssd libsss-sudo

Шаг 5. Скачать и установить пакет Avanpost DS актуальной версии.

Для этого необходимо выполнить команды:

sudo dpkg -i Avanpost.DS.Server.Linux-*.amd64.deb

Скачать пакет можно по ссылке: https://packages.avanpost.ru/#browse/browse:ds-dists:master

Шаг 6. Заполнить конфигурационный файл Avanpost DS.

Для этого необходимо:

6.1. Открыть для редактирования файл конфигурации Avanpost DS "/opt/avanpost/ads/config/config.yaml".

sudo nano /opt/avanpost/ads/config/config.yaml

6.2. Заполнить открывшийся файл по шаблону:

Шаблон /opt/avanpost/ads/config/config.yaml
baseDN: dc=[Домен2ур],dc=[Домен1ур]#имя корня домена в формате DN
host_ip_addr: [IP-АДРЕС] #адрес контроллера домена
host_name_fqdn: [FQDN] #полное доменное имя (FQDN) контроллера домена
 
# ldaps:
#   cert: #сертификат для использования сервером ldaps
#   key: #ключ сертификата для использования сервером ldaps

repl:
  single_host: true #для первого контроллера в домене устанавливается "true", для всех последующих - "false"

Заменить в строке 1 [Домен1ур] на свой домен первого уровня, а [Домен2ур] — на свой домен второго уровня.

Заменить в строкe 2 [IP-АДРЕС] на IP адрес сервера, где производится установка.

Заменить в строке 3 [FQDN] на полное доменное имя (FQDN) сервера, на котором производится установка.

В строке 10 необходимо установить значение:

  • true – в случае настройки первого контроллера домена;
  • false – в случае настройки второго и последующих контроллеров домена.
Пример заполненного файла /opt/avanpost/ads/config/config.yaml
baseDN: dc=avanpost,dc=local #имя корня домена в формате DN
host_ip_addr: 192.168.1.11 #адрес контроллера домена
host_name_fqdn: ds01.avanpost.local #полное доменное имя (FQDN) контроллера домена
 
# ldaps:
#   cert: #сертификат для использования сервером ldaps
#   key: #ключ сертификата для использования сервером ldaps

repl:
  single_host: true #для первого контроллера в домене устанавливается "true", для всех последующих - "false"

Примечание:

Подробнее о настройке конфигурационного файла Avanpost DS см. статью "4.4.1. Конфигурационный файл Avanpost DS "config.yaml"" руководства по развертыванию Avanpost DS.

Шаг 7. Установить права для пользователя ads на директорию "/opt/avanpost".

Для этого необходимо выполнить команду:

sudo chown -R ads:ads /opt/avanpost

Шаг 8. Запустить сервис "ads" и проверить его работу.

Для этого необходимо выполнить команды:

sudo systemctl enable --now ads
sudo systemctl status ads
Пример корректного вывода команды
[root@ds02 ~]# sudo systemctl status ads
● ads.service - Avanpost Directory Service
Loaded: loaded (/etc/systemd/system/ads.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-01-29 11:03:58 MSK; 3s ago
Main PID: 10627 (ads)
Tasks: 6 (limit: 10673)
Memory: 47.8M
CPU: 252ms
CGroup: /system.slice/ads.service
└─10627 /opt/avanpost/ads/cmd/ads/ads

Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 License manager: Found 1 users, 19 objects
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 start KDC UDP listening: [::]:88
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 start KDC TCP listening: [::]:88
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 start chpw UDP listening: [::]:464
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 start chpw TCP listening: [::]:464
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 Listening LDAP on 0.0.0.0:389
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 Http listening on 0.0.0.0:4008
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 Listening LDAP on 0.0.0.0:636
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 Listening DSCliServer on 0.0.0.0:7890
Jan 29 11:03:58 ds02.avanpost.local ads[10627]: 2025/01/29 11:03:58 Client listening on 0.0.0.0:8080

Шаг 9. Запустить первичную репликацию и добавить новый контроллер домена в существующую топологию. (Только для вторичных контроллеров домена)

Внимание!

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

Для этого необходимо выполнить команду, подставив свои значения в шаблон:

Шаблон команды
/opt/avanpost/tools/cli/cli add-instance --host [IP2] --name [FQDN2] --endpoint [IP1]:48910 --user [ADMIN_USER] --password [ADMIN_PASSWORD]

Заменить [ADMIN_USER] и [ADMIN_PASSWORD] на реквизиты учетной записи пользователя с правами добавления контроллеров, по умолчанию это Administrator:Avanp0st

Заменить [IP2] на IP-адрес нового контроллера.

Заменить [IP1] на IP-адрес первичного(основного) контроллера.

Заменить [FQDN2] на FQDN нового контроллера.

Пример команды
/opt/avanpost/tools/cli/cli add-instance --host 192.168.1.12 --name ds02.avanpost.local --endpoint 192.168.1.11:48910 --user Administrator --password Avanp0st

Шаг 10. Ввести контроллер в домен.

Для этого необходимо выполнить команду по шаблону:

Шаблон команды
sudo /opt/avanpost/dscli/dscli joindc -domain [Домен2ур].[Домен1ур] -login [Логин]

Заменить [Домен1ур] на свой домен первого уровня, а [Домен2ур] — на свой домен второго уровня.

Заменить [Логин] на логин пользователя с правами администратора Avanpost DS.

Подробнее о создании пользователей в веб-интерфейсе администратора см. статью "6.2. Управление Пользователями".

Пример команды
sudo /opt/avanpost/dscli/dscli joindc -domain avanpost.local -login lipov

Шаг 11. Перезапустить сервис "ads".

Для этого необходимо выполнить команду:

sudo systemctl restart ads.service

Шаг 12. Опубликовать интерфейс системы на веб-сервере Nginx.

Для этого необходимо:

12.1. Создать конфигурационный файл "ads.conf"

sudo nano /etc/nginx/conf.d/ads.conf

12.2. Открывшийся файл необходимо заполнить по шаблону:

Шаблон ads.conf
server {
    listen        80;
    server_name   [FQDN];
    location / {
        proxy_pass       http://127.0.0.1:8080;
        proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Заменить в строке 3 [FQDN] на полное доменное имя (FQDN) сервера, на котором производится установка. (В примере: "ds01.avanpost.local")

Пример заполненного ads.conf
server {
    listen        80;
    server_name   ds01.avanpost.local;
    location / {
        proxy_pass       http://127.0.0.1:8080;
        proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Рекомендуется использовать подключение по протоколу HTTPS с использованием SSL-сертификатов, выданных вашим удостоверяющим центром.

Пример заполненного ads.conf для HTTPS
server {
    listen       443 ssl;
    server_name  ds01.avanpost.local;
    ssl_certificate     /opt/ds01.avanpost.local.crt;
    ssl_certificate_key /opt/ds01.avanpost.local.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_pass       http://127.0.0.1:8080;
        proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

12.3. Проверить целостность конфигурации.

sudo nginx -t
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful

12.4. Включить автоматический запуск и запустить сервис "nginx". Затем проверить, что он запущен.

sudo systemctl enable --now nginx
sudo systemctl status nginx

Шаг 13. Для проверки зайти в веб-интерфейс администратора Avanpost DS.

Для доступа к веб-интерфейсу администратора Avanpost DS необходимо в строке браузера ввести адрес:

http://[имя_контроллера_домена]

Например, http://ds01.avanpost.local

Должна открыться страница авторизации в административную консоль.

Так же можно войти в веб-интерфейс по IP адресу контроллера домена, например:

192.168.1.11

Веб-интерфейс работает на порте 8080

После ввода реквизитов учётной записи должна открыться административная консоль системы.

Для первого входа необходимо использовать учетные данные:

Логин: Administrator

Пароль: Avanp0st

Шаг 14. Добавить директории Avanpost DS в исключения антивируса.

Если на контроллере домена используется антивирус, то для обеспечения корректной работы и быстродействия Avanpost DS требуется добавить в исключения директории, содержащие БД и логи:

  • /opt/avanpost/ads/data
  • /opt/avanpost/ads/ds-logs

Шаг 15. Настроить DNS-сервер.

Для настройки DNS-сервера требуется выполнить действия по одной из инструкций:

После выполнения всех шагов развертывание Avanpost DS на контроллере завершено.

Можно переходить к разворачиванию Avanpost DS на следующем контроллере или к Этапу 2 "Интеграция Avanpost DS с прикладными системами".

Обсуждение