Product SiteDocumentation Site

53.2. Создание нового домена

53.2.1. С использованием сервиса Samba Active Directory

Сервис Samba Active Directory предназначен для управления Samba AD и позволяет:
  • разворачивать контроллеры домена Samba AD (создавать новый домен или присоединяться к существующему);
  • удалять контроллеры домена Samba AD;
  • просматривать информацию о параметрах, с которыми был развёрнут контроллер домена.
Для установки сервиса Samba Active Directory выполните команду:
# apt-get install alterator-service-samba-ad

53.2.1.1. Создание и запуск домена

53.2.1.1.1. В приложении Альт сервисы
Для разворачивания домена можно воспользоваться графическим приложением Альт сервисы (см. Альт Сервисы).
Для создания домена:
  1. В приложении Альт сервисы выберите сервис Samba AD и нажмите кнопку Развернуть:
    Сервис Samba AD — состояние
  2. На первом шаге мастера отображаются ресурсы, которые будут использованы сервисом. Убедитесь, что все необходимые ресурсы свободны, и нажмите кнопку Далее:
    Развертывание домена — проверка ресурсов

    Примечание

    В разделе Дополнительные опции при необходимости можно выбрать:
    • Принудительное развертывание (пропуск предварительных проверок) — сервис будет развёрнут независимо от текущего состояния системы (предварительная диагностика при этом невозможна);
    • Предварительная диагностика — выполнение проверки перед развёртыванием домена;
    • Пост-диагностика — выполнение проверки после развёртывания домена;
    • Запустить сразу же после развертывания — автоматический запуск сервиса после успешного завершения развёртывания.
  3. Если выбрана опция Предварительная диагностика, будут показаны диагностические тесты, которые будут выполнены для проверки возможности развёртывания домена:
    Тесты предварительной диагностики
  4. Если выбрана опция Пост-диагностика, будут показаны диагностические тесты, которые будут выполнены для проверки развёрнутого домена:
    Тесты пост-диагностики
  5. На следующем шаге выберите режим Создать новый домен и укажите параметры:
    • Пароль администратора — надёжный пароль для учётной записи Administrator;

      Примечание

      Пароль администратора должен быть не менее 7 символов и содержать символы минимум из трёх групп:
      • заглавные буквы (A–Z);
      • строчные буквы (a–z);
      • цифры (0–9);
      • специальные символы (например, !@#$%^&*).
      Пароль, не соответствующий требованиям, — это одна из причин завершения развёртывания домена ошибкой.
    • NetBIOS имя контроллера домена — имя DC (например, dc1);
    • NetBIOS имя — короткое имя домена (обычно совпадает с первой частью Realm, например, test);
    • Realm — полное DNS-имя домена (например, test.alt);
    • Тип базы — формат внутреннего хранилища каталога Samba:
      • tdb — формат по умолчанию (ограничение размера — до 4 ГБ);
      • mdb — формат на базе LMDB;
    • Использовать RFC 2307 — синхронизация UNIX UID/GID между узлами;
    • Функциональный уровень — определяет функциональность домена (DFL) и леса (FFL) и влияет на совместимость с версиями Windows Server (2008 — по умолчанию, или 2016);
    • Имя сайта — логическое расположение контроллера в AD;
    • Настройки DNS:
      • Серверы пересылки — внешние DNS-серверы, на которые будут пересылаться запросы к внешним доменам;
      • Бэкенд DNS — DNS-сервер для обслуживания доменной зоны: SAMBA_INTERNAL (встроенный DNS-сервер Samba) или BIND9 с динамической загрузкой зон из AD.
    Настройка параметров развёртывания домена
  6. Проверьте выбранные параметры и нажмите кнопку Подтвердить:
    Параметры развёртывания домена
  7. Введите пароль администратора системы (root) для подтверждения операции:
    Подтверждение подлинности
  8. После успешного развёртывания нажмите кнопку Завершить:
    Результат выполнения развертывания сервиса
    В окне Управление сервисами откроется вкладка Состояние с параметрами развёрнутого домена:
    Развёрнутый домен
  9. Запустите домен, нажав кнопку Запустить:
    Запуск домена
53.2.1.1.2. В командной строке (alteratorctl)
Создание контроллера домена test.alt с паролем администратора Pa$$word:
# alteratorctl services deploy service_samba_ad \
 --mode=create \
 --realm=test.alt \
 --netBiosName=test \
 --adminPassword='Pa$$word' \
 --dnsSettings.dnsBackend=SAMBA_INTERNAL \
 --dnsSettings.forwarders.0=8.8.8.8
где:
  • --mode=create — создать новый домен;
  • --realm — область Kerberos (LDAP) и DNS-имя домена;
  • --netBiosName — имя домена (имя рабочей группы);
  • --adminPassword — пароль основного администратора домена (если параметр не указан, пароль запрашивается в интерактивном режиме);
  • --dnsSettings.forwarders.0 — внешний DNS-сервер (при необходимости можно добавить несколько, указав --dnsSettings.forwarders.1 и т. д.).

Примечание

Пароль администратора должен быть не менее 7 символов и содержать символы минимум из трёх групп:
  • заглавные буквы (A–Z);
  • строчные буквы (a–z);
  • цифры (0–9);
  • специальные символы (например, !@#$%^&*).
Пароль, не соответствующий требованиям, — это одна из причин завершения развёртывания домена ошибкой.

Примечание

Параметр --use-rfc2307=true позволяет поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
Пример вывода:
Проверка конфликтов ресурсов...
Продолжить выполнение "deploy service_samba_ad --mode=create …" со следующими параметрами?

╔═══════════════════════════╤══════════════════╗
║adminPassword              │*******           ║
╟───────────────────────────┴──────────────────╢
║Пароль администратора.                        ║
╠═══════════════════════════╤══════════════════╣
║backendStore               │"tdb"             ║
╟───────────────────────────┴──────────────────╢
║Тип базы.                                     ║
║tdb подходит для небольших доменов, mdb для   ║
║крупных доменов.                              ║
╠═══════════════════════════╤══════════════════╣
║dnsSettings.dnsBackend     │"SAMBA_INTERNAL"  ║
╟───────────────────────────┴──────────────────╢
║Бэкенд DNS.                                   ║
║Бэкенд DNS для Samba AD.                      ║
╠═══════════════════════════╤══════════════════╣
║dnsSettings.forwarders.0   │"8.8.8.8"         ║
╟───────────────────────────┴──────────────────╢
║Настройки DNS.                                ║
║Настройки DNS для Samba AD.                   ║
╠═══════════════════════════╤══════════════════╣
║functionalLevel            │"2008_R2"         ║
╟───────────────────────────┴──────────────────╢
║Функциональный уровень.                       ║
║Функциональный уровень домена.                ║
╠═══════════════════════════╤══════════════════╣
║hostNetBiosName            │"dc1"             ║
╟───────────────────────────┴──────────────────╢
║NetBios имя контроллера домена.               ║
╠═══════════════════════════╤══════════════════╣
║mode                       │"create"          ║
╟───────────────────────────┴──────────────────╢
║Режим.                                        ║
║Присоединиться к существующему домену или     ║
║создать новый домен.                          ║
╠═══════════════════════════╤══════════════════╣
║netBiosName                │"test"            ║
╟───────────────────────────┴──────────────────╢
║NetBios имя.                                  ║
║NetBios имя домена, например example.         ║
╠═══════════════════════════╤══════════════════╣
║realm                      │"test.alt"        ║
╟───────────────────────────┴──────────────────╢
║Realm.                                        ║
║DNS имя домена, например example.com.         ║
╠═══════════════════════════╤══════════════════╣
║useRfc2307                 │false             ║
╟───────────────────────────┴──────────────────╢
║Использовать RFC 2307.                        ║
║RFC 2307 атрибуты позволяют хранить информацию║
║о пользователях и группах Unix в каталоге     ║
║LDAP.                                         ║
╚══════════════════════════════════════════════╝
Продолжить? [y/N] y

...
Samba AD successfully provisioned and system has been configured.
После успешного развёртывания запустите домен:
# alteratorctl services start service_samba_ad
Если уровень домена не указан, домен разворачивается на уровне 2008_R2. Для разворачивания домена на другом уровне его необходимо указать явно, например:
# alteratorctl services deploy service_samba_ad \
 --mode=create \
 --realm=test.alt \
 --netBiosName=test \
 --adminPassword='Pa$$word' \
 --dnsSettings.dnsBackend=SAMBA_INTERNAL \
 --dnsSettings.forwarders.0=8.8.8.8 \
 --functionalLevel=2016

Примечание

Если необходим уровень 2012_R2, то следует сначала развернуть домен на уровне 2008_R2, а затем повысить его до 2012_R2 (см. Повышение уровня схемы, функционального уровня домена).

53.2.1.2. Проверка работоспособности домена

Просмотр общей информации о домене:
# samba-tool domain info 127.0.0.1
Forest           : test.alt
Domain           : test.alt
Netbios domain   : TEST
DC name          : dc1.test.alt
DC netbios name  : DC
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name
Просмотр предоставляемых служб:
# smbclient -L localhost -Uadministrator
Password for [TEST\administrator]:

Sharename       Type      Comment
---------       ----      -------
sysvol          Disk
netlogon        Disk
IPC$            IPC       IPC Service (Samba 4.21.9-alt1)
SMB1 disabled -- no workgroup available
Общие ресурсы netlogon и sysvol создаваемые по умолчанию нужны для функционирования сервера и создаются в smb.conf в процессе развертывания/модернизации.
Проверка конфигурации DNS:
  • Убедиться в наличии nameserver 127.0.0.1 в /etc/resolv.conf:
    # cat /etc/resolv.conf
    nameserver 127.0.0.1
    search test.alt
    
    # host test.alt
    test.alt has address 192.168.0.132
    test.alt has IPv6 address fd47:d11e:43c1:0:a00:27ff:fe49:2df
    
  • Проверить имена хостов:
    # host -t SRV _kerberos._udp.test.alt.
    _kerberos._udp.test.alt has SRV record 0 100 88 dc1.test.alt
    # host -t SRV _ldap._tcp.test.alt.
    _ldap._tcp.test.alt has SRV record 0 100 389 dc1.test.alt.
    # host -t A dc1.test.alt.
    dc1.test.alt has address 192.168.0.132
    
    Если имена не находятся, необходимо проверить выключение службы named.
Проверка Kerberos (имя домена должно быть в верхнем регистре):
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Просмотр полученного билета:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@TEST.ALT

Valid starting       Expires              Service principal
19.08.2025 17:13:17  20.08.2025 03:13:17  krbtgt/TEST.ALT@TEST.ALT
renew until 20.08.2025 17:13:14

53.2.1.3. Добавление дополнительного контроллера домена

Для обеспечения отказоустойчивости и балансировки нагрузки в домен могут добавляться дополнительные контроллеры домена.
Добавление дополнительного DC выполняется путём присоединения сервера к существующему домену.

Примечание

Функциональные уровни леса и домена на существующем DC и дополнительном DC должны совпадать.
53.2.1.3.1. В приложении Альт сервисы
Для добавления контроллера домена к существующему домену:
  1. В приложении Альт сервисы выберите сервис Samba AD и нажмите кнопку Развернуть:
    Состояние сервиса Samba AD
  2. Убедитесь, что все необходимые ресурсы свободны, и нажмите кнопку Далее:
    Развертывание домена — проверка ресурсов
  3. Если выбрана опция Предварительная диагностика, будет отображён список тестов, выполняемых для проверки возможности развёртывания домена:
    Тесты предварительной диагностики
  4. Если выбрана опция Пост-диагностика, будет отображён список тестов, выполняемых для проверки уже развёрнутого домена:
    Тесты пост-диагностики
  5. На следующем шаге выберите режим Присоединиться к существующему домену и укажите параметры:
    • Логин администратора — учётная запись с правами администратора домена;
    • IPv4 адрес контроллера домена — IP-адрес основного DC;
    • Роль сервера — контроллер домена или контроллер только для чтения (RODC);
    • NetBIOS имя контроллера домена — уникальное имя нового DC (например, dc2).
    Остальные параметры (NetBIOS, Realm, DNS) должны совпадать с настройками основного контроллера.
    Параметры для присоединения к существующему домену
  6. Проверьте параметры и нажмите кнопку Подтвердить:
    Параметры развёртывания домена
  7. Введите пароль администратора системы (root) для подтверждения операции:
    Подтверждение подлинности
  8. После успешного развёртывания нажмите кнопку Завершить.
  9. Запустите домен, нажав кнопку Запустить:
    Запуск домена

Примечание

После присоединения нового контроллера домена службе репликации может потребоваться до 15 минут для автоматического формирования подключений и начала синхронизации данных.
53.2.1.3.2. В командной строке (alteratorctl)
Добавление контроллера домена к существующему домену:
# alteratorctl services deploy service_samba_ad \
 --mode=join \
 --mode.join.adminLogin=Administrator \
 --mode.join.serverRole=dc \
 --mode.join.ipAddressDc=192.168.0.132 \
 --realm=test.alt \
 --netBiosName=test \
 --adminPassword='Pa$$word' \
 --dnsSettings.forwarders.0=8.8.8.8
где:
  • --mode=join — присоединение к домену;
  • --mode.join.adminLogin — логин администратора домена;
  • --mode.join.serverRole — роль сервера Samba AD;
  • --mode.join.ipAddressDc — IPv4-адрес контроллера домена в существующем домене;
  • --adminPassword — пароль основного администратора домена (если параметр не указан, пароль запрашивается в интерактивном режиме);
  • --dnsSettings.forwarders.0 — внешний DNS-сервер (при необходимости можно добавить несколько, указав --dnsSettings.forwarders.1 и т. д.).
Пример вывода:
Проверка конфликтов ресурсов...
Продолжить выполнение "deploy service_samba_ad --mode=join ..." со следующими параметрами?

╔═══════════════════════════╤══════════════════╗
║adminPassword              │*******           ║
╟───────────────────────────┴──────────────────╢
║Пароль администратора.                        ║
╠═══════════════════════════╤══════════════════╣
║backendStore               │"tdb"             ║
╟───────────────────────────┴──────────────────╢
║Тип базы.                                     ║
║tdb подходит для небольших доменов, mdb для   ║
║крупных доменов.                              ║
╠═══════════════════════════╤══════════════════╣
║dnsSettings.dnsBackend     │"SAMBA_INTERNAL"  ║
╟───────────────────────────┴──────────────────╢
║Бэкенд DNS.                                   ║
║Бэкенд DNS для Samba AD.                      ║
╠═══════════════════════════╤══════════════════╣
║dnsSettings.forwarders.0   │"8.8.8.8"         ║
╟───────────────────────────┴──────────────────╢
║Настройки DNS.                                ║
║Настройки DNS для Samba AD.                   ║
╠═══════════════════════════╤══════════════════╣
║functionalLevel            │"2008_R2"         ║
╟───────────────────────────┴──────────────────╢
║Функциональный уровень.                       ║
║Функциональный уровень домена.                ║
╠═══════════════════════════╤══════════════════╣
║hostNetBiosName            │"dc2"             ║
╟───────────────────────────┴──────────────────╢
║NetBios имя контроллера домена.               ║
╠═══════════════════════════╤══════════════════╣
║mode                       │"join"            ║
╟───────────────────────────┴──────────────────╢
║Режим.                                        ║
║Присоединиться к существующему домену или     ║
║создать новый домен.                          ║
╠═══════════════════════════╤══════════════════╣
║mode.join.adminLogin       │"Administrator"   ║
╟───────────────────────────┴──────────────────╢
║Логин администратора.                         ║
║Логин администратора домена. Необходим для    ║
║присоединения DC к существующему домену и     ║
║понижению контроллера домена.                 ║
╠═══════════════════════════╤══════════════════╣
║mode.join.ipAddressDc      │"192.168.0.132"   ║
╟───────────────────────────┴──────────────────╢
║IPv4 адрес контроллера домена.                ║
║IPv4 адрес контроллера домена в существующем  ║
║домене.                                       ║
╠═══════════════════════════╤══════════════════╣
║mode.join.serverRole       │"dc"              ║
╟───────────────────────────┴──────────────────╢
║Роль сервера.                                 ║
║Роль сервера Samba AD.                        ║
╠═══════════════════════════╤══════════════════╣
║netBiosName                │"test"            ║
╟───────────────────────────┴──────────────────╢
║NetBios имя.                                  ║
║NetBios имя домена, например example.         ║
╠═══════════════════════════╤══════════════════╣
║realm                      │"test.alt"        ║
╟───────────────────────────┴──────────────────╢
║Realm.                                        ║
║DNS имя домена, например example.com.         ║
╠═══════════════════════════╤══════════════════╣
║useRfc2307                 │false             ║
╟───────────────────────────┴──────────────────╢
║Использовать RFC 2307.                        ║
║RFC 2307 атрибуты позволяют хранить информацию║
║о пользователях и группах Unix в каталоге     ║
║LDAP.                                         ║
╚══════════════════════════════════════════════╝
Продолжить? [y/N] y
…
active
inactive
Samba AD successfully joined domain 'test.alt' and system has been configured.
Saving deployment configuration to /var/lib/alterator/service/samba-ad/status.json
После успешного присоединения запустите службу:
# alteratorctl services start service_samba_ad

Примечание

После присоединения нового контроллера домена службе репликации может потребоваться до 15 минут для автоматического формирования подключений и начала синхронизации данных.