Bug 28754 - Registrierung an der Domäne und gc SRV Records
Registrierung an der Domäne und gc SRV Records
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Samba 4
unspecified
Other Linux
: P5 normal (vote)
: UCS@school 3.1
Assigned To: Stefan Gohmann
Arvid Requate
:
Depends on: 28065
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-12 17:13 CEST by Tobias Peters
Modified: 2013-08-07 12:18 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
patch against 98univention-samba4-dns.inst (955 bytes, patch)
2012-10-12 17:18 CEST, Tobias Peters
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Peters univentionstaff 2012-10-12 17:13:49 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.
Comment 1 Tobias Peters univentionstaff 2012-10-12 17:17:27 CEST
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.
Comment 2 Tobias Peters univentionstaff 2012-10-12 17:18:11 CEST
Created attachment 4712 [details]
patch against 98univention-samba4-dns.inst
Comment 3 Tobias Peters univentionstaff 2012-10-17 16:47:02 CEST
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.
Comment 4 Tobias Peters univentionstaff 2012-10-18 15:28:01 CEST
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
Comment 5 Stefan Gohmann univentionstaff 2013-01-22 11:18:44 CET
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.
Comment 6 Stefan Gohmann univentionstaff 2013-01-23 08:32:08 CET
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.
Comment 7 Stefan Gohmann univentionstaff 2013-01-23 11:29:40 CET
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.
Comment 8 Arvid Requate univentionstaff 2013-01-24 20:20:22 CET
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.
Comment 9 Sönke Schwardt-Krummrich univentionstaff 2013-02-15 17:50:54 CET
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".
Comment 10 Sönke Schwardt-Krummrich univentionstaff 2013-08-07 12:18:37 CEST
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.