Присоединение к домену Active Directory в роли контроллера домена
Для обеспечения отказоустойчивости и балансировки нагрузки в доменный лес AD могут добавляться дополнительные контроллеры домена.
Присоединение к домену может быть выполнено одновременно с установкой Samba или после нее.
Примеры в данном разделе основаны на следующих допущениях:
-
В сети уже доступен полностью настроенный основной контроллер домена AD со следующими параметрами:
-
статический IP-адрес сервера —
10.0.9.100; -
полное доменное имя (FQDN) —
dc1.samdom.example.com.
-
-
Требуется добавить еще один контроллер домена, который также будет выполнять роль DNS-сервера, со следующими параметрами:
-
статический IP-адрес сервера —
10.0.9.150; -
полное доменное имя (FQDN) —
dc2.samdom.example.com.
-
Для выполнения операции присоединения требуется пароль администратора домена.
| Для использования аутентификации на базе Kerberos необходимо обеспечить синхронизацию времени у всех участников домена AD. |
Присоединение
Для присоединения к домену выполните следующие шаги:
-
Назначьте серверу, на котором будет развертываться контроллер домена, статический IP-адрес.
В примерах в данном разделе в качестве IP-адреса сервера используется значение
1.0.9.150. -
Задайте IP-адрес существующего контроллера домена (
10.0.9.100) в качестве DNS-сервера.После внесенных изменений файл /etc/resolv.conf должен содержать следующие настройки:
search samdom.example.com nameserver 10.0.9.100
Некоторые утилиты (например, NetworkManager) могут перезаписывать изменения, вносимые в данный файл вручную. См. описание корректного способа настройки разрешения имен в документации на используемый дистрибутив Linux. -
Выберите для контроллера домена имя хоста длиной не более 15 символов (ограничение протокола NetBIOS) и назначьте его.
Например:
sudo hostnamectl set-hostname dc2.samdom.example.com
-
Убедитесь, что в файле /etc/hosts полное доменное имя (FQDN) и короткое имя хоста корректно сопоставлены с IP-адресом контроллера домена.
Например:
127.0.0.1 localhost 10.0.9.150 DC2.samdom.example.com DC2
Имя хоста и FQDN не должны сопоставляться с IP-адресом
127.0.0.1или любым другим IP-адресом, отличным от того, который назначен серверу контроллера домена в настройках LAN. -
Если планируется использовать добавляемый контроллер домена также и в качестве DNS-сервера:
-
при использовании внутреннего DNS-сервера Samba (
SAMBA_INTERNAL) дополнительная настройка не требуется; -
при использовании DNS-сервера BIND 9 (
BIND9_DLZ) требуется дополнительная настройка.
-
-
Выполните стандартные проверки, чтобы убедиться в отсутствии на сервере следов прошлых установок Samba.
-
Установите основной пакет inno-samba и дополнительные пакеты, следуя инструкциям, приведенным в разделе «Установка».
-
На первом контроллере домена:
-
создайте обратную DNS-зону для подключения нового контроллера:
/app/inno-samba/bin/samba-tool dns zonecreate dc1.samdom.example.com 9.0.10.in-addr.arpa -U Administrator Password for [SAMDOM\Administrator]: Zone 9.0.10.in-addr.arpa created successfully
-
добавьте IP-адрес нового контроллера в доменную DNS-службу:
/app/inno-samba/bin/samba-tool dns add dc1.samdom.example.com samdom.example.com dc2 A 10.0.9.150 -U Administrator Password for [SAMDOM\Administrator]: Record added successfully
-
-
Проверьте корректность разрешения имен любым доступным способом (например, с помощью утилиты
dig). -
Остановите ненужные службы и запретите их запуск с помощью следующих команд:
sudo systemctl stop smbd nmbd winbind sudo systemctl disable smbd nmbd winbind sudo systemctl mask winbind nmbd smbd
-
Настройте автоматический запуск доменной службы Samba и перезапустите ее с помощью следующих команд:
sudo systemctl unmask inno-samba sudo systemctl enable inno-samba
-
Убедитесь в корректности настройки аутентификация с использованием Kerberos в файле /etc/krb5.conf:
[libdefaults] default_realm = SAMDOM.EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = trueВ тех случаях, когда топология сети позволяет беспрепятственно доставлять по протоколу UDP пакеты большего размера от контроллера домена к клиентам, для повышения производительности в конфигурационный файл /etc/krb5.conf может быть добавлена следующая настройка:
[kdc] max-kdc-datagram-reply-length = 2800Она обеспечивает формирование сервером ответа на запрос аутентификации, полученный от клиента по протоколу UDP, при превышении ограничения на максимальный размер ответа по умолчанию (1400 байт).
Данную настройку следует использовать с большой осторожностью, так как фрагментация UDP-пакетов в сетях со сложной топологией может привести к обратному эффекту!
-
Запросите билет администратора домена:
kinit administrator@SAMDOM.EXAMPLE.COM
-
Перед присоединением убедитесь в отсутствии файла smb.conf. Если он существует, переименуйте его, например, с помощью следующей команды:
sudo mv /app/inno-samba/etc/smb.conf /app/inno-samba/etc/smb.conf.samba_initial
-
Выполните присоединение к домену с помощью утилиты
samba-toolс указанием требуемых опций.Пример команды:
sudo /app/inno-samba/bin/samba-tool domain join samdom.example.com DC --dns-backend=BIND9_DLZ --backend-store=mdb --backend-store-size=16Gb --option="ad dc functional level = 2012_R2" -U Administrator
Для получения информации о доступных параметрах используйте команду:
/app/inno-samba/bin/samba-tool domain join --help
Наиболее часто используемые параметры (см. полный список доступных параметров в разделе «Управление доменом»):
-
--dns-backend=NAME_SERVER_BACKEND— используемый DNS-сервер; возможные значения:SAMBA_INTERNAL(значение по умолчанию),BIND9_DLZ(при развертывании DNS-сервера BIND 9 совместно с контроллером домена Samba),NONE(при использовании выделенного DNS-сервера);При использовании внутреннего DNS-сервера необходимо указать IP-адрес сервера пересылки в формате:
--option="dns forwarder=forwarder_ip_address"
-
--site=SITE— привязка контроллера домена к определенному сайту AD; -
--option="interfaces= lo eth0" --option="bind interfaces only=yes"— привязка Samba к указанным сетевым интерфейсам сервера (если их несколько); указание данной опции позволяетsamba-toolзарегистрировать корректный IP-адрес при присоединении; -
--option="idmap_ldb:use rfc2307 = yes"— используйте данную опцию, если при инициализации остальных контроллеров домена Samba передавался параметр--use-rfc2307; -
--realm=REALM_NAME— задание области безопасности для домена; переданное значение переопределяет значение параметраrealmв файле /app/inno-samba/etc/smb.conf; -
--option="ad dc functional level = <level>"— добавление в файл /app/inno-samba/etc/smb.conf параметраad dc functional level; возможные значения:2008_R2 | 2012 | 2012_R2 | 2016; значение по умолчанию —2008_R2;Значение данного параметра задает «заявляемый» функциональный уровень контроллера домена. То есть при взаимодействии с другими участниками гетерогенной среды контроллер будет «заявлять», что работает на данном функциональном уровне.
Установка параметра вручную на отдельном контроллере домена повышает риск несовпадения набора возможностей на контроллерах в домене. Поэтому при принятии решения об использовании данного параметра следует установить его на всех контроллерах домена Samba.
При присоединении к существующему домену рекомендуется указывать функциональный уровень не выше текущего уровня домена. -
--no-gc— выключение роли Global Catalog (GC) для нового контроллера при присоединении к домену;В связи с ограничением в реализации текущий версии использование данного ключа является обязательным при присоединении сервера к домену в многодоменном лесу. -
--option="tls priority = NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-RSA"— отключение устаревших алгоритмов шифрования и обмена ключами, разрешенных для использования по умолчанию при подключении к серверу LDAP.Параметр изменяет список приоритетов библиотеки GnuTLS по умолчанию (см. подробнее в документации на библиотеку). Рекомендуется использовать указанное значение для повышения уровня безопасности.
В случае успешного выполнения присоединения в конце вывода отобразится строка:
Joined domain SAMDOM (SID S-1-5-21-469703510-2364959079-1506205053) as a DC
-
-
При использовании в качестве DNS-сервера BIND 9 (
--dns-backend=BIND9_DLZ) настройте его для работы с контроллером домена:-
добавьте параметры Samba в настройки службы DNS; например:
echo 'include "/app/inno-samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
-
настройте права доступа:
sudo chown -R root:bind /app/inno-samba/bind-dns
-
перезапустите BIND 9 с помощью следующей команды:
sudo systemctl restart bind9
-
-
Запустите доменную службу Samba:
sudo systemctl start inno-samba
Проверка результатов присоединения
Для проверки корректности присоединения:
-
Проверьте работу DNS-службы:
host -t A samdom.example.com samdom.example.com has address 10.0.9.100 samdom.example.com has address 10.0.9.150
В списке адресов должен отображаться IP-адрес добавленного контроллера домена.
-
Проверьте статус репликации между контроллерами домена в лесу AD с точки зрения добавленного контроллера с помощью следующей команды:
samba-tool drs showrepl
Вывод команды содержит информацию о состоянии входящей и исходящей репликации в рамках соглашений между контроллерами домена.
В случае успешного выполнения репликации в каждом из блоков в разделах
INBOUND NEIGHBORSиOUTBOUND NEIGHBORSотображаются сообщения вида:Default-First-Site-Name\DC1 via RPC DSA object GUID: a470d3e8-6309-4e27-bd81-1ebdd064bcf4 Last attempt @ Thu Apr 27 14:15:36 2023 UTC was successful 0 consecutive failure(s). Last success @ Thu Apr 27 14:15:36 2023 UTCПосле присоединения к домену службе синхронизации данных может понадобиться до 15 минут для автоматического формирования подключений для репликации. -
На вновь добавленном контроллере домена создайте нового пользователя c любым именем:
samba-tool user create newuser
Убедитесь, что учетная запись созданного пользователя доступна на первом контроллере домена с помощью следующей команды:
samba-tool user list