Ай Лайн
Связаться
Отдел продаж +7 (812) 385-74-84
Время работы пн-пт с 9:00 до 18:00

Дополнительный контроллер домена AD на Linux + Samba DC

Для резервного контроллера лучше всего использовать Debian, если нет каких-то дополнительных требований. Изначально пытался сделать с Ubuntu - огромное количество проблем из-за сетевых служб. Основная проблема с Ubuntu - имена не распознаются в локальной сети.

Инструкция актуальна для Debian 12 + Samba 4.17
Изначально предполагается, что на сервер прилетает DHCP c DNS, указывающим на контроллер домена

Делаем дополнительный контроллер на Linux

  1. Обновляем пакеты и ставим samba с необходимыми пакетами

    apt update && apt install samba heimdal-clients winbind -y
    
  2. Редактируем конфиг файл Kerberos

    nano /etc/krb5.conf
    
  3. Добавляем\редактируем туда строки в раздел libdefaults

    [libdefaults]
        dns_lookup_realm = false
        dns_lookup_kdc = true
        default_realm = полное_имя_домена
    
  4. Получаем билет kerberos, чтобы проверить авторизацию

    kinit имя_пользователя_в_домене
    
  5. Проверяем, что получили, командой klist (отобразится список билетов, если всё ок)

    klist

  6. Подключаемся к домену

    samba-tool domain join полное_имя_домена DC -U"имя_домена\доменный_админ"
    
  7. Если все ок, то в конце получаем строчку

    Joined domain имя_домена (SID номер_сида) as a DC
    
  8. На контроллере с Windows добавляем подключение к домену на Samba для работы репликации в обе стороны

    На контроллере с Windows добавляем подключение к домену на Samba для работы репликации в обе стороны
    Открываем Active Directory - сайты и службы, выбираем новый контроллер на Samba (в данном случае SRV-DC02), выбираем NTDS Settings, в поле справа нажимаем ПКМ - Создать - Подключение, там выбираем второй домен, откуда реплицируемся. В итоге должно быть как на скрине. Т.е. на КД с Windows будет отображаться КД Samba, а на КД Samba - КД Windows.

  9. Ждем минут 15-20, проверяем репликацию
    Со стороны Linux

    samba-tool drs showrepl

    Смотрим, что нет фейлов и видно соседей. Пример вывода

    Default-First-Site-Name\SRV-DC02
    DSA Options: 0x00000001
    DSA object GUID: f4160f3d-37ce-4e20-af87-60eb94f68ffd
    DSA invocationId: e18fc6cd-7367-4f43-945f-97adf803f7c1
    
    ==== INBOUND NEIGHBORS ====
    
    CN=Configuration,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 18:18:38 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 18:18:38 2023 MSK
    
    CN=Schema,CN=Configuration,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 18:18:38 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 18:18:38 2023 MSK
    
    DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 18:20:15 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 18:20:15 2023 MSK
    
    DC=DomainDnsZones,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 18:18:38 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 18:18:38 2023 MSK
    
    DC=ForestDnsZones,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 18:18:38 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 18:18:38 2023 MSK
    
    ==== OUTBOUND NEIGHBORS ====
    
    CN=Configuration,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 18:08:45 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 18:08:45 2023 MSK
    
    CN=Schema,CN=Configuration,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 14:36:04 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 14:36:04 2023 MSK
    
    DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 14:36:04 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 14:36:04 2023 MSK
    
    DC=DomainDnsZones,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 14:36:04 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 14:36:04 2023 MSK
    
    DC=ForestDnsZones,DC=ad,DC=example,DC=com
            Default-First-Site-Name\SRV-DC01 via RPC
                    DSA object GUID: 962d0c6a-4884-4f62-9e34-bb21f6165b85
                    Last attempt @ Thu Jul 20 14:36:04 2023 MSK was successful
                    0 consecutive failure(s).
                    Last success @ Thu Jul 20 14:36:04 2023 MSK
    
    ==== KCC CONNECTION OBJECTS ====
    
    Connection --
            Connection name: SRV-DC01
            Enabled        : TRUE
            Server DNS name : SRV-DC01.ad.example.com
            Server DN name  : CN=NTDS Settings,CN=SRV-DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=ad,DC=example,DC=com
                    TransportType: RPC
                    options: 0x00000000
    Warning: No NC replicated for Connection!
    Connection --
            Connection name: a58daa83-8abd-4b28-b386-6089f66a7bb2
            Enabled        : TRUE
            Server DNS name : SRV-DC01.ad.example.com
            Server DN name  : CN=NTDS Settings,CN=SRV-DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=ad,DC=example,DC=com
                    TransportType: RPC
                    options: 0x00000001
    Warning: No NC replicated for Connection!
    

    Со стороны Windows

    repadmin /showrepl
    

    Также смотрим ошибки и наличие соседей. Пример вывода

    Repadmin: выполнение команды /showrepl контроллере домена localhost с полным доступом
    Default-First-Site-Name\SRV-DC01
    Параметры DSA: IS_GC
    Параметры сайта: (none)
    DSA - GUID объекта: 962d0c6a-4884-4f62-9e34-bb21f6165b85
    DSA - код вызова: a8539ab0-7014-4f61-83c9-04aff4e56b93
    
    ==== ВХОДЯЩИЕ СОСЕДИ   ======================================
    
    DC=ad,DC=example,DC=com
        Default-First-Site-Name\SRV-DC02 через  RPC
            DSA - GUID объекта: f4160f3d-37ce-4e20-af87-60eb94f68ffd
            Последняя попытка @ 2023-07-20 16:45:01 успешна.
    
    CN=Configuration,DC=ad,DC=example,DC=com
        Default-First-Site-Name\SRV-DC02 через  RPC
            DSA - GUID объекта: f4160f3d-37ce-4e20-af87-60eb94f68ffd
            Последняя попытка @ 2023-07-20 17:23:45 успешна.
    
    CN=Schema,CN=Configuration,DC=ad,DC=example,DC=com
        Default-First-Site-Name\SRV-DC02 через  RPC
            DSA - GUID объекта: f4160f3d-37ce-4e20-af87-60eb94f68ffd
            Последняя попытка @ 2023-07-20 16:45:01 успешна.
    
    DC=DomainDnsZones,DC=ad,DC=example,DC=com
        Default-First-Site-Name\SRV-DC02 через  RPC
            DSA - GUID объекта: f4160f3d-37ce-4e20-af87-60eb94f68ffd
            Последняя попытка @ 2023-07-20 16:45:01 успешна.
    
    DC=ForestDnsZones,DC=ad,DC=example,DC=com
        Default-First-Site-Name\SRV-DC02 через  RPC
            DSA - GUID объекта: f4160f3d-37ce-4e20-af87-60eb94f68ffd
            Последняя попытка @ 2023-07-20 16:45:01 успешна.
    
  10. Добавляем репликацию SysVol на Samba
    На стороне Windows делаем задачу с параметрами
    Триггер - Ежедневно, повторять каждый день, повторять задачу каждые 5 минут в течение бесконечно
    Действие - запуск robocopy, аргументы - \\основной_кд\sysvol\имя_домен\ \\второй_кд\sysvol\имя_домен\ /mir /sec

Пример аргументов robocopy:

\\SRV-DC01\SYSVOL\ad.example.com\ \\SRV-DC02\SYSVOL\ad.example.com\ /mir /sec

После этого раз в 5 минут на домен с Samba будет улетать копия папки со всеми политиками и скриптами. В обратную сторону это не работает, но при необходимости можно добавить синхронизацию через rsync — см. Samba DC — репликация SYSVOL.

Оставить заявку