Product SiteDocumentation Site

5.2.2. Samba DC и Windows Server с AD

Таблица 5.3. Исходные данные

Имя домена
Контроллер домена
IP-адрес
ОС
Уровень работы домена
Версия Samba
Домен Linux
TEST.ALT
dc1.test.alt
192.168.0.122
ALT Server 10.2
2012_R2
4.19.6
Домен Windows
WIN.ALT
DC1.win.alt
192.168.0.190
Windows Server 2012
2012R2
Выделенный DNS-сервер
192.168.0.150
ALT Server 10.2

5.2.2.1. Windows Server с AD

На AD сервере создать сервер условной пересылки для зоны Samba домена.
В графическом интерфейсе:
  1. Открыть Диспетчер DNS (DNS Manager).
  2. В разделе Серверы условной пересылки (Conditional Forwarders) добавить новый сервер пересылки, указав FQDN или IP-адрес сервера Samba:
    Диспетчер DNS
  3. Сохранить настройки.
В командной строке:
C:\> dnscmd 127.0.0.1 /ZoneAdd test.alt /Forwarder 192.168.0.122
DNS Server 127.0.0.1 created zone test.alt:

Command completed successfully
Или выполнить следующую команду в сеансе PowerShell для настройки пересылки DNS:
PS C:\Windows\system32> Add-DnsServerConditionalForwarderZone -Name test.alt -MasterServers 192.168.0.122 -ReplicationScope Forest

5.2.2.2. Samba DC с BIND9_DLZ

Если используется DNS бэкенд BIND9_DLZ, добавить в конец файла /etc/bind/options.conf (или /etc/bind/ddns.conf) строки:
zone "win.alt" {
      type forward;
      forwarders { 192.168.0.190; };
};
И перезапустить службу DNS:
# systemctl restart bind.service

Примечание

Если удалённый DNS-сервер не использует DNSSEC и включить проверку DNSSEC на удаленном DNS-сервере нельзя, можно отключить проверку DNSSEC на сервере AD. Для этого необходимо в файл /etc/bind/options.conf в секцию options добавить параметр:
dnssec-validation no;
И перезапустить службу DNS:
# systemctl restart bind.service

5.2.2.3. Samba DC с SAMBA_INTERNAL

Если используется DC с DNS бэкенд SAMBA_INTERNAL, самый простой способ заставить работать разрешение имен — настроить DNS-прокси между двумя доменами. DNS-прокси будет перенаправлять запрос между доменами и внешним DNS-серверами. В примере, в качестве DNS-прокси используется отдельный сервер (IP-адрес 192.168.0.150) с настроенным bind9.
На контроллере домена:
  • указать DNS-прокси, как сервер пересылки в файле /etc/samba/smb.conf (в параметре dns forwarder), например:
    dns forwarder = 192.168.0.150 8.8.8.8
    
  • перезапустить службу samba:
    # systemctl restart samba
    
На выделенном DNS-сервере:
  • отредактировать файл /etc/bind/options.conf:
    • так как SAMBA_INTERNAL не имеет функционала расширения безопасности DNS, необходимо отключить проверку DNSSEC, для этого в секцию options добавить параметр:
      dnssec-validation no;
    • в конец файла добавить информацию о зонах:
      zone "win.alt" {
            type forward;
            forwarders { 192.168.0.190; };
      };
      
  • перезапустить службу DNS:
    # systemctl restart bind.service
    

5.2.2.4. Проверка конфигурации DNS

Перед настройкой доверия необходимо убедиться, что серверы могут разрешать себя и друг друга.
На Samba DC:
  1. Запись отвечающая за работу сервисов Kerberos через UDP и LDAP через TCP:
    # dig +short -t SRV _kerberos._udp.test.alt
    0 100 88 dc1.test.alt.
    # dig +short -t SRV _ldap._tcp.test.alt
    0 100 389 dc1.test.alt.
    
    В выводе команд должен быть отображен список всех серверов.
  2. Наличие записей для работы сервисов AD на DNS-сервере Samba:
    # dig +short -t SRV _kerberos._tcp.dc._msdcs.win.alt
    0 100 88 dc1.win.alt.
    # dig +short -t SRV _ldap._tcp.dc._msdcs.win.alt
    0 100 389 dc1.win.alt.
    
  3. Проверить возможность получения билета Kerberos:
    # kinit administrator@WIN.ALT
    Password for administrator@WIN.ALT:
    # klist
    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: administrator@WIN.ALT
    
    Valid starting       Expires              Service principal
    27.04.2023 17:42:28  28.04.2023 03:42:28  krbtgt/WIN.ALT@WIN.ALT
        renew until 28.04.2023 17:42:25
    
Проверить наличие записей DNS-сервере AD:
  1. Запустить утилиту nslookup.exe для поиска служебных записей:
    C:\> nslookup.exe
    > set type=SRV
    
  2. Ввести доменное имя для служебных записей Kerberos через UDP и LDAP через TCP:
    > _kerberos._udp.test.alt
    _kerberos._udp.test.alt       SRV service location:
        priority                = 0
        weight                  = 100
        port                    = 88
        svr hostname            = dc1.test.alt
    …
    test.alt
        primary name server = dc1.test.alt
        responsible mail addr = hostmaster.test.alt
        serial = 7
        refresh = 900 (15 mins)
        retry = 600 (10 mins)
        expire = 86400 (1 days)
        default TTL = 3600 (1 hours)
    > _ldap._tcp.test.alt
    _ldap._tcp.test.alt       SRV service location:
        priority                = 0
        weight                  = 100
        port                    = 389
        svr hostname            = dc1.test.alt
    …