Добавление подчиненного домена
Для добавления подчиненного домена в лес Active Directory с помощью утилиты samba-tool используется подкоманда domain add.
| Для запуска подкоманды требуются права суперпользователя (root/sudo). |
Общие сведения
Подчиненный домен — домен, который является частью иерархической структуры леса. Это может быть дочерний домен или домен — корень дополнительного дерева.
Эллес поддерживает операции по созданию новых подчиненных доменов в существующих лесах, а также операции включения в существующие домены в лесу.
| В текущей версии Эллес поддерживается создание дочерних доменов второго уровня. |
Предварительные требования
Для успешного добавления подчиненного домена должны быть выполнены следующие требования:
-
Развернут лес доменов на базе Microsoft Active Directory Domain Services (AD DS) и/или Эллес.
В текущей версии Эллес полноценная работа подчиненных доменов обеспечивается при развертывании в лесу, созданном на базе Microsoft Active Directory Domain Services (AD DS). -
В лесу доступен контроллер домена с FSMO-ролью Domain Naming Master.
-
На сервере, который будет использоваться для развертывания, установлены требуемые пакеты и выполнена настройка синхронизации времени, службы DNS и аутентификации Kerberos, обеспечивающая разрешение имен и получение билетов в рамках сетевого взаимодействия с родительским доменом или корневым доменом леса (см. примеры настроек Kerberos и DNS в разделе «Создание подчиненного домена в лесу»).
Для корректного разрешения доменных имен и выполнения репликации при взаимодействии с серверами в родительском домене необходимо явно отключить проверку подписания зон DNS в конфигурации BIND 9 в создаваемом подчиненном домене:
options { ... dnssec-validation no; ... }; -
При выполнении операции добавления используются учетные данные пользователя, включенного в группу Enterprise Admins.
Формат вызова
samba-tool domain add <child-dnsdomain-name>|<tree-root-dnsdomain-name> <parent-dnsdomain-name>|<forest-root-dnsdomain-name> [options]
По умолчанию подкоманда создает подчиненный домен с указанным именем (child-dnsdomain-name) в указанном родительском домене (parent-dnsdomain-name) в соответствии с переданными дополнительными параметрами.
Если при вызове подкоманды передается параметр --role=tree-root, создается домен — корень нового дерева доменов (tree-root-dnsdomain-name) в лесе с указанным корневым доменом (forest-root-dnsdomain-name).
|
Для успешного завершения работы подкоманды дополнительно рекомендуется изменить значение времени ожидания соединения с сервером RPC с помощью конфигурационного параметра --option="rpc connection timeout = 120" После успешного выполнения операции значение может быть изменено или может быть восстановлено значение по умолчанию. Для этого необходимо отредактировать значение параметра в конфигурационном файле smb.conf или удалить его из файла. |
Параметры
Параметры вызова:
-
DNS-имя развертываемого домена (должно быть уникальным в пределах леса):
-
<child-dnsdomain-name>— DNS-имя добавляемого дочернего домена;DNS-имя должно продолжать пространство имен родительского домена. При вызове подкоманды может передаваться только имя дочернего домена (например,
subsamdom) или полное имя, включая имя родительского домена (например,subsamdom.samdom.example.com). -
<tree-root-dnsdomain-name>— DNS-имя добавляемого домена — корня дополнительного дерева;DNS-имя не должно продолжать пространство имен корневого домена леса и не должно быть связано иерархически с существующими именами доменов в лесу.
-
-
DNS-имя существующего домена, используемого при развертывании:
-
<parent-dnsdomain-name>— DNS-имя родительского домена; -
<forest-root-dnsdomain-name>— DNS-имя корневого домена леса.
-
Дополнительные параметры:
-
--role=subdomain|tree-root— роль добавляемого сервера:-
subdomain— сервер будет выполнять роль первого контроллера в дочернем домене; -
tree-root— сервер будет выполнять роль первого контроллера в домене — корне дополнительного дерева;
-
-
--site=SITE— сайт, в который должен быть добавлен контроллер домена; -
--server=SERVER— имя сервера контроллера домена, который должен выступать в качестве прокси для операции добавления подчиненного домена; -
--realm— область безопасности (realm) Kerberos; -
--domain-critical-only— включать в репликацию только критически важные доменные объекты; -
--dns-backend=NAMESERVER-BACKEND— DNS-сервер, который будет использоваться на развертываемом контроллере домена; возможные значения:SAMBA_INTERNAL | BIND9_DLZ | NONE; значение по умолчанию —SAMBA_INTERNAL; -
--machinepass=PASSWORD— пароль учетной записи компьютера (если не указан, генерируется случайным образом); -
--adminpass=ADMINPASS— пароль администратора домена (если не указан, генерируется случайным образом); -
--dnspass=PASSWORD— пароль для доступа к DNS-серверу (если не указан, генерируется случайным образом); -
--krbtgtpass=PASSWORD— пароль для учетной записи KRBTGT (если не указан, генерируется случайным образом); -
--plaintext-secrets— хранение секретов в незашифрованном виде на диске; по умолчанию используется шифрование; -
--backend-store=BACKENDSTORE— тип базы данных каталога; возможные значения:tdb | mdb; значение по умолчанию —tdb; -
--backend-store-size=SIZE— максимальный размер файлов базы данных каталога; поддерживается только для баз данных LMDB (--backend-store=mdb); значение по умолчанию — 8 ГБ; -
--targetdir=DIR— каталог для выполнения инициализации; -
--no-dns-updates— выключение обновления данных DNS при добавлении подчиненного домена; значение по умолчанию —False; -
--no-gc— выключение роли Global Catalog (GC) для нового контроллера при добавлении подчиненного домена; значение по умолчанию —False; -
--function-level— функциональный уровень (режим работы) подчиненного домена; возможные значения:2008_R2 | 2012 | 2012_R2 | 2016; значение по умолчанию —2016;При добавлении подчиненного домена выполняется проверка: функциональный уровень леса =< функциональный уровень домена =< максимальный функциональный уровень контроллера PDC добавляемого домена.
Также подкоманда проверяет текущее значение версии схемы каталога. Если версия схемы ниже, чем в дистрибутиве Эллес, то для успешного выполнения операции:
-
у пользователя, от имени которого вызывается подкоманда, должны быть права администратора схемы (членство в группе
Schema Admins); -
должен быть доступен сервер с FSMO-ролью Schema Master.
Если хотя бы одно условие не выполняется, подкоманда прерывается с выводом сообщения об ошибке. Если все условия выполняются, выводится предупреждение об обновлении схемы и запрос подтверждения операции. При получении подтверждения обновляется схема, после чего добавляется подчиненный домен.
-
-
--option="<parameter name> = <parameter value>"— переопределение значения параметра в конфигурационном файле smb.conf;Например, при выполнении подкоманды рекомендуется увеличить время ожидания соединения с сервером RPC:
--option="rpc connection timeout = 120"
-
--force-cleanup-previous-add— принудительная очистка результатов предыдущих запусков операцииadd; -
-v|--verbose— вывод подробной информации в процессе выполнения операции; -
-q|--quiet— отключение вывода диагностических сообщений в процессе выполнения операции.
Пример добавления дочернего домена
Пример добавления дочернего домена (subsamdom) в родительский домен (samdom.example.com):
samba-tool domain add subsamdom samdom.example.com -U Administrator@SAMDOM.EXAMPLE.COM \
--function-level=2012_R2 \
--dns-backend=BIND9_DLZ \
--backend-store=mdb \
--option="rpc connection timeout = 120"
В случае успешного завершения операции в конце вывода отображается сообщение:
INFO 2025-03-28 19:19:40,823 pid:1024 /app/inno-samba/lib/python3.7/site-packages/samba/add.py #1452: Added domain subsamdom.samdom.example.com (SID S-1-5-21-207620958-708556064-199204346) as a DC
При этом в списке доверительных отношений:
-
на контроллере Эллес в дочернем домене доступна запись о двустороннем транзитивном доверительном отношении с родительским доменом:
samba-tool domain trust list Type[Parent] Transitive[Yes] Direction[BOTH] Name[samdom.example.com]
-
на контроллере Эллес в родительском домене доступна запись о двустороннем транзитивном доверительном отношении с дочерним доменом:
samba-tool domain trust list Type[Child] Transitive[Yes] Direction[BOTH] Name[subsamdom.samdom.example.com]
-
на контроллере на ОС Windows Server в родительском домене в оснастке Active Directory Domains and Trusts на вкладке Trusts окна свойств домена доступна запись о двустороннем транзитивном доверительном отношении типа
Parent-Childс дочерним доменом.
Пример добавления домена — корня дополнительного дерева
Пример добавления домена — корня нового дерева (newsamdom.net) в лес:
samba-tool domain add newsamdom.net samdom.example.com -U Administrator@SAMDOM.EXAMPLE.COM \
--role=tree-root \
--function-level=2012_R2 \
--dns-backend=BIND9_DLZ \
--backend-store=mdb \
--option="rpc connection timeout = 120"
В случае успешного завершения операции в конце вывода отображается сообщение:
INFO 2025-03-28 19:19:40,823 pid:1621 /app/inno-samba/lib/python3.7/site-packages/samba/add.py #1452: Added domain newsamdom.net (SID S-1-5-21-1881019063-1858864412-2730101106) as a DC
При этом в списке доверительных отношений:
-
на контроллере Эллес в домене — корне дерева доступна запись о двустороннем транзитивном доверительном отношении с корневым доменом леса:
samba-tool domain trust list Type[TreeRoot] Transitive[Yes] Direction[BOTH] Name[samdom.example.com]
-
на контроллере Эллес в корневом домене леса доступна запись о двустороннем транзитивном доверительном отношении с доменом — корнем дерева:
samba-tool domain trust list Type[TreeRoot] Transitive[Yes] Direction[BOTH] Name[newsamdom.net]
-
на контроллере на ОС Windows Server в корневом домене леса в оснастке Active Directory Domains and Trusts на вкладке Trusts окна свойств корневого домена доступна запись о двустороннем транзитивном доверительном отношении типа
Tree Rootс доменом — корнем дерева.