Добрый день. В Samba 4.19.6 в режиме контроллера домена Samba AD выявлены несколько ошибок при работе с DNS. I. При миграции FSMO ролей не обновляется запись DNS _ldap._tcp.pdc._msdcs.domain.loc (где domain.loc -FQDN домена). Если выполнить принудительное пересоздание записей DNS, то создается вторая запись _ldap._tcp.pdc._msdcs.domain.loc Способ воспроизведения: Проверяем записи DNS # samba-tool dns query localhost _msdcs.pak-patriot.ru _tcp.pdc SRV -P Name=, Records=0, Children=0 Name=_ldap, Records=1, Children=0 SRV: dc01.domain.loc. (389, 0, 100) (flags=f0, serial=1, ttl=900) Проверяем FSMO роли # samba-tool fsmo show SchemaMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc Допустим на dc02 мы выполняем миграцию DSMO ролей samba-tool fsmo transfer --role=all -U administrator После выполнение операции, получаем # samba-tool fsmo show SchemaMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domain,DC=loc Проверяем записи DNS # samba-tool dns query localhost _msdcs.pak-patriot.ru _tcp.pdc SRV -P Name=, Records=0, Children=0 Name=_ldap, Records=1, Children=0 SRV: dc01.domain.loc. (389, 0, 100) (flags=f0, serial=1, ttl=900) Запись DNS не изменилась. Данная ошибка приводит к тому, что при запросе операций, которые должны выполнятся на контроллере домена с ролями PDC, обращения клиентов или доверенных серверов будет происходит не на тот контроллер домена. А если контроллер домена DC01 будет удален, то домен останется вообще без записей PDC в DNS, что приведет к проблемам при обслуживание домена с помощью утилит RSAT, не будет работать доверие... Если на dc02 выполнить операцию принудительного создания записей DNS для контроллера домена, то будет создана вторая запись _ldap._tcp.pdc._msdcs.domain.loc Способ воспроизведения: # samba_dnsupdate --verbose --all-names Проверяем записи DNS # samba-tool dns query localhost _msdcs.pak-patriot.ru _tcp.pdc SRV -P Name=, Records=0, Children=0 Name=_ldap, Records=2, Children=0 SRV: dc01.domain.loc. (389, 0, 100) (flags=f0, serial=1, ttl=900) SRV: dc02.domain.loc. (389, 0, 100) (flags=f0, serial=1, ttl=900) Если удалить запись для dc01, то домен будет работать нормально. Однако, такое поведение изначально не допустимо. II. Не создаются SRV записи корневая запись типа A для нового контроллера домена. Способ воспроизведения. В домен, где все контроллеры находятся под управлением Samba DC AD 4.19.6, обновленные с предыдущих версий (в частности 4.14.10) вводится новый контроллер домена на Samba 4.19.6. Для него не создаются SRV записи, а так же запись типа A для имени, совпадающей с именем основная зоны domain.loc. C Уважением, Ярослав Белых
samba-4.19.6-alt2 Стенды (обновлены до p10): Server 10.2 office x86-64 - dc и dc2 Условия: Настроен контроллер домена и реплика samba AD с BIND9_DLZ Шаги: 1. Проверить запись DNS # samba-tool dns query localhost _msdcs.samba.testdomain _tcp.pdc SRV -P Name=, Records=0, Children=0 Name=_ldap, Records=1, Children=0 SRV: dc.samba.testdomain. (389, 0, 100) (flags=f0, serial=110, ttl=900) 2. На dc2 выполнить # samba-tool fsmo transfer --role=all -U administrator 3. Проверить запись DNS # samba-tool dns query localhost _msdcs.samba.testdomain _tcp.pdc SRV -P Фактический результат: Запись не изменилась Ожидаемый результат: Запись изменилась: # samba-tool dns query localhost _msdcs.samba.testdomain _tcp.pdc SRV -P Name=, Records=0, Children=0 Name=_ldap, Records=2, Children=0 SRV: dc.samba.testdomain. (389, 0, 100) (flags=f0, serial=110, ttl=900) SRV: dc2.samba.testdomain. (389, 0, 100) (flags=f0, serial=110, ttl=900) Доп: # samba_dnsupdate --verbose --all-names добавляет новую запись dns