DNS-Probleme im Samba4

dns
samba-ad-dc
samba-dnsupdate
german
ucs-4
samba4
samba-ad

#1

Probleme im Samba4 DNS

es kann vorkommen, dass DNS-Einträge nicht aufgelöst werden können bzw. nicht aktualisiert werden können. Das Verhalten tritt stets in Verbindung mit gemischten DNS-Zonen im AD-Kontext auf. Beim Neustart von bind9 finden sich dann folgende Zeilen im ‘/var/log/daemon.log

Jan 18 20:00:48 ucs-srv1 named[7097]: samba_dlz: pre-W2k3 zone found
Jan 18 20:00:48 ucs-srv1 named[7097]: samba_dlz: Ignoring dnsZone _msdcs.domain.local

Analyse

Nun sollte man im DNS-Backend, also im Samba/AD, die DNS-Zonen und ~Einträge prüfen

univention-s4search --cross-ncs objectClass=dnsZone dn

Hier kann es nun vorkommen, dass beispielsweise die Reverse-Zone unter CN=MicrosoftDNS,CN=System,DC=domaene,DC=local liegt - es können aber auch einfach nur verschiedene Einträge (z.B. Service-Records) sein. Diese müssen nun in den korrekten Abschnitt im DNS verschoben werden.

Lösung

Zunächst erzeugt man aus OpenLDAP heraus ein Backup

univention-ldapsearch -LLLo ldif-wrap=no -b cn=dns,$( ucr get ldap/base ) >ucs_dns_full.ldif

Dann löscht man die fehlerhaften Einträge aus Samba/AD

ldbedit -H /var/lib/samba/private/sam.ldb --cross-ncs

Dadurch werden zwar auch die Einträge, über die Replikation, im OpenLDAP entfernt, dafür haben wir aber oben das Backup angelegt welches wir jetzt wieder importieren

ldapadd -h localhost -p 7389 -D "cn=admin,$( ucr get ldap/base )" -y /etc/ldap.secret -f ucs_dns_full.ldif

Jetzt werden die Einträge auch wieder in Samba/AD repliziert, diesmal aber an die richtige Stelle.
Der Neustart des bind9 sollte jetzt die beiden oben erwähnten Zeilen nicht mehr schreiben.