В нашем справочнике есть мануал по установке Active Directory на Windows Server 2022, в котором мы на виртуальный Windows-сервер установили службу Active Directory после чего повысили роль данного сервера до контроллера домена. Здесь же мы разберём процесс подключения VPS, работающий под управлением CentOS Stream 9, к домену, контроллером которого является ранее настроенный Windows-сервер.
В CentOS для подключения сервера к домену мы будем использовать такой инструмент как Realmd, который предназначен для упрощения процесса подключения Linux-систем к доменам Active Directory и другим централизованным службам доменных каталогов. Realmd предоставляет собой автоматизированный способ настройки аутентификации и авторизации учётных записей на Linux-системах через централизованный каталог.
Для аутентификации и проверки пользователей Realmd использует SSSD – службу, которая предоставляет централизованную аутентификацию, авторизацию и управление информацией о сеансах для систем Linux. SSSD прежде всего предназначена для упрощения интеграции Linux-систем с централизованными каталогами и службами аутентификации, такими как LDAP, Active Directory и FreeIPA.
В настоящей инструкции мы будем использовать следующие исходные данные:
YOUR-DOMAIN.HOST
– имя домена;DC
– имя контроллера доменаYOUR-DOMAIN.HOST
.
Подготовка CentOS Stream
Все работы, описанные в настоящем руководстве, мы будет проводить на виртуальном выделенном сервере, прошедшем соответствующую первоначальную настройку. Но помимо этого, необходимо дополнительно подготовить CentOS Stream для подключения системы к домену.
Во-первых, на данном сервере потребуется синхронизировать его время с временем контроллера домена. Синхронизация времени важна для правильной работы аутентификации Kerberos, которая используется в Active Directory. Несоответствие времени между нашим сервером и контроллером домена может привести к ошибкам аутентификации.
Синхронизация времени потребует установки соответствующего программного обеспечения. Исходя из этого сначала необходимо обновить установленные в системе пакеты до их последних доступных версий из настроенных репозиториев:
$ sudo dnf update
Далее нужно будет проинсталлировать в систему инструмент для синхронизации времени. В данном случае используем chrony
:
$ sudo dnf install chrony
Затем перейдите в каталог /etc
:
$ cd /etc
Здесь откройте для редактирования конфигурационный файл chrony
:
$ sudo vi chrony.conf
В данном файле при помощи символа #
закомментируйте строку pool 2.centos.pool.ntp.org iburst
, затем после неё добавьте строку вида:
server 10.10.10.1 iburst
Здесь, 10.10.10.1
– IP-адрес контроллера домена.
При инсталляции chrony
соответствующая служба запускается и устанавливается в автозагрузку. Проверить состояние службы можно командой:
$ systemctl status chronyd

Исходя их этого, для применения внесённых изменений достаточно перезапустить службу chronyd
:
$ sudo systemctl restart chronyd
В этом же каталоге /etc
находится файл resolv.conf
, который используется для настройки DNS. Данный файл содержит информацию о серверах DNS, используемых системой для преобразования доменных имен в IP-адреса. Откройте этот файл для редактирования:
$ sudo vi resolv.conf
После чего приведите его к следующему виду:
domain your-domain.host
search your-domain.host
nameserver 10.10.10.1
В данном случае:
your-domain.host
– имя домена, к которому мы планируем подключиться;10.10.10.1
– IP-адрес контроллера данного домена.
Затем необходимо изменить имя нашего сервера для приведения его в соответствие со структурой домена. Текущее имя хоста можно узнать при помощи команды:
$ hostnamectl
Чтобы изменить имя хоста, используйте команду:
$ sudo hostnamectl set-hostname centos-server
В данном случае, centos-server
– новое имя нашего сервера.
Для применения изменений перезагрузите VPS:
$ sudo init 6
Подключение к домену
Для непосредственно подключения CentOS Stream 9 к домену Active Directory установите необходимые пакеты:
$ sudo dnf install krb5-workstation realmd adcli sssd oddjob oddjob-mkhomedir
После завершения установки перезапустите службу sshd
. Возможно, система не сможет запустить данный сервис и выдаст следующую ошибку:

При диагностике данной ошибки выяснилось, что синтаксическая проверка конфигурационного файла SSH с использованием команды sudo sshd -t
сообщает о несовпадении версий библиотеки OpenSSL, установленной в системе и скомпилированной под sshd
. Таким образом, для исправления необходимо обновить библиотеку для реализации протоколов TLS и SSL, а также серверную часть пакета OpenSSH:
$ sudo dnf update openssl openssh-server
После чего ещё раз перезапустите службу sshd
. Перезапуск должен произойти без ошибок.
Далее, запустите следующую команду, которая позволяет обнаружить домен your-domain.host
:
$ sudo realm discover your-domain.host

После чего подключите сервер к данному домену. Для подключения используйте учётную запись администратора домена. В нашем примере такой учётной записью является пользователь administrator
:
$ sudo realm join --user=administrator your-domain.host
Следующим шагом убедитесь, что система подключена к домену:
$ realm list

Если в процессе выполнения этих операций не возникло ошибок, вы уже сможете подключиться к CentOS Stream с использованием доменной учётной записи. При входе используйте полный формат имени пользователя, например, administrator@your-domain.host
:

Проверить успешное подключение к домену можно также и на контроллере домена. Для этого в стартовом меню перейдите в Windows Administrative Tools
→ Active Directory Users and Computers
:

После чего в открывшемся окне перейдите во вкладку Computers
. Здесь в списке рабочих станций, являющихся членами домена, должен присутствовать наш centos-server
:
