Выполнение присоединения требует:
- Наличия привилегий суперпользователя (в ОС СН - суперпользователя с высоким уровнем целостности);
- Наличия пароля администратора того домена, к котором будет выполняться присоединение.
Данная статья применима к:
- ОС ОН Орёл 2.12
- ОС СН Смоленск 1.6
- ОС СН Ленинград 8.1
Введение
Статья основана на материалах из wiki.samba.org
Для нормальной работы доменного леса Active Directory (AD) достаточно одного контроллера домена (domain controller, DC). Однако, для обеспечения отказоустойчивости и балансировки нагрузки, желательно всегда добавлять к домену дополнительные DC.
Процедура присоединения дополнительного Samba DC к существующему домену AD отличается от процедуры назначения первого DC домена.
Для создания нового доменного леса AD см. Samba как контроллер домена AD
В доменном лесу AD не существует разницы между различными DC, за исключением ролей FSMO, поэтому, когда речь идёт о домене AD, во избежание путаницы, используется единый термин "контроллер домена" или "DC".
Подготовка установки
- Настроить статический IP-адрес хоста;
В качестве IP-адреса сервера DNS указать IP-адрес существующего сервера доменного DNS
Задать полное доменное имя хоста:
- В файле /etc/hosts указать правильный адрес хоста, например:
Подробности см. Samba как контроллер домена AD
Подготовка к присоединению к домену
Установка локального сервера DNS
По умолчанию, первый контроллер домена (DC) в доменном лесу поддерживает собственный сервер DNS для зон AD. Для обеспечения отказоустойчивости рекомендуется иметь в сети несколько DC, работающих также и как серверы DNS.
Если планируется поддерживать дополнительный DNS, то:
Для установки и настройки DNS см. BIND9 как DNS-сервер для Samba AD.
Присоединение к домену AD в роли DC
Присоединение к домену может быть совмещено с установкой Samba или может быть выполнено после выполнения установки. Подробнее про установку см.Samba как контроллер домена AD. В примере далее приведён полный сценарий установки и присоединения.
Пример сценария установки пакетов и выполнения присоединения к домену 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
# Удаляем конфигурационный файл
sudo rm /etc/samba/smb.conf
# Выполнение присоединения
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-сервер
echo 'include "/var/lib/samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
sudo chown root:bind /var/lib/samba/bind-dns
sudo systemctl restart bind9
# Запускаем службу
sudo systemctl start samba-ad-dc
После ввода команды будет запрошен пароль администратора домена, и выдана информация о ходе присоединения:
Другие часто используемые параметры команды 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 см. в
Проверка записей DNS
Инструмент samba-tool создаёт все необходимые записи автоматически. Для проверки см. Проверка и создание записей DNS DC.
Настройка сервиса DNS BIND9_DLZ
Если при присоединении выбран сервис DNS BIND9_DLZ, настройку сервиса см. BIND9 как DNS-сервер для 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:
Проверка репликации каталогов
После запуска DC, служба синхронизации данных (knowledge consistency checker, KCC) на Samba DC создаёт соглашения о репликациии с другими DC в этом доменном лесу AD.
Автоматическая генерация соединений репликации может занять до 15-ти минут.
Проверка статуса репликации выполняется командой
Согласно документации Samba, это предупреждение можно игнорировать.
Подробности см. Проверка статусов репликации каталогов.
Для оптимизации стоимости и времени репликации, KCC в Samba более не создаёт полносвязанную топологию репликации. Подпробности см. Samba KCC.
Запуск BIND
Для успешного запуска доменного сервиса BIND9 нужно предоставить сервису права на чтение конфигурационного файла /var/lib/samba/bind-dns/named.conf, а, точнее, предоставить права на поиск этого файла в каталоге /var/lib/samba/bind-dns:
...
==== INBOUND NEIGHBORS ====
...
DC=DomainDnsZones,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Thu Sep 24 20:08:45 2015 CEST was successful
0 consecutive failure(s).
Last success @ Thu Sep 24 20:08:45 2015 CEST
...
DC=ForestDnsZones,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Thu Sep 24 20:08:45 2015 CEST was successful
0 consecutive failure(s).
Last success @ Thu Sep 24 20:08:45 2015 CEST
Тестирование Samba AD DC
Проверка файлового сервера
Подробности см. Samba как контроллер домена AD
Проверка локального сервера DNS
Запрос у локального сервера разрешения доменного имени samdom.example.com:
host -t A samdom.example.com localhost
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases:
samdom.example.com has address 10.99.0.1
samdom.example.com has address 10.99.0.2
В случае, если это не так, см. документацию и журналы:
- Системный журнал;
- Журналы Samba;
- Журналы BIND, если используется BIND9_DLZ
Проверка Kerberos
Подробности см. Проверка Kerberos.
Настройка DNS на контроллерах домена
Настройка DNS на контроллерах домена крайне важна, так как репликация данных невозможна, если контроллер не может найти другие контроллеры.
Укажите IP-адрес DC как адрес первичного сервера DNS. Например, на новом присоединённом DC, используем адрес 10.99.0.2:
nameserver 10.99.0.2
search samdom.example.com
Настройка синхронизации времени
Kerberos требует синхронизации показаний часов у всех участников домена. Подробности см. Синхронизация времени.
Настройка Winbindd на Samba AD DC
Необязательно. Подробности см. Настройка Winbindd на Samba AD DC.
Использование контроллера домена в качестве файлового сервера
Подробности см. Samba как контроллер домена AD
Репликация Sysvol
Samba в настоящее время не поддерживает репликацию Sysvol. Неподдерживаемые обходные решения см. Репликация Sysvol.
Если на других DC в каталоге Sysvol есть что-то, кроме GPO по умолчанию, обязательно нужно синхронизировать Sysvol на новом DC, иначе samba-tool ntacl sysvolreset будет завершаться с ошибкой.
Тестирование репликации каталогов
Для проверки корректности работы репликации катлогов, добавьте нового пользователя на ранее устанвленном DC, и убедитесь, что он автоматически появился на новом DC.
Также, можно использовать инструмент сравнения ldapcmp, чтобы сравнить два каталога. Подробности см. samba-tool ldapcmp.
Поиск и устранение проблем
Подробности см. Поиск и устранение проблем