Ich richte eine Testumgebung für einen Kunden ein, der Samba4 an 1400 Remotestandorten bereitstellen möchte, und es tritt ein Problem auf. Es ist schließlich meine Aufgabe, auf Probleme zu stoßen und sie dann zu lösen.
Active Directory
- Gesamtstrukturstamm & einzelne Domain: main.adlab.netdirect.ca
- erstellt unter Windows 2008 R2
- 2008 FFL
- 2008 DFL
Hauptbüro
- AD1: Windows 2008 R2 DC
- AD2: Windows 2008 R2 DC
- Windows 7 Professional-Clients
Niederlassung
- SLES11SP2 (vollständig aktualisiert!) Mit Samba 4 (4.1.1-7.suse111-Pakete von Sernet)
- Samba 4 als RODC konfiguriert
Ich habe eine Kennwortreplikationsrichtlinie konfiguriert, mit der bestimmte Konten auf dem RODC zwischengespeichert werden können, und diese Konten dann in den RODC eingefügt:
sles-shire:~ # samba-tool rodc preload 'win7-shire$' --server main.adlab.netdirect.ca
Replicating DN CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca
Exop on[CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[2]
sles-shire:~ # samba-tool rodc preload 'win7-shire-2$' --server main.adlab.netdirect.ca
Replicating DN CN=WIN7-SHIRE-2,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca
Exop on[CN=WIN7-SHIRE-2,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[1]
sles-shire:~ # samba-tool rodc preload 'bilbo' --server main.adlab.netdirect.ca
Replicating DN CN=Bilbo Baggins,OU=Shire,OU=Offices,DC=main,DC=adlab,DC=netdirect,DC=ca
Exop on[CN=Bilbo Baggins,OU=Shire,OU=Offices,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[2]
Ich weiß, dass diese Anmeldeinformationen auf dem RODC zwischengespeichert werden, da ich mich mit einem zwischengespeicherten Benutzer, aber nicht mit einem anderen Benutzer anmelden kann, wenn ich den Site-Link lösche:
michael@sles-shire:~> smbclient //sles-shire.main.adlab.netdirect.ca/sysvol -U michael
Enter michael's password:
session setup failed: NT_STATUS_IO_TIMEOUT
michael@sles-shire:~> smbclient //sles-shire.main.adlab.netdirect.ca/sysvol -U bilbo
Enter bilbo's password:
Domain=[MAIN] OS=[Unix] Server=[Samba 4.1.1-SerNet-SuSE-7.suse111]
smb: \> ls
. D 0 Mon Nov 18 16:09:44 2013
.. D 0 Mon Nov 18 16:11:15 2013
main.adlab.netdirect.ca D 0 Wed Nov 20 17:54:13 2013
Die Authentifizierung funktioniert also einwandfrei! Wenn ich mich jedoch beim Windows 7-PC (WIN7-SHIRE) anmelde, wird folgende Fehlermeldung angezeigt:
Ein interner Fehler ist aufgetreten.
Gee. Vielen Dank. Wenn ich ein falsches Passwort verwende, erhalte ich:
Der Benutzername oder das Passwort ist falsch.
Die Authentifizierung findet also statt, aber Windows 7 mag etwas nicht . Ich sehe diese Fehler in den Ereignisprotokollen und denke, dass sie für dieses Problem relevant sind:
Das Sicherheitssystem hat einen Authentifizierungsfehler für den Server ldap / sles-shire.main.adlab.netdirect.ca festgestellt. Der Fehlercode aus dem Authentifizierungsprotokoll Kerberos lautete "Ein interner Fehler ist aufgetreten. (0xc00000e5)".
Das Sicherheitssystem hat einen Authentifizierungsfehler für den Server DNS / sles-shire.main.adlab.netdirect.ca festgestellt. Der Fehlercode aus dem Authentifizierungsprotokoll Kerberos lautete "Ein interner Fehler ist aufgetreten. (0xc00000e5)".
Wenn ich bereits angemeldet bin und versuche, Netzwerkdienste zu verwenden, erhalte ich:
Das Sicherheitssystem hat einen Authentifizierungsfehler für den Server cifs / sles-shire.main.adlab.netdirect.ca festgestellt. Der Fehlercode aus dem Authentifizierungsprotokoll Kerberos lautete "Ein interner Fehler ist aufgetreten. (0xc00000e5)".
Meine krb5.conf auf dem Server:
[libdefaults]
default_realm = MAIN.ADLAB.NETDIRECT.CA
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
Hier ist der wahre Kicker:
Das Verhalten tritt nach wie vor , wenn der Website - Link ist oben . Ich kann mich beim Domänen-PC mit Konten anmelden, die nicht im RODC zwischengespeichert sind, aber wenn sie im RODC gespeichert sind, wird der gleiche Fehler angezeigt.
Ich habe sichergestellt, dass alle entsprechenden SRV-Einträge in AD DNS vorhanden sind. Ich habe dies sichergestellt, indem ich einen Windows 2008 R2-Domänencontroller in der Zweigstelle in eine RODC-Rolle befördert und sichergestellt habe, dass alle entsprechenden DNS-Einträge sowohl für Windows- als auch für Samba-RODC vorhanden sind.
(Einige mussten von Hand hinzugefügt werden, da sie noch nicht von Samba hinzugefügt wurden:
SRV _ldap._tcp.${SITE}._sites.DomainDnsZones.${DNSDOMAIN} ${HOSTNAME} 389
SRV _ldap._tcp.${SITE}._sites.ForestDnsZones.${DNSFOREST} ${HOSTNAME} 389
) (muss Klammer schließen)
Also ... was ist kaputt und wie kann ich das beheben?
SPN-Info
> dsquery * "CN=SLES-SHIRE,OU=Domain Controllers,DC=main,DC=adlab,DC=netdirect,DC=ca" -attr servicePrincipalName
servicePrincipalName
ldap/SLES-SHIRE;
ldap/4116d553-d66b-4c8b-9a60-90380ac69c04._msdcs.main.adlab.netdirect.ca;
ldap/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca;
HOST/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca;
ldap/SLES-SHIRE.main.adlab.netdirect.ca;
ldap/SLES-SHIRE.main.adlab.netdirect.ca/MAIN;
HOST/SLES-SHIRE.main.adlab.netdirect.ca/MAIN;
RestrictedKrbHost/SLES-SHIRE.main.adlab.netdirect.ca;
RestrictedKrbHost/SLES-SHIRE;
GC/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca;
HOST/SLES-SHIRE.main.adlab.netdirect.ca;HOST/SLES-SHIRE;
> dsquery * "CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca" -attr servicePrincipalName
servicePrincipalName
TERMSRV/WIN7-SHIRE.main.adlab.netdirect.ca;
TERMSRV/WIN7-SHIRE;
RestrictedKrbHost/WIN7-SHIRE;
HOST/WIN7-SHIRE;
RestrictedKrbHost/WIN7-SHIRE.main.adlab.netdirect.ca;
HOST/WIN7-SHIRE.main.adlab.netdirect.ca;