Добавление подчиненного домена

Для добавления подчиненного домена в лес Active Directory с помощью утилиты samba-tool используется подкоманда domain add.

Для запуска подкоманды требуются права суперпользователя (root/sudo).

Общие сведения

Подчиненный домен — домен, который является частью иерархической структуры леса. Это может быть дочерний домен или домен — корень дополнительного дерева.

Эллес поддерживает операции по созданию новых подчиненных доменов в существующих лесах, а также операции включения в существующие домены в лесу.

В текущей версии Эллес поддерживается создание дочерних доменов второго уровня.

Предварительные требования

Для успешного добавления подчиненного домена должны быть выполнены следующие требования:

  1. Развернут лес доменов на базе Microsoft Active Directory Domain Services (AD DS) и/или Эллес.

    В текущей версии Эллес полноценная работа подчиненных доменов обеспечивается при развертывании в лесу, созданном на базе Microsoft Active Directory Domain Services (AD DS).
  2. В лесу доступен контроллер домена с FSMO-ролью Domain Naming Master.

  3. На сервере, который будет использоваться для развертывания, установлены требуемые пакеты и выполнена настройка синхронизации времени, службы DNS и аутентификации Kerberos, обеспечивающая разрешение имен и получение билетов в рамках сетевого взаимодействия с родительским доменом или корневым доменом леса (см. примеры настроек Kerberos и DNS в разделе «Создание подчиненного домена в лесу»).

  4. При выполнении операции добавления используются учетные данные пользователя, включенного в группу 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 с помощью конфигурационного параметра rpc connection timeout:

--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;

  • --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 \
    --option="ad dc functional level = 2016" \
    --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 \
    --option="ad dc functional level = 2016" \
    --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 с доменом — корнем дерева.