Erstinstallation (UCS 4.1) - AD-Domänenbeitritt klappt nicht

german

#1

Bestehende Infrastruktur:
Virtueller AD-Master (WinServer2008R2) = windc1.local.mydomain.net, 192.168.0.4
Gateway-Server auf Debian-Basis (mit dnsmasq) = gate2.local.mydomain.net, 192.168.0.1

gate2 ist der Firewall-Server, er versorgt vier Subnetze mit DHCP und DNS.

Nachdem ich dem Univention-Installationsprogramm mitgeteilt habe, dass ich meiner AD-Domäne beitreten möchte, sagt er mir:
“Unter der Adresse des DNS-Servers konnte kein Domänencontroller gefunden werden. Bitte überprüfen Sie die Netzwerkeinstellungen.”

Tatsächlich funktioniert mein Netz schon jahrelang wunderbar mit der Trennung von AD-Master und DNS-Server.

Ich habe auch die Zeile

srv-host=_domaincontroller_master._tcp.local.mydomain.net,windc1.local.mydomain.net,0,0,0

in der dnsmasq.conf ergänzt, so dass dieser in anderen Threads erwähnten Service-Record vorhanden ist. Juckt ihn nicht, Fehler bleibt bestehen.

Warum nimmt UCS an, dass an der Adresse des DNS-Servers ein Domänencontroller arbeitet? Ist in meinen Augen zwar “üblich”, aber keineswegs zwingend.

Egal - wie bekomme ich jetzt meinen neuen UCS-Server an die Domäne dran? Das Installationsprogramm gibt mir keinen Lösungsvorschlag, sondern zeigt die Netzwerkkonfigurationsdialoge in Endlosschleife…

Grüße,
/|/|artin


#2

Hallo,

“_domaincontroller_master” ist ein SRV-Record, der den Domaincontroller Master der UCS Domäne angibt. In deinem Szenario gibt es den ja so noch nicht, UCS sollte den erst später (für sich selbst) anlegen.
Ich vermute er sucht hier nach den typischen SRV-Records eines AD DCs, s. technet.microsoft.com/en-us/lib … 61719.aspx


#3

Oh Mann, wenn ich nur den entscheidenden Punkt sehen würde. Eigentlich hätte ich gedacht: wenns für Windows-Clients funktioniert, müsste es doch eigentlich auch für UCS klappen …

[code]# win2008r2 data translated from %systemroot%\System32\Config\netlogon.dns

LDAP

srv-host=_ldap._tcp.local.mydomain.net,windc1.local.mydomain.net,389,0,100
srv-host=_ldap._tcp.Default-First-Site-Name._sites.local.mydomain.net,windc1.local.mydomain.net,389,0,100
srv-host=_ldap._tcp.pdc._msdcs.local.mydomain.net,windc1.local.mydomain.net,389,0,100
srv-host=_ldap._tcp.gc._msdcs.local.mydomain.net,windc1.local.mydomain.net,3268,0,100
srv-host=_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.local.mydomain.net,windc1.local.mydomain.net,3268,0,100
srv-host=_ldap._tcp.903fe252-02f6-4259-b2b3-7994f7ea1f9d.domains._msdcs.local.mydomain.net,windc1.local.mydomain.net,389,0,100
srv-host=_ldap._tcp.dc._msdcs.local.mydomain.net,windc1.local.mydomain.net,389,0,100
srv-host=_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.local.mydomain.net,windc1.local.mydomain.net,389,0,100

Kerberos

srv-host=_kerberos._tcp.dc._msdcs.local.mydomain.net,windc1.local.mydomain.net,88,0,100
srv-host=_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.local.mydomain.net,windc1.local.mydomain.net,88,0,100
srv-host=_kerberos._tcp.local.mydomain.net,windc1.local.mydomain.net,88,0,100
srv-host=_kerberos._tcp.Default-First-Site-Name._sites.local.mydomain.net,windc1.local.mydomain.net,88,0,100
srv-host=_kerberos._udp.local.mydomain.net,windc1.local.mydomain.net,88,0,100

KPasswd

srv-host=_kpasswd._tcp.local.mydomain.net,windc1.local.mydomain.net,464,0,100
srv-host=_kpasswd._udp.local.mydomain.net,windc1.local.mydomain.net,464,0,100

GC

srv-host=_gc._tcp.local.mydomain.net,windc1.local.mydomain.net,3268,0,100
srv-host=_gc._tcp.Default-First-Site-Name._sites.local.mydomain.net,windc1.local.mydomain.net,3268,0,100

Rest

cname=3537f05e-2465-4ae3-9196-ecf101a67792._msdcs.local.mydomain.net,windc1.local.mydomain.net

gc._msdcs.local.mydomain.net 600 IN A 192.168.0.4

–> translated to new name in /etc/hosts

Samba configuration for local.mydomain.net netbios domain (PDC = windc1)

adapted to windows AD (pre-samba4)

dhcp-option=set:green,19,0 # option ip-forwarding off
dhcp-option=set:green,44,192.168.0.4 # set netbios-over-TCP/IP nameserver(s) aka WINS server(s)
dhcp-option=set:green,45,192.168.0.4 # netbios datagram distribution server
dhcp-option=set:green,46,8 # netbios node type
dhcp-option=set:green,47 # empty netbios scope

dhcp-option=vendor:MSFT,2,li
[/code]
Ich hätte jetzt gesagt: da ist für jeden etwas dabei! Naja, und es läuft auch mit rd. 10 Windows-Clients seit Jahren ohne Probleme.
Alle “blinkenden DNS-Neonpfeile” deuten auf windc1.local.mydomain.net bzw. 192.168.0.4, und bloß weil da nicht gleichzeitig auch ein DNS-Server ist, stellt sich UCS blind/taub. :frowning:


#4

Was ist der “nachträgliche” Weg, um die Installation erst mal abzuschließen, während die alte (Windows-)AD-Domain im Hintergrund weiter aktiv ist? Auswahl “Erstellen einer neuen UCS-Domäne” oder “Keine Domäne benutzen”, um nach Installationsschluss dann im neuen UCS “univention-join” zu versuchen?


#5

Hallo,

was genau schief geht, kann ich ohne die Logdateien nicht sagen. Und an die kommt man in dem Zustand kaum heran.

Der nachträgliche Weg ist wohl hier erst einmal das beste:

“Erstellen einer neuen UCS-Domäne” ist die korrekte Auswahl. Am besten auch nichts im letzten Dialog (Software-Auswahl) anwählen. Wichtig: Die neue Domäne muss zwingend den gleichen Namen haben wie die bestehende AD-Domäne!

(“Keine Domäne benutzen” sollte man wirklich nur dann machen, wenn man ein UCS ohne Domäne haben will - das ist eher für eine dezidierte Firewall o.ä. interessant)

Danach wird es ein ganz normaler DC Master installiert. Im Anschluss geht man über die UMC ins Modul “App Center” und installiert dort die App “Active Directory-Verbindung”.

Diese arbeitet im Prinzip mit den gleichen Funktionen wie der Installer, es ist also nicht davon auszugehen, dass es dann funktioniert.

Können Sie mir die Ausgabe von folgendem Skript mitteilen? (Code in ein Skript kopieren, und per python $skript 192.168.0.4 aufrufen)

from samba.dcerpc import nbt
from samba.net import Net
from samba.param import LoadParm
import sys

if len(sys.argv) != 2:
  print "usage: %s <ip>" % (sys.argv[0], )
  sys.exit(1)

ip=sys.argv[1]

lp = LoadParm()
lp.load('/dev/null')
net = Net(creds=None, lp=lp)
cldap_res = net.finddc(address=ip, flags=nbt.NBT_SERVER_LDAP | nbt.NBT_SERVER_DS | nbt.NBT_SERVER_WRITABLE)

print "IP:\t%s" % ip
print "Forest:\t%s" % cldap_res.forest
print "Domain:\t%s" % cldap_res.dns_domain
print "Netbios Domain:\t%s" % cldap_res.domain_name
print "DC DNS Name:\t%s" % cldap_res.pdc_dns_name
print "DC Netbios Name:\t%s" % cldap_res.pdc_name
print "Server Site:\t%s" % cldap_res.server_site
print "Client Site:\t%s" % cldap_res.client_site

Das sollte helfen, schon einmal das Problem einzugrenzen.

Viele Grüße
Dirk Wiesenthal


#6

Hallo!
Nur dass ich das richtig verstehe und ich nachher am System keine “Stockfehler” mache (habe keine Python-Erfahrung):

[ol][li]Ich bewege mich auf dem neu installierten UCS (ucsdc1.mydomain.net, 192.168.0.10)
Muss ich root sein/sudo nutzen?[/li]
[li]Ich erzeuge in einem (bash-)Terminal eine leere Textdateitouch ~/diag01.pychmod u+x ~/diag01.py #nicht nötig, weil Aufruf später per “python …”[/li]
[li]Ich editiere die Textdatei, z.B:nano ~/diag01.py und kopiere den Skriptcode in diese Textdatei
Annahme: Der UCS hat die Module (from samba…) von Haus aus dabei und findet sie im Pfad[/li]
[li]Ich führe das Skript aus python ~/diag01.py 192.168.0.4(Damit frage ich quasi den neuen UCS, was er über den alten Domänencontroller weiß)[/li]
[li]Output des Skripts poste ich in einem CODE-Tag als Antwort hier zu diesem Topic (Punkt ist jetzt eher nicht Python-spezifisch)[/li][/ol]

Mit Dank und vielen Grüßen,
/|/|artin Kunert


#7

Hallo,

Vielleicht geht es sogar mit einem anderen Benutzer. Ich würde root nehmen. Kaputt geht aber nichts, man kriegt höchstens Fehlermeldungen, die mit der DC-Problematik nichts zu tun haben.

[quote=“MKunert”][/li]
[li]Ich erzeuge in einem (bash-)Terminal eine leere Textdateitouch ~/diag01.pychmod u+x ~/diag01.py #nicht nötig, weil Aufruf später per “python …”
[/quote]

Ja. Den Punkt kann man sich sogar komplett sparen, nano wird die Datei auch neu anlegen können.

[quote=“MKunert”][/li]
[li]Ich editiere die Textdatei, z.B:nano ~/diag01.py und kopiere den Skriptcode in diese Textdatei
Annahme: Der UCS hat die Module (from samba…) von Haus aus dabei und findet sie im Pfad
[/quote]

Genau.

[quote=“MKunert”][/li]
[li]Ich führe das Skript aus python ~/diag01.py 192.168.0.4(Damit frage ich quasi den neuen UCS, was er über den alten Domänencontroller weiß)
[/quote]

Richtig.

[quote=“MKunert”][/li]
[li]Output des Skripts poste ich in einem CODE-Tag als Antwort hier zu diesem Topic (Punkt ist jetzt eher nicht Python-spezifisch)[/li][/ol]
[/quote]

Ja. Dann schauen wir uns das mal an.

Viele Grüße
Dirk Wiesenthal


#8

Hurrah: Ergebnisse!

root@local:~# python ~/diag01.py 192.168.0.4 IP: 192.168.0.4 Forest: local.mydomain.net Domain: local.mydomain.net Netbios Domain: MYDOMAIN DC DNS Name: windc1.local.mydomain.net DC Netbios Name WINDC1 Server Site: Default-First-Site-Name Client Site: Default-First-Site-Name
Bitte nicht lachen: diese “Default-First-Site-Name”-Zeilen sehen schon verdammt wie “Kopiert-Aus-Tutorial-Dummbatz!” aus, aber wie geschrieben - jahrelang so in den SRV-Records und keine Probleme mit dem Betriebssystem aus Redmont.
Ideen für nächste Schritte?

Grüße,
/|/|artin Kunert


#9

Letzter Zwischenstand für heute: Das Modul “Active Directory-Verbindung” ist über die UMC installiert, Domänen-Join klappt mit vager Fehlermeldung nicht (Dialog-Fenster “Benachrichtigung: Ein Fehler trat während des Verbindungsaufbaus zum Server auf. Bitte versuchen Sie es später noch einmal.”).


Netbios name zu lang :(
#10

In /var/log/univention/management-console-module-adconnector.log folgt eine entsprechende Fehlermeldung auf running ['dig', '@192.168.0.4'], was ja irgendwie auch nur Maschinenpoesie ist für “ich gehe davon aus, dass ich auf der Adresse des ADDC einen DNS-Nameserver ansprechen kann”.
Nope. Not in this case.


#11

Wenn ich statt IP-Adresse den DNS-Domänenamen eingebe, sucht er danach beim richtigen DNS-Server:

running ['dig', '@192.168.0.1', 'local.mydomain.net', '+short']

Führt aber nicht zum Erfolg, zum isolierten Domänenamen fällt dem DNS-Server nichts ein.
Ich hätte ja erwartet, dass er einen der SRV-Records abfragt, aber ich bin nur ein dummer User mit Halbwissen. :stuck_out_tongue_winking_eye:

[code]root@local:~# dig @192.168.0.1 srv _ldap._tcp.local.mydomain.net
… blahfasel…
;; ANSWER SECTION:
_ldap._tcp.local.mydomain.net. 0 IN SRV 0 100 389 windc1.local.mydomain.net.

;; ADDITIONAL SECTION:
windc1.local.mydomain.net. 0 IN A 192.168.0.4
…laberlaberabspann…[/code]
Guck! Alle Info da und verfügbar!


#12

Hmmm … keine Antwort. Wahrscheinlich ist auf Wunder warten auch der Holzweg …
Ich denke, ich werde auf dem Windows-AD-Master den DNS-Server nachinstallieren. Als ich das letzte Mal geschaut habe, waren zwei DNS-Server im gleichen Netzwerk nicht schädlich…