Univention Bugzilla – Bug 28754
Registrierung an der Domäne und gc SRV Records
Last modified: 2013-08-07 12:18:37 CEST
+++ This bug was initially created as a clone of Bug #28065 +++ Für UCS@school Umgebungen werden aktuell die SRV Records überschrieben, so dass auf einem DC Slave nur der lokale DC zurückgeliefert wird. Die Slaves registrieren sich auch nicht mehr an den Standard-SRV-Records, ldap, kerberos usw. Derzeit registrieren die DC Slaves aber noch gc SRV Records und sie registrieren ihre IP an der DNS Basis: Auf einem Master sieht man dann folgendes: deadlock174.local. 900 IN NS master1741.deadlock174.local. deadlock174.local. 900 IN A 10.200.32.4 ## das ist ein Slave deadlock174.local. 900 IN A 10.200.33.4 ## das ist ein Slave deadlock174.local. 900 IN A 10.201.174.1 deadlock174.local. 900 IN A 10.201.174.2 _gc._tcp.deadlock174.local. 900 IN SRV 0 100 3268 backup1742.deadlock174.local. _gc._tcp.deadlock174.local. 900 IN SRV 0 100 3268 master1741.deadlock174.local. _gc._tcp.deadlock174.local. 900 IN SRV 0 100 3268 slave1743.deadlock174.local. ## das ist ein Slave _gc._tcp.deadlock174.local. 900 IN SRV 0 100 3268 slave1744.deadlock174.local. ## das ist ein Slave gc._msdcs.deadlock174.local. 900 IN A 10.200.32.4 ## das ist ein Slave gc._msdcs.deadlock174.local. 900 IN A 10.200.33.4 ## das ist ein Slave gc._msdcs.deadlock174.local. 900 IN A 10.201.174.1 gc._msdcs.deadlock174.local. 900 IN A 10.201.174.2 Die gc Registrierung sollte deaktiviert werden und auch die Registrierung an der DNS Basis.
Beim nächsten UCS@school update müssen im Joinscript 62-ucs-school-slave.inst die UCR Variablen dns/register/a_record/domain=false dns/register/srv_record/gc=false dns/register/srv_record/pdc=false gesetzt werden. Außerdem wird der angehängte Patch univention-samba4_ucs-school_pdc_record.patch gegen das Joinscript 98univention-samba4-dns.inst aus univention-samba4 benötigt.
Created attachment 4712 [details] patch against 98univention-samba4-dns.inst
Anstatt der UCR Variable "dns/register/a_record/domain" wird die UCR Variable "samba4/dns/domain/register" benutzt um die Registrierung der IP-Adresse an der Domäne zu steuern. Im S4 Joinscript geschieht dies wie folgt: is_ucr_true samba4/dns/domain/register if [ $? != 1 ]; then register_server_ips_with_domain fi Da "samba4/dns/domain/register" standardmäßig nicht gesetzt ist, braucht sie im Joinscript nicht unbedingt auf "false" gesetzt werden.
Die beiden Variablen dns/register/srv_record/gc dns/register/srv_record/pdc heißen nun dns/register/srv_records/gc dns/register/srv_records/pdc
dns/register/srv_records/gc, dns/register/srv_records/pdc und samba4/dns/domain/register werden jetzt auf false gesetzt. Dadurch registrieren sich neue Slaves nicht mehr an der Forward Zone und die GC + PDC SRV Records werden nicht mehr modifiziert. Unklar ist noch, ob die Records auf dem Slave landen, auch wenn auf Master + Backup kein S4 ist. Auf Bug #30105 warten und dann nochmal testen.
Die DNS Daten sind nach dem Joinen eines Slaves noch nicht da, erst nach dem restart: root@slave523:~# host -al $(dnsdomainname) Trying "deadlock52.local" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62564 ;; flags: qr aa ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;deadlock52.local. IN AXFR ;; ANSWER SECTION: deadlock52.local. 10800 IN SOA slave523.deadlock52.local. root.deadlock52.local. 29 28800 7200 604800 0 deadlock52.local. 900 IN NS master521.deadlock52.local. deadlock52.local. 900 IN NS backup522.deadlock52.local. deadlock52.local. 900 IN NS slave523.deadlock52.local. deadlock52.local. 900 IN NS slave524.deadlock52.local. deadlock52.local. 900 IN A 10.200.32.10 slave523.deadlock52.local. 900 IN A 10.200.32.10 master521.deadlock52.local. 900 IN A 10.201.52.1 backup522.deadlock52.local. 900 IN A 10.201.52.2 _ldap._tcp.deadlock52.local. 900 IN SRV 100 0 389 slave523.deadlock52.local. _kerberos._udp.deadlock52.local. 900 IN SRV 100 0 88 slave523.deadlock52.local. _kerberos._tcp.deadlock52.local. 900 IN SRV 100 0 88 slave523.deadlock52.local. _kerberos-adm._tcp.deadlock52.local. 900 IN SRV 100 0 88 slave523.deadlock52.local. _domaincontroller_master._tcp.deadlock52.local. 900 IN SRV 0 0 0 master521.deadlock52.local. 5a54b80d-3fa7-4a09-b403-e1cb013906e8._msdcs.deadlock52.local. 3600 IN CNAME slave523.deadlock52.local. deadlock52.local. 10800 IN SOA slave523.deadlock52.local. root.deadlock52.local. 29 28800 7200 604800 0 Received 628 bytes from 10.200.32.10#53 in 14 ms root@slave523:~# /etc/init.d/samba4 restart Stopping Samba 4 daemon: samba. Starting Samba 4 daemon: samba. Restarting bind9 daemon: . done. root@slave523:~# host -al $(dnsdomainname) Trying "deadlock52.local" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14202 ;; flags: qr aa ra; QUERY: 1, ANSWER: 23, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;deadlock52.local. IN AXFR ;; ANSWER SECTION: deadlock52.local. 10800 IN SOA slave523.deadlock52.local. root.deadlock52.local. 36 28800 7200 604800 0 deadlock52.local. 900 IN NS master521.deadlock52.local. deadlock52.local. 900 IN NS backup522.deadlock52.local. deadlock52.local. 900 IN NS slave523.deadlock52.local. deadlock52.local. 900 IN NS slave524.deadlock52.local. deadlock52.local. 900 IN A 10.200.32.10 slave523.deadlock52.local. 900 IN A 10.200.32.10 master521.deadlock52.local. 900 IN A 10.201.52.1 gc._msdcs.deadlock52.local. 900 IN A 10.200.32.10 backup522.deadlock52.local. 900 IN A 10.201.52.2 _ldap._tcp.deadlock52.local. 900 IN SRV 100 0 389 slave523.deadlock52.local. _kpasswd._udp.deadlock52.local. 900 IN SRV 0 100 464 slave523.deadlock52.local. _kpasswd._tcp.deadlock52.local. 900 IN SRV 0 100 464 slave523.deadlock52.local. _kerberos._udp.deadlock52.local. 900 IN SRV 100 0 88 slave523.deadlock52.local. _kerberos._tcp.deadlock52.local. 900 IN SRV 100 0 88 slave523.deadlock52.local. _kerberos-adm._tcp.deadlock52.local. 900 IN SRV 100 0 88 slave523.deadlock52.local. _ldap._tcp.dc._msdcs.deadlock52.local. 900 IN SRV 0 100 389 slave523.deadlock52.local. _kerberos._tcp.dc._msdcs.deadlock52.local. 900 IN SRV 0 100 88 slave523.deadlock52.local. _kerberos._tcp.schule1._sites.deadlock52.local. 900 IN SRV 0 100 88 slave523.deadlock52.local. _domaincontroller_master._tcp.deadlock52.local. 900 IN SRV 0 0 0 master521.deadlock52.local. _kerberos._tcp.schule1._sites.dc._msdcs.deadlock52.local. 900 IN SRV 0 100 88 slave523.deadlock52.local. 5a54b80d-3fa7-4a09-b403-e1cb013906e8._msdcs.deadlock52.local. 3600 IN CNAME slave523.deadlock52.local. deadlock52.local. 10800 IN SOA slave523.deadlock52.local. root.deadlock52.local. 36 28800 7200 604800 0 Received 1019 bytes from 10.200.32.10#53 in 13 ms root@slave523:~# Normalerweise müsste 'samba_dnsupdate --local' in 98univention-samba4-dns.inst die Records anlegen, aber das funktioniert auf einem Schul DC nicht: 22-Jan-2013 10:30:47.752 client 127.0.0.1#60122: updating zone 'deadlock52.local/NONE': prerequisites are OK 22-Jan-2013 10:30:47.752 samba_dlz: Starting GENSEC mechanism spnego 22-Jan-2013 10:30:47.752 samba_dlz: Starting GENSEC submechanism gssapi_krb5 22-Jan-2013 10:30:47.752 samba_dlz: spnego update failed 22-Jan-2013 10:30:47.752 client 127.0.0.1#60122: updating zone 'deadlock52.local/NONE': update failed: rejected by secure update (REFUSED) 22-Jan-2013 10:30:47.752 client 127.0.0.1#60122: updating zone 'deadlock52.local/NONE': rolling back Wenn ich nicht --local verwende, dann funktioniert es. Das --local wurde in Bug #27395 hinzugefügt, ich denke das ist nicht mehr notwendig.
Es gibt jetzt ein weiteres Join Skript in libunivention-ldb-modules, welches samba_dnsupdate aufruft. Damit es grundsätzlich auch in UCS angepasst wird, gibt es Bug #30117. Durch die Anpassungen ist das Überschreiben der SRV Records im Connector nicht mehr richtig. Die Variablen für das Überschreiben wurden entfernt. Meine Tests mit S4 in der Zentrale und ohne S4 in der Zentrale waren soweit erfolgreich.
Verified: * gc-SRV-record und Domänen-host-record werden von Samba4 Slave PDCs nicht mehr in der Zentrale angelegt. Die anderen Records wurden durch das neue 98univention-samba4slavepdc-dns.inst erfolgreich angelegt.
UCS@school 3.1 has been released: http://forum.univention.de/viewtopic.php?f=26&t=2364 If this error occurs again, please use "Clone This Bug".
Just for the record: the joinscript change of this bug did not increased the VERSION variable of the joinscript 62ucs-school-slave.inst. Because of this, updated UCS@school slaves did not set the UCR variables dns/register/srv_records/gc and dns/register/srv_records/pdc. With UCS@school 3.1R2-1 the VERSION has been increased from 3 to 5 and thus all missing changes are catched up.