ВАЖНО!
Контроллеры в пределах одного домена должны быть развернуты на одинаковых ОС.
ВАЖНО!
У каждого контроллера должен быть статический ip адрес.
В качестве DNS сервера на каждом контроллере необходимо указать 127.0.0.1
Для установки Avanpost DS Server на контроллер домена под управлением ОС RedOS требуется выполнить шаги:
Шаг 1. Обновить список пакетов.
Для этого необходимо выполнить команду:
sudo dnf makecache
Шаг 2. Задать имя сервера.
Для этого необходимо:
2.1. Выполнить команды по шаблону:
sudo hostnamectl set-hostname [FQDN] sudo sed -i "1i 127.0.0.1 $(hostname -f)" /etc/hosts
Заменить [FQDN] на желаемое полное доменное имя сервера (FQDN), на котором производится установка.
В примере задается hostname "ds01.avanpost.local".
sudo hostnamectl set-hostname ds01.avanpost.local sudo sed -i "1i 127.0.0.1 $(hostname -f)" /etc/hosts
2.2. В конфигурационном файле "/etc/hosts" указать в первой строке значение "127.0.0.1 [FQDN]".
sudo nano /etc/hosts
127.0.0.1 ds01.avanpost.local #127.0.0.1 [FQDN] #127.0.0.1 localhost [::1] ds01.avanpost.local
Шаг 3. Установить необходимые пакеты.
Для этого необходимо выполнить команду:
sudo dnf install openssl tar nginx xmlsec1 xmlsec1-openssl wget curl cyrus-sasl-gssapi sssd authselect-compat mesa-libGL pam_krb5
ВАЖНО!
Для серверной версии Redos 8 необходимо установить пакет с зависимостями "krb5-workstation", иначе не будет работать "kinit", "klist".
Шаг 4. Перевести SELinux в режим "permissive" и перезагрузить сервер.
Для этого необходимо выполнить команды:
sudo sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config reboot
Если требуется оставить SELinux включенным, то необходимо разрешить на нем нужные порты для сервиса "PDNS":
TCP: 53
UDP: 53
Подробнее о настройке SELinux см. статью "7.15. Настройка SELinux на контроллере домена Avanpost DS".
Если "pdns" и "pdns-recursor" находятся на разных хостах, необходимо дополнительно открыть порт TCP: 5300
Шаг 5. Отключить firewall.
Для этого необходимо выполнить команду:
sudo systemctl disable --now firewalld
Если требуется оставить firewall включенным, то необходимо разрешить на нем нужные порты.
- Для сервиса "ADS":
TCP: 80, 88, 389, 443, 464, 636, 4008, 7890, 8080, 25489, 41005, 48900, 48910
UDP: 88, 123, 464
- Для сервиса "PDNS":
TCP: 53
UDP: 53
Подробнее о настройке firewalld см. статью "7.14. Настройка firewalld на контроллере домена Avanpost DS".
Шаг 6. Остановить сервис "systemd-resolved".
Примечание
В REDOS из коробки установлен сервис "systemd-resolved", он слушает 53 порт.
Для этого необходимо:
6.1. Отключить и остановить службу "systemd-resolved".
sudo systemctl disable --now systemd-resolved.service
6.2. Поместить в раздел [main] "/etc/NetworkManager/NetworkManager.conf" строку: "dns=none".
sudo nano /etc/NetworkManager/NetworkManager.conf
6.3. Удалить символическую ссылку "/etc/resolv.conf"
sudo rm /etc/resolv.conf
Шаг 7. Добавить строку в конфигурационный файл "/etc/resolv.conf".
Для этого необходимо:
7.1. Создать конфигурационный файл "/etc/resolv.conf".
sudo touch /etc/resolv.conf && sudo nano /etc/resolv.conf
7.2. Добавить строку в конфигурационный файл "/etc/resolv.conf":
nameserver 127.0.0.1
Шаг 8. Установить пакет Avanpost DS.
Для этого необходимо выполнить команду:
sudo dnf install /tmp/Avanpost.DS.Server.Linux-*.REDOS-MSVS.x86_64.rpm
Скачать пакет можно по ссылке: https://packages.avanpost.ru/#browse/browse:ds-dists:master
Шаг 9. Заполнить конфигурационный файл Avanpost DS.
Для этого необходимо:
9.1. Открыть для редактирования файл конфигурации Avanpost DS "/opt/avanpost/ads/config/config.yaml".
sudo nano /opt/avanpost/ads/config/config.yaml
9.2. Заполнить открывшийся файл по шаблону:
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" # web: # session_lifetime: 5 #время жизни веб-сессии. тайминг указывается в минутах. стандартное значение 5 минут
Заменить в строке 1 [Домен1ур] на свой домен первого уровня, а [Домен2ур] — на свой домен второго уровня.
Заменить в строкe 2 [IP-АДРЕС] на IP адрес сервера, где производится установка.
Заменить в строке 3 [FQDN] на полное доменное имя (FQDN) сервера, на котором производится установка.
В строке 10 необходимо установить значение:
- true – в случае настройки первого контроллера домена;
- false – в случае настройки второго и последующих контроллеров домена.
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" # web: # session_lifetime: 5 #время жизни веб-сессии. тайминг указывается в минутах. стандартное значение 5 минут
Примечание:
Подробнее о настройке конфигурационного файла Avanpost DS см. статью "4.4.1. Конфигурационный файл Avanpost DS "config.yaml"" руководства по развертыванию Avanpost DS.
Шаг 10. Установить права для пользователя ads на директорию "/opt/avanpost".
Для этого необходимо выполнить команду:
sudo chown -R ads:ads /opt/avanpost
Шаг 11. Запустить сервис "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
Шаг 12. Запустить первичную репликацию и добавить новый контроллер домена в существующую топологию. (Только для вторичных контроллеров домена)
Внимание!
Данный шаг необходимо выполнять только при настройке второго и последующих контроллеров в домене.
При настройке первого контроллера данный шаг требуется пропустить.
Для этого необходимо выполнить команду, подставив свои значения в шаблон:
/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
Шаг 13. Ввести контроллер в домен.
Для этого необходимо выполнить команду по шаблону:
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
Шаг 14. Перезапустить сервис "ads".
Для этого необходимо выполнить команду:
sudo systemctl restart ads.service
Шаг 15. Опубликовать интерфейс системы на веб-сервере Nginx.
Для этого необходимо:
15.1. Создать конфигурационный файл "ads.conf"
sudo nano /etc/nginx/conf.d/ads.conf
15.2. Открывшийся файл необходимо заполнить по шаблону:
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")
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-сертификатов, выданных вашим удостоверяющим центром.
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;
}
}
15.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
15.4. Включить автоматический запуск и запустить сервис "nginx". Затем проверить, что он запущен.
sudo systemctl enable --now nginx sudo systemctl status nginx
Шаг 16. Для проверки зайти в веб-интерфейс администратора Avanpost DS.
Для доступа к веб-интерфейсу администратора Avanpost DS необходимо в строке браузера ввести адрес:
http://[имя_контроллера_домена]
Например, http://ds01.avanpost.local
Должна открыться страница авторизации в административную консоль.
Так же можно войти в веб-интерфейс по IP адресу контроллера домена, например:
192.168.1.11
Веб-интерфейс работает на порте 8080
После ввода реквизитов учётной записи должна открыться административная консоль системы.
Для первого входа необходимо использовать учетные данные:
Логин: Administrator
Пароль: Avanp0st
Шаг 17. Добавить директории Avanpost DS в исключения антивируса.
Если на контроллере домена используется антивирус, то для обеспечения корректной работы и быстродействия Avanpost DS требуется добавить в исключения директории, содержащие БД и логи:
- /opt/avanpost/ads/data
- /opt/avanpost/ads/ds-logs
Шаг 18. Настроить DNS-сервер.
Для настройки DNS-сервера требуется выполнить действия по одной из инструкций:
После выполнения всех шагов развертывание Avanpost DS на контроллере завершено.
Можно переходить к разворачиванию Avanpost DS на следующем контроллере или к Этапу 2 "Интеграция Avanpost DS с прикладными системами".

