Product SiteDocumentation Site

2.5. Присоединение к домену в роли контроллера домена

Для обеспечения отказоустойчивости и балансировки нагрузки в домен могут добавляться дополнительные контроллеры домена.
Системные требования к дополнительному DC такие же, как и для первого DC (см. Системные требования к контроллеру домена Samba AD).

Примечание

В терминологии контроллеров домена нет понятия PDC/BDC, т.е. все контроллеры равны, но один из них выступает владельцем ролей FSMO (см. Просмотр и передача ролей FSMO).
На дополнительном домене необходимо настроить NTP для работы в режиме сервер (см. Настройка NTP-сервера).
Заведение дополнительного контроллера домена выполняется путём присоединения дополнительного DC к существующему домену.
Команда присоединения к домену в роли контроллера домена:
# samba-tool domain join <dnsdomain> [DC|RODC|MEMBER] [options]
Некоторые параметры, используемые в команде samba-tool domain join:
  • --realm REALM_NAME — имя области Kerberos (LDAP), и DNS имя домена;
  • --dns-backend=NAMESERVER-BACKEND — бэкенд DNS-сервера: SAMBA_INTERNAL — встроенный сервер имен (по умолчанию), BIND9_DLZ — использует Samba AD для хранения информации о зоне, NONE — полностью пропускает настройку DNS (этот DC не будет DNS-сервером);

    Примечание

    На втором DC необходимо иметь DNS-бэкенд аналогичный первому DC.

    Примечание

    При использовании SAMBA_INTERNAL, необходимо указать значение dns forwarder, чтобы на новом сервере была настроена пересылка запросов:
    --option="dns forwarder=forwarder_ip_address"
    Форвардером может быть как вышестоящий DNS-сервер организации, так и публичные от google или yandex, например:
    --option="dns forwarder=8.8.8.8"
  • --option='idmap_ldb:use rfc2307 = yes' — если первый контроллер домена создавался с ключом --rfc2307, то и для текущего необходимо это учесть, указав данный параметр;
  • --site=SITE — привязка контроллера домена к определенному сайту AD;
  • --option="interfaces= lo eth0" --option="bind interfaces only=yes" — привязка Samba к указанным сетевым интерфейсам сервера (если их несколько); указание данной опции позволяет samba-tool зарегистрировать корректный IP-адрес при присоединении;
  • --option="ad dc functional level = LEVEL" — функциональный уровень AD. Возможные значения: 2008_R2 (по умолчанию), 2012, 2012_R2.

    Примечание

    При присоединении к существующему домену рекомендуется указывать функциональный уровень не выше текущего уровня домена.

Примечание

Для получения дополнительной информации о параметрах команды samba-tool domain join можно воспользоваться командой:
# samba-tool domain join --help

Таблица 2.3. Параметры контроллеров домена

IP-адрес
Полное доменное имя (FQDN)
Существующий DC
192.168.0.122
dc1.test.alt
Добавляемый DC
192.168.0.123
dc2.test.alt
Для сервера, на котором будет разворачиваться контроллер домена, должен быть назначен статический IP-адрес и установлено правильное имя узла.
Установить имя узла можно, выполнив команду:
# hostnamectl set-hostname dc2.test.alt

Примечание

После изменения имени компьютера могут перестать запускаться приложения. Для решения этой проблемы необходимо перезагрузить систему.

2.5.1. Заведение дополнительного контроллера домена c бэкендом SAMBA_INTERNAL

Все действия, указанные ниже, выполняются на узле dc2.test.alt (192.168.0.123), если не указано иное.

Примечание

Для выполнения операции присоединения к домену требуется пароль администратора домена.
Этапы настройки сервера и присоединения к домену в роли контроллера домена:
  1. Установить пакет task-samba-dc, который установит все необходимое:
    # apt-get install task-samba-dc
    
  2. На добавляемом DC в /etc/resolv.conf обязательно должен быть добавлен первый DC как nameserver:
    # echo "name_servers=192.168.0.122" >> /etc/resolvconf.conf
    # echo "search_domains=test.alt" >> /etc/resolvconf.conf
    # resolvconf -u
    # cat /etc/resolv.conf
    search test.alt
    nameserver 192.168.0.122
    nameserver 8.8.8.8
    
  3. Остановить конфликтующие службы krb5kdc и slapd, а также bind:
    # for service in smb nmb krb5kdc slapd bind; do systemctl disable $service; systemctl stop $service; done
    
  4. Очистить базы и конфигурацию Samba (домен, если он создавался до этого, будет удалён):
    # rm -f /etc/samba/smb.conf
    # rm -rf /var/lib/samba
    # rm -rf /var/cache/samba
    # mkdir -p /var/lib/samba/sysvol
    
  5. На существующем контроллере домена завести IP-адрес для нового DC (команда выполняется на узле dc1.test.alt):
    # samba-tool dns add 192.168.0.122 test.alt DC2 A 192.168.0.123 -Uadministrator
    Password for [TEST\administrator]:
    Record added successfully
    

    Предупреждение

    Указание аутентифицирующей информации (имени пользователя и пароля) обязательно!

    Примечание

    Синтаксис команды samba-tool dns add см. в разделе Администрирование DNS
  6. На новом контроллере домена установить следующие параметры в файле конфигурации клиента Kerberos (/etc/krb5.conf):
    [libdefaults]
    default_realm = TEST.ALT
    dns_lookup_realm = false
    dns_lookup_kdc = true
    
  7. Запросить билет Kerberos администратора домена:
    # kinit administrator@TEST.ALT
    Password for administrator@TEST.ALT:
    

    Предупреждение

    Имя домена должно быть указано в верхнем регистре.
    Убедиться, что билет получен:
    # klist
    Ticket cache: KEYRING:persistent:0:0
    Default principal: administrator@TEST.ALT
    
    Valid starting       Expires              Service principal
    27.03.2024 14:14:36  28.03.2024 00:14:36  krbtgt/TEST.ALT@TEST.ALT
    	renew until 28.03.2024 14:14:32
    
  8. Ввести дополнительный DC в домен test.alt в качестве контроллера домена:
    # samba-tool domain join test.alt DC -Uadministrator \
    --realm=test.alt --option="dns forwarder=8.8.8.8"
    
    Если всё нормально, в конце будет выведена информация о присоединении к домену:
    Joined domain TEST (SID S-1-5-21-80639820-2350372464-3293631772) as a DC
    
  9. Установить службу samba запускаемой по умолчанию и запустить её:
    # systemctl enable --now samba