BackupDC join üser S2S VPN

Hi zusammen,

bei folgendem Szenario habe ich ein Problem beim Domain Join eines Backup DC’s. Über VPN habe ich 2 Standorte miteinander verbunden. Die Firewallfreigaben habe ich gemäß sdb.univention.de/content/2/18/e … ennen.html dieser Seite angepasst.
Samba4/join/site habe ich auf einen gewünschten Wert gesetzt.
4 Join Scripte können nicht ausgeführt werden (96univention-samba4, 97univention-s4-connector, 98univention-samba4-dns & 98univention-pkgdb-tools).
Das Join Log habe ich angehängt und ich wäre über Hilfe sehr dankbar. Ich hoffe, dass ich gerade nur auf dem Schlauch stehe und es ein ganz einfaches Problem ist. (die Namen der Server und Domain habe ich mit SED ersetzt, also nicht wundern :wink: )

2 Positionen im Log, die mir spanisch vorkommen, habe ich hier direkt beschrieben:

rndc: 'reload' failed: bad zone zone refresh queued zone refresh queued zone refresh queued zone refresh queued zone refresh queued zone refresh queued zone refresh queued 07.12.15 10:54:01.336 LISTENER ( WARN ) : DNS: 3184="rndc -p 55555 reload 10.0.10.in-addr.arpa" exited with 1 zone refresh queued zone refresh queued rndc: 'reload' failed: bad zone zone refresh queued rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone rndc: 'reload' failed: bad zone 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3180="rndc -p 55555 reload nde.domain.lan" exited with 1 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3182="rndc -p 55555 reload 11.0.10.in-addr.arpa" exited with 1 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3186="rndc -p 55555 reload bh.domain.lan" exited with 1 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3188="rndc -p 55555 reload dmz.domain.lan" exited with 1 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3190="rndc -p 55555 reload 10.168.192.in-addr.arpa" exited with 1 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3192="rndc -p 55555 reload domain.lan" exited with 1 07.12.15 10:54:02.337 LISTENER ( WARN ) : DNS: 3207="rndc -p 55555 reload 0.0.10.in-addr.arpa" exited with 1 07.12.15 10:54:02.338 LISTENER ( WARN ) : DNS: 3209="rndc -p 55555 reload 96.222.10.in-addr.arpa" exited with 1 07.12.15 10:54:02.338 LISTENER ( WARN ) : DNS: 3221="rndc -p 55555 reload phone.domain.lan" exited with 1

ERROR(runtime): uncaught exception - (-1073741643, 'NT_STATUS_IO_TIMEOUT') File "/usr/lib/python2.6/dist-packages/samba/netcmd/__init__.py", line 175, in _run return self.run(*args, **kwargs) File "/usr/lib/python2.6/dist-packages/samba/netcmd/domain.py", line 560, in run machinepass=machinepass, use_ntvfs=use_ntvfs, dns_backend=dns_backend) File "/usr/lib/python2.6/dist-packages/samba/join.py", line 1220, in join_DC ctx.do_join() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 1100, in do_join ctx.join_add_objects() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 569, in join_add_objects ctx.join_add_ntdsdsa() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 502, in join_add_ntdsdsa ctx.DsAddEntry([rec]) File "/usr/lib/python2.6/dist-packages/samba/join.py", line 412, in DsAddEntry ctx.drsuapi_connect() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 390, in drsuapi_connect ctx.drsuapi = drsuapi.drsuapi(binding_string, ctx.lp, ctx.creds)

beste Grüße und vielen Dank
Manuel
join.log (68.1 KB)

Hi, wie sind denn die Netzwerkeinstellungen (ip, dns, gw) auf dem backup dc und master.dc. Vg

Hi,

die IP Einstellungen auf dem Master: IP im 10.0.0.0/24 Netz, GW ist die 10.0.0.250 und auch korrekt. DNS Server ist der Server selbst.
Auf dem Backup DC: IP im 10.222.96.0/24 Netz, GW ist korrekt auf die 10.222.96.1 gesetzt. Nameserver ist der Master DC und external DNS Server ist das Gateway gesetzt.

Gruß

Das join.log zeigt gleich am Anfang, dass der DC Master durchaus erreichbar ist – Basis-Probleme wie »DNS oder Routing geht gar nicht« würde ich daher ausschließen.

Das »NT_STATUS_IO_TIMEOUT« in der gezeigten Exception hingegen deutet für mich auf eine Firewall mit Policy DROP irgendwo dazwischen hin. Ich würde, um so ein Problem auszuschließen, zuerst einmal die Kommunikation der beiden Server untereinander komplett freigeben. Zur Not bedeutet das: auf dem DC Master und auf dem DC Backup jeweils die Firewall komplett abschalten (nach dem Join gerne wieder anschalten!) und in allen beteiligten Routern/Firewalls dazwischen den Verkehr zwischen den beiden IP-Adressen der DC Master und DC Backup komplett erlauben.

Vielen Dank für das Feedback. Obwohl alle die Firewallfreigaben alle eingerichtet waren und ich any any einmal auf Hostbasis einrichten lassen.
Siehe da, es gibt einen neuen Fehler. Soll ich das komplette Log nochmal hier mit dem neuen Fehler posten?

Restarting bind9 daemon: . done. Wait for bind9: done done Object exists: cn=services,cn=univention,dc=meine,dc=domain Object exists: cn=DNS,cn=services,cn=univention,dc=meine,dc=domain Object modified: cn=dc3,cn=dc,cn=computers,dc=meine,dc=domain Configure 96univention-samba4.inst Mon Dec 14 11:12:58 CET 2015 Create samba4/role File: /etc/samba/base.conf Multifile: /etc/samba/smb.conf Multifile: /etc/samba/smb.conf Setting samba/quota/command Multifile: /etc/samba/smb.conf Stopping Heimdal KDC: heimdal-kdc. Create samba/autostart Create winbind/autostart Setting kerberos/autostart Multifile: /etc/samba/smb.conf Setting samba4/autostart Multifile: /etc/samba/smb.conf Create samba4/ldap/base Multifile: /etc/samba/smb.conf Object exists: cn=Builtin,dc=meine,dc=domain Object modified: cn=Enterprise Domain Controllers,cn=groups,dc=meine,dc=domain Create samba/share/netlogon File: /etc/samba/base.conf Multifile: /etc/samba/smb.conf Stopping Samba AD DC daemon: samba nmbd. Create kerberos/kdc Setting kerberos/kpasswdserver File: /etc/krb5.conf Setting slapd/port File: /etc/init.d/slapd Multifile: /etc/ldap/slapd.conf Setting slapd/port/ldaps File: /etc/init.d/slapd Multifile: /etc/ldap/slapd.conf Restarting ldap server(s). Stopping ldap server(s): slapd ...done. Check database: ...done. Starting ldap server(s): slapd ...done. extract_rIDNextRID: Attribute rIDSetReferences not found Create windows/wins-support Multifile: /etc/samba/smb.conf ERROR: Invalid IP address 'meine.domain'! ERROR: Invalid IP address 'dc1.meine.domain'! ERROR: Invalid IP address 'dc2.meine.domain'! Failed to join the domain. Mon Dec 14 11:13:38 CET 2015: finish /usr/sbin/univention-join

mfg
Manuel

Moin,

bitte konfigurieren Sie auf Ihrem Backup DC ausschließlich die IP des Masters als DNS-Server, keine weiteren Server.

Dann versuchen Sie bitte auf dem Backup-DC folgendes:

host dc1.meine.domain ip.des.dc.masters host dc1.meine.domain

und posten Sie mal, was dabei herauskommt.

Weiterhin: in einem Ihrer Logs finde ich viele Domänennamen à la »…domain.lan«, im letzten Log steht etwas von »meine.domain« als Domänennamen. Welcher davon wird denn nun auf dem DC Master benutzt? Nachschauen auf dem DC Master mit »ucr get kerberos/realm«. Der muss identisch sein zum Domänennamen, den Sie auch auf dem DC Backup konfiguriert haben.

Oh Mist, tut mir leid für die Verwirrung. Ich hatte in meinem ersten Post geschrieben, dass ich die Domainnamen etc mit sed angepasst hatte.
Leider hatte ich bei dem letzten Post den falschen Domainnamen überschrieben. Das werde ich gleich anpassen.

Der eingetragene Nameserver ist jetzt nur der Master. Trotzdem der gleiche Fehler.

Die beiden Befehle brachten folgendes:

[code]host dc1.domain.lan 10.0.0.219
Using domain server:
Name: 10.0.0.219
Address: 10.0.0.219#53
Aliases:

dc1.domain.lan has address 10.0.0.219

host dc1.domain.lan
dc1.domain.lan has address 10.0.0.219
[/code]

Ich vermute anhand der Fehlermelung »ERROR: Invalid IP address ‘meine.domain’!«, dass Sie irgendwo in irgendwelchen Einstellungen einen Hostnamen eingegeben haben, wo eigentlich eine IP-Adresse vermutet wird. Leider ist es rein anhand der Logmeldungen nicht so einfach einzugrenzen, wo das der Fall sein könnte. Es ist klar, dass sich das alles noch innerhalb des Scripts »/usr/lib/univention-install/96univention-samba4.inst« abspielt – aber wo da genau?

»Create windows/wins-support« geschieht in der Funktion »run_samba_provision«, aber die nachfolgende »Failed to join the domain.« ist halt schon wieder ganz woanders. Dazwischen jede Menge Aufrufe von ldapsearch, samba-tool, ucr und anderen Dingen.

Zeichen Sie daher bitte mal die Ausgabe hiervon:

ucr search --brief | grep meine.domain

Was Sie auch (zusätzlich) machen könnten:

[ul][li]Bearbeiten Sie die Datei »/usr/lib/univention-install/96univention-samba4.insta«[/li]
[li]Fügen Sie direkt hinter dem großen Kommentar-Block am Anfang die folgende Zeile ein: »set -x«[/li]
[li]Versuchen Sie erneut den Join-Vorgang.[/li][/ul]

Es sollten dann entweder auf der Console oder im Update-Log Tonnen von Zeilen von diesem Script ausgegeben werden, wobei die Shell jeden einzelnen ausgeführten Schritt beschreibt. Diese Augabe bitte mal hier als Dateianhang hochladen.

OK, die Schritte habe ich ausgeführt und beides hier als Datei angehängt.

Vielen Dank für die ganze Unterstützung.
ucr_search.txt (1.31 KB)
join.log (161 KB)

Danke. Hilft noch nicht so viel. Können Sie bitte auch noch mal die Ausgabe von folgendem Befehl anhängen (also die erzeugte Datei »strace-output.txt«)? Den DC Backup einfach so lassen, wie er jetzt gerade ist (also nach dem erfolglosen Join-Versuch).

strace -f -o strace-output.txt samba-tool domain info meine.domain

Natürlich mit Ihrer richtigen Domain.

Edit: Aufruf von samba-tool korrigiert

ok, die Datei habe ich wieder im Anhang.
strace-out.txt (381 KB)

Hi zusammen,

ein kleines Update: »ERROR: Invalid IP address ‘meine.domain’!« Dieses Problem ist am UDP gescheitert. :frowning:
Ich weiß nicht, wie sich das eingeschlichen hat. Der Fehler war ursprünglich schon erledigt.

Jetzt hänge ich wieder am Timeout und auf den Firewalls kann ich nichts erkennen. Freigegeben ist noch immer any.

ERROR(runtime): uncaught exception - (-1073741643, 'NT_STATUS_IO_TIMEOUT') File "/usr/lib/python2.6/dist-packages/samba/netcmd/__init__.py", line 175, in _run return self.run(*args, **kwargs) File "/usr/lib/python2.6/dist-packages/samba/netcmd/domain.py", line 560, in run machinepass=machinepass, use_ntvfs=use_ntvfs, dns_backend=dns_backend) File "/usr/lib/python2.6/dist-packages/samba/join.py", line 1220, in join_DC ctx.do_join() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 1100, in do_join ctx.join_add_objects() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 569, in join_add_objects ctx.join_add_ntdsdsa() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 502, in join_add_ntdsdsa ctx.DsAddEntry([rec]) File "/usr/lib/python2.6/dist-packages/samba/join.py", line 412, in DsAddEntry ctx.drsuapi_connect() File "/usr/lib/python2.6/dist-packages/samba/join.py", line 390, in drsuapi_connect ctx.drsuapi = drsuapi.drsuapi(binding_string, ctx.lp, ctx.creds)

Passend dazu habe ich nochmal den strace mit “strace -f -o /tmp/strace-out.txt samba-tool domain join meine.domain DC --kerberos=no -UAdministrator%pw --realm=MEINE.DOMAIN --machinepass=123456789”
strace-out.txt (466 KB)

Timeout klingt noch immer nach Netzwerkproblem: Firewall auf einem der beteiligten Server oder dazwischen, oder vielleicht sogar auch ein MTU-Problem.

Als nächstes wäre also dran, den Netzwerkverkehr auf beiden Servern während eines Join-Versuchts (da sollte das samba-tool reichen) mitzuschneiden und zu vergleichen, welche Pakete losgeschickt werden und ob sie jeweils ankommen.

Weiterhin sollten Sie firewalltechnisch wiiiiiiiiiiiirklich allen Verkehr (TCP, UDP, ICMP, ICMP6) zwischen den beteiligten Servern erlauben. In beiden Richtungen. Bei allem gebürtigen Respekt, Sie hatten wie Sie selber gesagt haben schon einmal übersehen, dass eine Firewall etwas nicht durchlässt (das DNS-Problem), und so ganz glaube ich weiterhin nicht, dass nicht doch eine Firewall mitspielt.

Prüfen Sie auf beiden Servern mit »iptables -L -nv«, ob Firewallregeln aktiv sind, was die Policies der Chains sind.

Zum Test auf ein MTU-Problem bitte mal vom zu joinenden Server »tracepath -n ip.des.masters« ausführen und das Ergebnis hier posten. Falls das Tool noch nicht installiert ist: es befindet sich im Paket »iputils-tracepath«.

Zu guter Letzt bitte nochmal eine Ausgabe von strace hier anhängen, dieses Mal mit den folgenden Argumenten:

strace -tt -s 4096 -f -o /tmp/strace-out.txt samba-tool domain join meine.domain DC --kerberos=no -UAdministrator%pw --realm=MEINE.DOMAIN --machinepass=123456789
Mastodon