Оглавление |
---|
Предупреждение |
---|
Выполнение присоединения требует:
|
Информация | |
---|---|
|
|
|
|
|
Предупреждение |
---|
Выполнение присоединения к домену требует:
|
Введение
Статья основана на материалах из wiki.samba.org
Для нормальной работы доменного леса Active Directory (AD) достаточно одного контроллера домена (КД).
Введение
Статья основана на материалах из wiki.samba.org
Для нормальной работы доменного леса Active Directory (AD) достаточно одного контроллера домена (domain controller, DC). Однако, для обеспечения отказоустойчивости и балансировки нагрузки, желательно всегда добавлять к домену дополнительные DCКД.
Процедура присоединения дополнительного Samba DC В данной статье описана процедура присоединения дополнительного КД Samba к существующему домену AD . Эта процедура отличается от процедуры назначения первого DC домена.
Для КД домена, для создания первого КД (создания нового доменного леса AD) см. Samba как контроллер домена AD.
Информация |
---|
Домены NT4 используют только один первичный контроллер домена КД (Primary Domain Controller, PDC) и, опционально, дополнительные резервные контроллеры контроллеры (Backup Domain Controllers, BDC). В доменном лесу AD не существует разницы между различными DCКД, за исключением ролей FSMO, поэтому, когда речь идёт о домене AD, во избежание путаницы, используется единый термин "контроллер домена" или "DC"КД. |
Подготовка установки
Предполагается, что в сети уже имеется настроенный работающий сервер - контроллер домена Windows AD DC с адресом 10.0.2.10 и полным доменным именем dc1.samdom.example.com
Предупреждение |
---|
Для использования службы Kerberos требуется синхронизация показаний часов у всех участников домена. Подробности см. Синхронизация времени. |
На сервере Astra Linux:
- Настроить статический IP-адрес хоста (например, 10.0.2.250);
В качестве сервера DNS указать IP-адрес существующего сервера доменного DNS (т.е., в соответствии с указанными выше параметрами контроллера домена, адрес 10.0.2.10). Содержимое файла /etc/resolv.conf должно выглядеть примерно так:
Информация search samdom.example.com
nameserver 10.0.2.10Задать полное доменное имя хоста, например dc2.samdom.example.com:
Command sudo hostnamectl set-hostname dc2.samdom.example.com
В файле /etc/hosts указать
правильныйIP-адрес хоста, не являющийся адресом локальной петли, например:
Информация 10.0.2.253 dc2.samdom.example.com dc2
Подробности см. Samba как контроллер домена AD
- На КД Windows AD в настройках службы DNS задать соответствие имени хоста Astra Linux и выбранного IP-адреса хоста Astra Linux (см. инструкции по настройке используемого контроллера Windows AD). См. такжеSamba как контроллер домена AD;
Дополнительно рекомендуется установить пакет dnsutilsДополнительно рекомендуется установить пакет dns-utils, содержащий инструмент dig для проверки настроек DNS:
Command sudo apt install dns-utilsdnsutils Этот инструмент позволяет проверять информацию, выдаваюмую выдаваемую DNS-серверами, и позволяет выбирать, у какого именно сервера запросить информацию.;
Убедиться в правильности настройки DNS можно с помощью команды host, которая должна выдать правильный IP-адрес сервера:
Command | ||
---|---|---|
| ||
dc2.samdom.example.com has has address 10.0.2.10253 |
Подготовка к присоединению к домену
Установка локального сервера DNS
По умолчанию, первый контроллер домена (DC) в доменном лесу поддерживает собственный сервер DNS для зон AD. Для обеспечения отказоустойчивости рекомендуется иметь в сети несколько DC, работающих также и как серверы DNS.
Если планируется поддерживать дополнительный DNS, то:
Для установки и настройки DNS см. BIND9 как DNS-сервер для Samba AD.
Предупреждение |
---|
Параметр 'nameserver' в файле настройки разрешения имён '/etc/resolv.conf' должен указывать на сервер Windows AD DC, а не на свой сервер, иначе присоединяемый DC не сможет найти доменную службу Kerberos KDC |
Присоединение к домену AD в роли DC
Информация |
---|
Актуальную информацию о совместимости Samba и Windows см. Joining a Windows DC to a Samba domain. Для выполнения присоединения требуются права администратора Astra Linux ( при включенном МКЦ - администратора с высоким уровнем целостности) и права администратора домена Windows AD. |
Присоединение к домену может быть совмещено с установкой Samba или может быть выполнено Присоединение к домену может быть совмещено с установкой Samba или может быть выполнено после выполнения установки. Подробнее про установку см. Samba как контроллер домена AD. В примере далее приведён приведен полный сценарий, включающий и :
- установку пакетов
- ;
- установку samba;
- присоединение к домену Windows AD.
Предупреждение |
---|
Перед присоединением к домену необходимо удалить автоматически создаваемые при установке пакетов системные службы и файлы. См. комментарии к сценарию ниже. |
Информация |
---|
После запуска нового контроллера домена служба синхронизации данных (knowledge consistency checker, KCC) на Samba DC создаёт соглашения о репликациии репликации с другими DC в этом доменном лесу AD. |
Пример сценария установки последовательности действий по установке пакетов и выполнения присоединения к домену samdom.example.com в com в роли контроллера домена (DC), дополнительно работающего как сервер DNS с использованием сервиса DNS BIND9_DLZ:
Установить пакеты:
Command
sudo apt install samba winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user krb5-kdc bind9
Остановить неиспользуемые службы:
Command sudo systemctl stop winbind smbd nmbd krb5-kdc
Запретить запуск неиспользуемых служб:
Command sudo systemctl mask winbind smbd nmbd krb5-kdc
Удалить конфигурационный файл samba, автоматически создаваемый при установке пакетов:
Command sudo rm /etc/samba/smb.conf
sudo
Выполнить присоединение к домену. Для справки часто используемые параметры команды samba-tool domain join
# Включаем автоматический запуск служб
systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
# Перед запуском службы настраиваем DNS-сервер
echo 'include "/var/lib/samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
sudo chown -R root:bind /var/lib/samba/bind-dns
sudo systemctl restart bind9
# Запускаем службу
sudo systemctl start samba-ad-dc
:
Параметр Описание --site=SITE
Прямое указание хоста AD DC для присоединения. --option="interfaces=lo eth0" --option="bind interfaces only=yes"
Если хост имеет несколько сетевых интерфейсов, используйте эту опции для привязки Samba к нужным интерфейсам.
Это позволит инструменту samba-tool в процессе присоединения зарегистрировать корректные IP-адреса хоста.--option='idmap_ldb:use rfc2307 = yes'
Если другие контроллеры были назначены с использованием опции --use-rfc2307, используйте эту опцию для присоединяемого контроллера.
Подробности по команде samba-tool domain join см. в man samba-tool или с помощью команды:
Command samba-tool domain join --help
Команда для присоединения к домену:
Command sudo samba-tool domain join samdom.example.com DC -U"SAMDOM\administrator" --dns-backend=BIND9_DLZ
После ввода команды присоединения к домену
будет запрошен пароль администратора домена, и выдана информация о ходе присоединения:
Раскрыть title Нажмите, чтобы развернуть Finding a writeable DC for domain 'samdom.example.com'
Found DC dc1.samdom.example.com
Password for [SAMDOM\administrator]:
workgroup is SAMDOMsudo ap
realm is samdom.example.com
Adding CN=DC2,OU=Domain Controllers,DC=samdom,DC=example,DC=com
Adding CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
Adding CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
Adding SPNs to CN=DC2,OU=Domain Controllers,DC=samdom,DC=example,DC=com
Setting account password for DC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Provision OK for domain DN DC=samdom,DC=example,DC=com
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[402/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[804/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[1206/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[1550/1550] linked_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[402/1618] linked_values[0/0]
Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[804/1618] linked_values[0/0]
Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[1206/1618] linked_values[0/0]
Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[1608/1618] linked_values[0/0]
Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[1618/1618] linked_values[42/0]
Replicating critical objects from the base DN of the domain
Partition[DC=samdom,DC=example,DC=com] objects[100/100] linked_values[23/0]
Partition[DC=samdom,DC=example,DC=com] objects[386/286] linked_values[23/0]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=samdom,DC=example,DC=com
Partition[DC=DomainDnsZones,DC=samdom,DC=example,DC=com] objects[44/44] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=samdom,DC=example,DC=com
Partition[DC=ForestDnsZones,DC=samdom,DC=example,DC=com] objects[19/19] linked_values[0/0]
Committing SAM database
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain SAMDOM (SID S-1-5-21-469703510-2364959079-1506205053) as a DC
Другие часто используемые параметры команды samba-tool domain join:
--site=SITE
--option="interfaces=lo eth0" --option="bind interfaces only=yes"
Это позволит инструменту samba-tool в процессе присоединения зарегистрировать корректные IP-адреса хоста.
--option='idmap_ldb:use rfc2307 = yes'
Если другие контроллеры были назначены с использованием опции --use-rfc2307, используйте эту опцию для присоединяемого контроллера.
Разрешить автоматический запуск доменных служб:
Command systemctl unmask samba-ad-dc
systemctl enable samba-ad-dcВключить в настройки службы DNS (см. DNS-сервер BIND9) конфигурационные параметры samba:
Command echo 'include "/var/lib/samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
sudo chown -R root:bind /var/lib/samba/bind-dnsПерезапустить службу DNS:
Command sudo systemctl restart bind9
Запустить доменную службу samba:
Command sudo systemctl start samba-ad-dc
Подробности по команде samba-tool domain join см. в man samba-tool или с помощью команды:
Проверки результатов присоединения
После присоединения к домену в домене должны появиться два контроллера домена, и должны дублироваться основные службы: DNS, LDAP, Kerberos.
Проверка работы службы разрешения имен DNS
Адрес присоединённого контроллера домена должен появиться в списке адресов домена:
Command | ||
---|---|---|
| ||
samdom.example.com has address 10.0.2.250 samdom.example.com has address 10.0.2.10 |
При этом должны быть доступны два DNS сервера. Проверим это командой dig (предполагается, что ранее был установлен пакет dnsutils), обращаясь к серверам dc1.samdom.example.com и dc2.samdom.example.com:
Информация |
---|
dig samdom.example.com @dc1.samdom.example.com +nocookie dig samdom.example.com @dc2.samdom.example.com |
У ответов должен быть статус NOERROR и в ответах должна содержаться секция ANSWER SECTION с адресами серверов:
Информация |
---|
... |
Оба DNS сервера должны выдавать информацию о двух доменных службах каталогов:
Command |
---|
dig SRV _ldap._tcp.samdom.example.com @dc1.samdom.example.com +nocookie dig SRV _ldap._tcp.samdom.example.com @dc2.samdom.example.com |
У ответов должен быть статус NOERROR и в ответах должны содержаться секции ANSWER SECTION и ADDITIONAL SECTION с адресами служб:
Информация |
---|
... |
Аналогично, оба DNS сервера должны выдавать информацию о двух доменных службах Kerberos:
Command |
---|
dig SRV _kerberos._tcp.samdom.example.com @dc1.samdom.example.com +nocookie dig SRV _kerberos._tcp.samdom.example.com @dc2.samdom.example.com |
У ответов должен быть статус NOERROR и в ответах должны содержаться секции ANSWER SECTION и ADDITIONAL SECTION с адресами служб:
Информация |
---|
... |
Проверка работы службы каталогов LDAP
Для проверки доступности и работоспособности службы LDAP можно запросить отчет о репликации:
Command |
---|
sudo samba-tool drs showrepl |
Примерный вывод команды:
Блок кода | ||
---|---|---|
| ||
Default-First-Site-Name\DC2 DSA Options: 0x00000001 DSA object GUID: 303f45ca-3a45-4169-ad71-0903ac3e7ab9 DSA invocationId: 4750cc0a-ba23-4492-a1cd-3c66f5b3b073 ==== INBOUND NEIGHBORS ==== CN=Configuration,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Fri Dec 6 10:27:20 2019 MSK was successful 0 consecutive failure(s). Last success @ Fri Dec 6 10:27:20 2019 MSK DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Fri Dec 6 10:27:20 2019 MSK was successful 0 consecutive failure(s). Last success @ Fri Dec 6 10:27:20 2019 MSK DC=DomainDnsZones,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Fri Dec 6 10:27:20 2019 MSK was successful 0 consecutive failure(s). Last success @ Fri Dec 6 10:27:20 2019 MSK CN=Schema,CN=Configuration,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Fri Dec 6 10:27:20 2019 MSK was successful 0 consecutive failure(s). Last success @ Fri Dec 6 10:27:20 2019 MSK DC=ForestDnsZones,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Fri Dec 6 10:27:20 2019 MSK was successful 0 consecutive failure(s). Last success @ Fri Dec 6 10:27:20 2019 MSK ==== OUTBOUND NEIGHBORS ==== CN=Configuration,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Fri Dec 6 08:27:31 2019 MSK was successful 0 consecutive failure(s). Last success @ Fri Dec 6 08:27:31 2019 MSK DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Thu Dec 5 17:24:10 2019 MSK was successful 0 consecutive failure(s). Last success @ Thu Dec 5 17:24:10 2019 MSK DC=DomainDnsZones,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Thu Dec 5 17:24:10 2019 MSK was successful 0 consecutive failure(s). Last success @ Thu Dec 5 17:24:10 2019 MSK CN=Schema,CN=Configuration,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Thu Dec 5 17:24:10 2019 MSK was successful 0 consecutive failure(s). Last success @ Thu Dec 5 17:24:10 2019 MSK DC=ForestDnsZones,DC=samdom,DC=example,dc=com Default-First-Site-Name\DC1 via RPC DSA object GUID: ce07ab44-222f-4882-b4f5-ed382f6b2047 Last attempt @ Thu Dec 5 17:24:10 2019 MSK was successful 0 consecutive failure(s). Last success @ Thu Dec 5 17:24:10 2019 MSK ==== KCC CONNECTION OBJECTS ==== Connection -- Connection name: 49744c99-ca35-4811-af8f-73119e8b31f5 Enabled : TRUE Server DNS name : DC1.windomain.le Server DN name : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,dc=com TransportType: RPC options: 0x00000001 Warning: No NC replicated for Connection! |
При проверке может выдаваться следующее предупреждение:
Информация |
---|
Warning: No NC replicated for Connection! |
Согласно документации Samba, это предупреждение можно игнорировать.
Подробности см. Проверка статусов репликации каталогов.
Кроме этого, для проверки корректности работы репликации каталогов, добавьте нового пользователя на ранее установленном контроллере домена, и убедитесь, что этот пользователь автоматически появился на новом контроллере.
Также, можно использовать инструмент сравнения ldapcmp, чтобы сравнить два каталога. Подробности см. samba-tool ldapcmp.
Проверка работы службы аутентификации Kerberos
Проверка работы Kerberos может быть выполнена получением билета Kerberos, например билета доменного администратора Windows AD (по умолчанию это administrator):
Command |
---|
kinit administrator |
Проверить полученный билет можно командой klist:
Command |
---|
klist |
Проверка файлового сервера
Подробности см. Samba как контроллер домена AD
Отображение встроенных пользователей и групп
Репликация ресурса Sysvol в настоящее время в Samba не поддерживается. Для использования существующих обходных решений все DC домена должны использовать одинаковое отбражение идентификаторов встроенных пользователей и групп.
По умолчанию, Samba DC хранит идентификаторы пользователей и групп в атрибуте 'xidNumber' в 'idmap.ldb'.
При этом, реализация 'idmap.ldb' не гарантирует, что все DC будут использовать одинаковый идентификатор для любого пользователя или группы.
Для того, чтобы обеспечить одинаковость идентификаторов, требуется:
- Создать актуальную резервную копию файла /var/lib/samba/private/idmap.ldb на ранее установленном DC командой:
Command |
---|
tdbbackup -s .bak /var/lib/samba/private/idmap.ldb |
Эта команда создаст файл с копией /var/lib/samba/private/idmap.ldb.bak.
- Переместить резервную копию в каталог /var/lib/samba/private/ на новом присоединяемом DC, и переименовать, удалив суффикс .bak, чтобы заменить существующий файл.
- Обновить список контроля доступа (ACL) каталога Sysvol на новом DC:
Command |
---|
samba-tool ntacl sysvolreset |
Настройка службы Winbindd на Samba AD DC
Необязательно. Подробности см. Настройка Winbindd на Samba AD DC.
Использование контроллера домена в качестве файлового сервера
Подробности см. Samba как контроллер домена AD
Репликация Sysvol
Samba в настоящее время не поддерживает репликацию Sysvol. Неподдерживаемые обходные решения см. Репликация Sysvol.
Предупреждение |
---|
Если на других DC в каталоге Sysvol есть что-то, кроме GPO по умолчанию, обязательно нужно синхронизировать Sysvol на новом DC, иначе samba-tool ntacl sysvolreset будет завершаться с ошибкой. |
Поиск и устранение проблем
В случае возникновения ошибок см. документацию и журналы:
- Системный журнал;
- Журналы Samba;
- Журналы BIND, если используется BIND9_DLZ
Подробности см. Поиск и устранение проблем