Kommt es nach einem AD-Takeover zu DNS-Problemen, sind folgende Themen wichtig zu prüfen. Tatsächlich aufgefallen ist es dem Kunden, da an einem Windows-Client, der Client sich nicht mit dem Domänen-Profil der Netzwerkkarte verbunden hatten und deshalb u.A. die „falschen“ Firewall-Regeln gegriffen hatten.
Hierzu ist zu wissen, adss der NLA-Dienst unter Windows versucht, sich mit dem LDAP-Server für seine Domäne zu verbinden. Hierzu frägt er z.B. den DNS nach
_ldap._tcp.dc._msdcs.kunde.local not found
Wenn das dann scheitert, zieht sich das Fehlerbild durch.
Existieren alle nötigen DNS-Zonen für Samba prüft man mit:
/usr/share/univention-samba4/scripts/check_essential_samba4_dns_records.sh
Es sollte keine Einträge mit NXDOMAIN geben wie hier z.B:
Host gc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _ldap._tcp.gc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _ldap._tcp.dc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _ldap._tcp.pdc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _ldap._tcp.b87c2965-62a2-4a42-888d-398943d1cd6c.domains._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _kerberos._tcp.dc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host 7ca34a1d-8c38-44c0-a17a-4aeeb03ca60f._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _ldap._tcp.Tirol._sites.dc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _kerberos._tcp.Tirol._sites.dc._msdcs.kunde.local not found: 3(NXDOMAIN)
Host _ldap._tcp.Tirol._sites.gc._msdcs.kunde.local not found: 3(NXDOMAIN)
Wenn doch, ist dies das oder ein Problem.
tail -f /var/log/syslog | grep named
Hier protokolliert der DNS-Server Bind, u.U. DNS-Einträge, die zwar existieren, aber faul sind und raus müssen. Diese dann manuell über die UCS-GUI -> Domäne -> DNS löschen. Exemplarisch:
Jul 6 12:52:07 adm-ucs0 named[32372]: zone kunde.local/IN: Drucker_raum208.kunde.local/A: bad owner name (check-names)
Jul 6 12:52:07 adm-ucs0 named[32372]: zone kunde.local/IN: Brother_HL_L8250CDN2.kunde.local/A: bad owner name (check-names)
Jul 6 12:52:07 adm-ucs0 named[32372]: zone kunde.local/IN: -Drucker-Kyo-EK.kunde.local/A: bad owner name (check-names)
Jul 6 12:52:57 adm-ucs0 named[32372]: zone kunde.local/IN: ILO_DC0.kunde.local/A: bad owner name (check-names)
Jul 6 12:52:57 adm-ucs0 named[32372]: zone kunde.local/IN: Drucker_raum208.kunde.local/A: bad owner name (check-names)
In unserem Fall war die DNS-Zone im AD damals schon faul, wurde also faul migriert und fiel einem dann auf die Beine. Wird der Bind-Nameserver neugestartet, hat dieser schon angezeigt, woher das Problem kommt:
named[7097]: samba_dlz: pre-W2k3 zone found
named[7097]: samba_dlz: Ignoring dnsZone _msdcs.kunde.local
Lösung ist, einmal alles was mit der _msdcs.*-Zone zu tun hat, aus Samba zu löschen. Diese Einträge legt bzw. legte Samba bei uns dann automatisch wieder korrekt an. Vorher einmal Sicherung anlegen mit:
univention-ldapsearch -LLLo ldif-wrap=no -b cn=dns,$( ucr get ldap/base ) >ucs_dns_full.ldif
Dann mit
ldbedit -H /var/lib/samba/private/sam.ldb --cross-ncs
Ala Texteditor alle Einträge löschen, die mit der Zone zu tun haben. Am Ende Speichern. U.u. müssen erst Schritt für Schritt die Einträge gelöscht werden, bis man am Ende die Top-Zone löscht.
Nach ein paar Minuten nach dem Speichern, hat dann
/usr/share/univention-samba4/scripts/check_essential_samba4_dns_records.sh
keine NXDOMAIN mehr gemeldet.
Quellen:
https://help.univention.com/t/dns-probleme-in-alteren-samba-ad-domanen/7193
https://help.univention.com/t/nxdomain-nach-ad-takeover-fuer-msdcs-srv-records-wie-beheben/18184