26univention-samba.inst scheitert

german

#1

Hi Community,

ich wollte zu meiner bestehenden Domäne einen Memberserver mit einem Samba3-Fileserver hinzufügen. Dabei scheiterte das Join-Script 26univention-samba.inst. Hier die Log-Meldungen:

(der Domänenname wurde durch “sub.domain.at” ersetzt)


Configure 26univention-samba.inst Fri Aug 14 10:16:34 CEST 2015
2015-08-14 10:16:34.075505049+02:00 (in joinscript_init)
Create samba/role
Multifile: /etc/samba/smb.conf
Create samba/domain/security
Multifile: /etc/samba/smb.conf
Create samba4/ntacl/backend
File: /etc/samba/base.conf
Restarting univention-directory-listener daemon.
ok: run: univention-directory-listener: (pid 32054) 0s, normally down
done.
Setting samba/share/home
File: /etc/samba/base.conf
Multifile: /etc/samba/smb.conf
Setting samba/autostart
Multifile: /etc/samba/smb.conf
Not updating samba/autostart
Stopping the Winbind daemon: winbind.
Create samba/user
Create samba/user/pwdfile
Multifile: /etc/samba/smb.conf
Setting stored password for “cn=samba-test,cn=memberserver,cn=computers,dc=sub,dc=domain,dc=at” in secrets.tdb
setting idmap secret for ‘*’ from /etc/machine.secret
Secret stored
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
ads_connect: No logon servers
ads_connect: No logon servers
Didn’t find the cldap server!
Object modified: cn=samba-test,cn=memberserver,cn=computers,dc=sub,dc=domain,dc=at
Failed to join domain: failed to find DC for domain SUB
Failed to join domain: failed to connect to AD: No logon servers
Failed to join domain: Invalid configuration (“workgroup” set to ‘SUB’, should be ‘SAMBA-TEST’“realm” set to ‘SUB.DOMAIN.AT’, should be ‘(null)’“security” set to ‘ads’, should be ‘domain’) and configuration modification was not requested
ERROR: Failed to join via net ads join. Please check your Samba DCs and your DNS and WINS configuration.

Ich sollte anmerken, dass meine DNS-Konfiguration nicht ganz dem UCS-Standard entspricht: Die DCs haben in meinen Zonen keine NS-Einträge. Stattdessen scheinen in der Zone als Nameserver nur zwei weitere (Slave-)Nameserver auf. Also eine Art “hidden master” Konfiguration. Nichtsdestotrotz sind die DCs innerhalb unseres Subnetzes als Nameserver erreichbar.

Falls das den Fehler erzeugt, frage ich mich jedoch, warum der Domain-Join prinzipiell funktioniert, nur das eine Join-Script fehlschlägt?

Oder liegt ein anderes Problem vor?

Vielen Dank für eure Hilfe und liebe Grüße,

David C.


#2

Kurze Nachfrage zum Verständnis: ist das eine von Windows-DCs betriebene Domäne, in die der UCS-Server als Member gejoint werden soll? Oder eine UCS-Domäne?


#3

Es ist eine UCS 4 Domäne. Kürzlich erst aufgesetzt.


#4

Es wirkt ein wenig auf mich wie dieser Bug hier. Trifft’s bei Ihnen auch zu, dass Sie den Rechner in einer Sub-Domäne einrichten?


#5

Nein, der Rechner ist in der gleichen Domäne wie der DC. Also derart:

DC1.SUB.DOMAIN.AT <- Domain Controller
NS1.SUB.DOMAIN.AT <- Nameserver
SAMBA-TEST.SUB.DOMAIN.AT <- neuer Memberserver


#6

Wenn Sie sagen, dass Ihre DCs keine NS-Einträge haben… existieren dann zumindest die anderen relevanten Verwaltungseinträge im DNS, und stimmen diese? Bei mir existieren die folgenden Einträge alle, und sie alle enthalten als Location den Hostnamen meines UCS-Masters:

_ldap._tcp _domaincontroller_master._tcp _kerberos._tcp _kerberos._udp _kerberos-adm._tcp _ldap._tcp.dc._msdcs _ldap._tcp.713890f2-91a7-4071-b645-793d513ee491.domains._msdcs _kerberos._tcp.dc._msdcs _kpasswd._tcp _kpasswd._udp _ldap._tcp.Default-First-Site-Name._sites _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs _kerberos._tcp.Default-First-Site-Name._sites _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs _gc._tcp _ldap._tcp.gc._msdcs _gc._tcp.Default-First-Site-Name._sites _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs _ldap._tcp.pdc._msdcs _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones _ldap._tcp.DomainDnsZones _ldap._tcp.ForestDnsZones _pkgdb._tcp

Sie können das relativ einfach prüfen mit einem Befehl ähnlich diesem hier (als root auf dem Master):

udm dns/srv_record list --superordinate zoneName=$(ucr get domainname),cn=dns,$(ucr get ldap/base) | \ grep -E '^DN:|location:'


#7

Ja, all diese Einträge existieren und sind jeweils auf den DC (bzw. eigentlich die DCs) gesetzt.

Ich hab jetzt auch schon versucht, einen Samba Server “per Hand” aufzusetzen (auf Ubuntu Basis) und diesen dann in die UCS-AD-Domäne zu joinen laut dieser Anleitung. Selbes Problem. Dabei entdeckte ich in der Anleitung folgenden Abschnitt:


Also, remember to edit your /etc/resolv.conf file to make sure the nameserver you’re using is your Active Directory Domain Controller. If you don’t, you won’t be able to join the domain, since it relies on that absurd DNS injection flotsam.

Also die Bestätigung meiner Annahme, dass AD es voraussetzt, dass Memberserver zwingend den DC als Nameserver haben müssen. Nur: ich verwende den DC ja eh als Nameserver!? o.O

Welche Anforderung ist es genau, die das DNS/die Nameserver für einen erfolgreichen Join erfüllen müssen?

LG, David


#8

Der DNS-Server muss schlicht sämtliche Anfragen der Daten der UCS-Domäne beantworten können, z.B. nach dem SRV-Record für _ldap._tcp.$domain. Ich vermute (= nicht getestet), dass das prinzipiell auch ein anderer DNS-Server sein könnte, der entsprechend alle Anfragen für die Domäne an den UCS-Master weiterleitet.

Vielleicht wird aus der IP des Nameservers aber auch abgeleitet, dass auch andere für den Domain-Join wichtige Dinge auf dieser IP laufen… keine Ahnung, ehrlich gesagt.

Haben Sie denn bei der Memberserverinstallation die IP des DC1 oder des NS1 eingetragen? Falls NS1: probieren Sie die Installation erneut mit dem DC1 als Nameserver.


#9

Nach langem Suchen habe ich das Problem schlussendlich gefunden. Es war etwas ganz anderes als ich vermutete und im Prinzip banal: ein Firewallproblem. Dabei hatte ich extra alle nötigen Ports zwischen meinen Subnetzen geöffnet, jedoch blöderweise alle nur für TCP und nicht für UDP. Jetzt habe ich den Server Testweise im gleichen Subnetz wie die DCs aufgesetzt und dann funktionierte der Join. Auch dann, wenn die DCs keine NS-Einträge haben.

Vielen Dank für die Hilfe! Mir wurden einige Sachen wieder um einiges klarer.

LG, David C.