Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
Astra Linux Common Edition 2.12
Выполнение присоединения к домену требует:
- Наличия привилегий суперпользователя (в Astra Linux Special Edition с включенным МКЦ - суперпользователя с высоким уровнем целостности);
- Наличия пароля администратора домена, к которому будет выполняться присоединение.
Введение
Статья основана на материалах из wiki.samba.org
Для нормальной работы доменного леса Active Directory (AD) достаточно одного контроллера домена (КД). Однако, для обеспечения отказоустойчивости и балансировки нагрузки, желательно всегда добавлять к домену дополнительные КД.
В данной статье описана процедура присоединения дополнительного КД Samba к существующему домену. Эта процедура отличается от процедуры назначения первого КД домена, для создания первого КД (создания нового доменного леса AD) см. Samba как контроллер домена AD.
В доменном лесу AD не существует разницы между различными КД, за исключением ролей FSMO, поэтому, когда речь идёт о домене AD, во избежание путаницы, используется единый термин "контроллер домена" или КД.
Подготовка установки
Предполагается, что в сети уже имеется настроенный работающий сервер - контроллер домена Windows AD DC с адресом 10.0.2.10 и полным доменным именем dc1.samdom.example.com
На сервере 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:
sudo hostnamectl set-hostname dc2.samdom.example.com
В файле /etc/hosts указать IP-адрес хоста, не являющийся адресом локальной петли, например:
10.0.2.253 dc2.samdom.example.com dc2- На КД Windows AD в настройках службы DNS задать соответствие имени хоста Astra Linux и выбранного IP-адреса хоста Astra Linux (см. инструкции по настройке используемого контроллера Windows AD). См. также Samba как контроллер домена AD;
Дополнительно рекомендуется установить пакет dnsutils, содержащий инструмент dig для проверки настроек DNS:
sudo apt install dnsutilsЭтот инструмент позволяет проверять информацию, выдаваемую DNS-серверами, и позволяет выбирать, у какого именно сервера запросить информацию;
Убедиться в правильности настройки DNS можно с помощью команды host, которая должна выдать правильный IP-адрес сервера:
dc2.samdom.example.com has address 10.0.2.253
Подготовка к присоединению к домену
Установка локального сервера DNS
По умолчанию, первый контроллер домена (DC) в доменном лесу поддерживает собственный сервер DNS для зон AD. Для обеспечения отказоустойчивости рекомендуется иметь в сети несколько DC, работающих также и как серверы DNS.
Если планируется поддерживать дополнительный DNS, то:
Для установки и настройки DNS см. BIND9 как DNS-сервер для Samba AD.
Присоединение к домену AD в роли DC
Актуальную информацию о совместимости Samba и Windows см. Joining a Windows DC to a Samba domain.
Для выполнения присоединения требуются права администратора Astra Linux ( при включенном МКЦ - администратора с высоким уровнем целостности) и права администратора домена Windows AD.
Присоединение к домену может быть совмещено с установкой Samba или может быть выполнено после выполнения установки. Подробнее про установку см. Samba как контроллер домена AD. В примере далее приведен полный сценарий, включающий:
- установку пакетов;
- установку samba;
- присоединение к домену Windows AD.
После запуска нового контроллера домена служба синхронизации данных (knowledge consistency checker, KCC) на Samba DC создаёт соглашения о репликации с другими DC в этом доменном лесу AD. Автоматическая генерация соединений репликации может занять более 15-ти минут.
Пример последовательности действий по установке пакетов и выполнения присоединения к домену samdom.example.com в роли контроллера домена (DC), дополнительно работающего как сервер DNS с использованием сервиса DNS BIND9_DLZ:
Установить пакеты:
sudo apt install samba winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user krb5-kdc bind9Остановить неиспользуемые службы:
sudo systemctl stop winbind smbd nmbd krb5-kdcЗапретить запуск неиспользуемых служб:
sudo systemctl mask winbind smbd nmbd krb5-kdcУдалить конфигурационный файл samba, автоматически создаваемый при установке пакетов:
sudo rm /etc/samba/smb.confВыполнить присоединение к домену. Для справки часто используемые параметры команды samba-tool domain join:
Параметр Описание --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 или с помощью команды:
samba-tool domain join --helpКоманда для присоединения к домену:
sudo samba-tool domain join samdom.example.com DC -U"SAMDOM\administrator" --dns-backend=BIND9_DLZПосле ввода команды присоединения к домену будет запрошен пароль администратора домена, и выдана информация о ходе присоединения:Разрешить автоматический запуск доменных служб:
systemctl unmask samba-ad-dc
systemctl enable samba-ad-dcВключить в настройки службы DNS (см. DNS-сервер BIND9) конфигурационные параметры samba:
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:
sudo systemctl restart bind9Запустить доменную службу samba:
sudo systemctl start samba-ad-dc
Проверки результатов присоединения
После присоединения к домену в домене должны появиться два контроллера домена, и должны дублироваться основные службы: DNS, LDAP, Kerberos.
Проверка работы службы разрешения имен DNS
Адрес присоединённого контроллера домена должен появиться в списке адресов домена:
samdom.example.com has address 10.0.2.250
samdom.example.com has address 10.0.2.10
dig samdom.example.com @dc2.samdom.example.com
У ответов должен быть статус NOERROR и в ответах должна содержаться секция ANSWER SECTION с адресами серверов:
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25455
...
;; ANSWER SECTION:
samdom.example.com 600 IN A 10.0.2.250
samdom.example.com 600 IN A 10.0.2.10
...
Оба DNS сервера должны выдавать информацию о двух доменных службах каталогов:
dig SRV _ldap._tcp.samdom.example.com @dc2.samdom.example.com
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54924
...
;; ANSWER SECTION:
_ldap._tcp.samdom.example.com. 900 IN SRV 0 100 389 dc2.samdom.example.com.
_ldap._tcp.samdom.example.com. 600 IN SRV 0 100 389 dc1.samdom.example.com.
;; ADDITIONAL SECTION:
dc2.samdom.example.com. 900 IN A 10.0.2.250
dc1.samdom.example.com. 3600 IN A 10.0.2.10
...
Аналогично, оба DNS сервера должны выдавать информацию о двух доменных службах Kerberos:
dig SRV _kerberos._tcp.samdom.example.com @dc2.samdom.example.com
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54924
...
;; ANSWER SECTION:
_ldap._tcp.samdom.example.com. 900 IN SRV 0 100 389 dc2.samdom.example.com.
_ldap._tcp.samdom.example.com. 600 IN SRV 0 100 389 dc1.samdom.example.com.
;; ADDITIONAL SECTION:
dc1.samdom.example.com. 3600 IN A 10.0.2.10
dc2.samdom.example.com. 900 IN A 10.0.2.250
...
Проверка работы службы каталогов LDAP
Для проверки доступности и работоспособности службы LDAP можно запросить отчет о репликации:
Примерный вывод команды:
При проверке может выдаваться следующее предупреждение:
Согласно документации Samba, это предупреждение можно игнорировать.
Подробности см. Проверка статусов репликации каталогов.
Кроме этого, для проверки корректности работы репликации каталогов, добавьте нового пользователя на ранее установленном контроллере домена, и убедитесь, что этот пользователь автоматически появился на новом контроллере.
Также, можно использовать инструмент сравнения ldapcmp, чтобы сравнить два каталога. Подробности см. samba-tool ldapcmp.
Проверка работы службы аутентификации Kerberos
Проверка работы Kerberos может быть выполнена получением билета Kerberos, например билета доменного администратора Windows AD (по умолчанию это administrator):
Проверить полученный билет можно командой klist:
Проверка файлового сервера
Подробности см. Samba как контроллер домена AD
Отображение встроенных пользователей и групп
Репликация ресурса Sysvol в настоящее время в Samba не поддерживается. Для использования существующих обходных решений все DC домена должны использовать одинаковое отбражение идентификаторов встроенных пользователей и групп.
По умолчанию, Samba DC хранит идентификаторы пользователей и групп в атрибуте 'xidNumber' в 'idmap.ldb'.
При этом, реализация 'idmap.ldb' не гарантирует, что все DC будут использовать одинаковый идентификатор для любого пользователя или группы.
Для того, чтобы обеспечить одинаковость идентификаторов, требуется:
- Создать актуальную резервную копию файла /var/lib/samba/private/idmap.ldb на ранее установленном DC командой:
- Переместить резервную копию в каталог /var/lib/samba/private/ на новом присоединяемом DC, и переименовать, удалив суффикс .bak, чтобы заменить существующий файл.
- Обновить список контроля доступа (ACL) каталога Sysvol на новом DC:
Настройка службы 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
Подробности см. Поиск и устранение проблем