- 09/08/2020
- 6 Minuten zu lesen
-
- D
- v
- s
Dieser Artikel beschreibt den Mechanismus, der von Windows verwendet wird, um einen Domänencontroller in einer Windows-basierten Domäne.
Hinweis
Dieser Artikel bezieht sich auf Windows 2000. Der Support für Windows 2000 endet am 13. Juli 2010. Das Windows 2000 End-of-Support Solution Center ist ein Ausgangspunkt für die Planung Ihrer Migrationsstrategie von Windows 2000. Weitere Informationen finden Sie in der Microsoft Support Lifecycle Policy.
Originalproduktversion: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Original-KB-Nummer: 247811
Zusammenfassung
Dieser Artikel beschreibt den Prozess zum Auffinden einer Domäne anhand ihres DNS-Style-Namens und ihres Flat-Style-(NetBIOS-)Namens. Der Flat-Style-Name wird aus Gründen der Abwärtskompatibilität verwendet. In allen anderen Fällen sollten grundsätzlich DNS-Namen verwendet werden. Dieser Artikel befasst sich auch mit der Fehlerbehebung beim Auffinden von Domänencontrollern.
Weitere Informationen
Diese Sequenz beschreibt, wie der Locator einen Domänencontroller findet:
-
Auf dem Client (dem Computer, der den Domänencontroller auffindet) wird der Locator als Remoteprozeduraufruf (RPC) an den lokalen Netlogon-Dienst initiiert. Der Locator DsGetDcName-Aufruf der Anwendungsprogrammierschnittstelle (API) wird vom Netlogon-Dienst implementiert.
-
Der Client sammelt die Informationen, die für die Auswahl eines Domänencontrollers erforderlich sind, und übergibt die Informationen mit dem DsGetDcName-Aufruf an den Netlogon-Dienst.
-
Der Netlogon-Dienst auf dem Client verwendet die gesammelten Informationen, um einen Domänencontroller für die angegebene Domäne auf eine von zwei Arten zu suchen:
-
Für einen DNS-Namen fragt Netlogon DNS ab, indem es den IP/DNS-kompatiblen Locator verwendet – das heißt, DsGetDcName ruft den DnsQuery-Aufruf auf, um die Service-Ressourcen (SRV)-Datensätze und „A“-Datensätze aus DNS zu lesen, nachdem es den Domänennamen an die entsprechende Zeichenfolge angehängt hat, die die SRV-Datensätze angibt.
-
Eine Arbeitsstation, die sich an einer Windows-basierten Domäne anmeldet, fragt DNS nach SRV-Einträgen in der allgemeinen Form ab:
_service.DnsDomainName
Active Directory Server bieten den Lightweight Directory Access Protocol (LDAP)-Dienst über das TCP-Protokoll an. Daher finden Clients einen LDAP-Server, indem sie DNS nach einem Datensatz der Form abfragen:
_ldap._tcp.DnsDomainName
-
-
Für einen NetBIOS-Namen führt Netlogon die Erkennung des Domänencontrollers durch, indem es den Microsoft Windows NT Version 4.0-kompatiblen Locator (d. h. unter Verwendung des transportspezifischen Mechanismus (z. B. WINS).
In Windows NT 4.0 und früher ist „Erkennung“ ein Prozess zum Auffinden eines Domänencontrollers für die Authentifizierung entweder in der primären Domäne oder in einer vertrauenswürdigen Domäne.
-
Der Netlogon-Dienst sendet ein Datagramm an die Computer, die den Namen registriert haben. Für NetBIOS-Domänennamen wird das Datagramm als Mailslot-Nachricht implementiert. Für DNS-Domänennamen wird das Datagramm als LDAP User Datagram Protocol (UDP) Suche implementiert. (UDP ist das verbindungslose Datagramm-Transportprotokoll, das Teil der TCP/IP-Protokollsuite ist. TCP ist ein verbindungsorientiertes Transportprotokoll.)
-
Jeder verfügbare Domänencontroller antwortet auf das Datagramm, um anzuzeigen, dass er derzeit betriebsbereit ist, und gibt die Informationen an DsGetDcName zurück.
UDP ermöglicht einem Programm auf einem Computer, ein Datagramm an ein Programm auf einem anderen Computer zu senden. UDP enthält eine Protokollportnummer, die es dem Absender ermöglicht, zwischen mehreren Zielen (Programmen) auf dem entfernten Computer zu unterscheiden.
- Jeder verfügbare Domänencontroller antwortet auf das Datagramm, um anzuzeigen, dass er derzeit betriebsbereit ist, und gibt die Informationen an DsGetDcName zurück.
- Der Netlogon-Dienst speichert die Domänencontroller-Informationen zwischen, so dass nachfolgende Anfragen den Erkennungsprozess nicht wiederholen müssen. Das Zwischenspeichern dieser Informationen fördert die konsistente Verwendung desselben Domänencontrollers und eine konsistente Ansicht von Active Directory.
Wenn sich ein Client anmeldet oder dem Netzwerk beitritt, muss er in der Lage sein, einen Domänencontroller zu finden. Der Client sendet eine DNS-Lookup-Abfrage an das DNS, um Domänencontroller zu finden, vorzugsweise im eigenen Subnetz des Clients. Daher finden Clients einen Domänencontroller, indem sie DNS nach einem Datensatz der Form abfragen:
_LDAP._TCP.dc._msdcs.domainname
Nachdem der Client einen Domänencontroller gefunden hat, stellt er die Kommunikation her, indem er LDAP verwendet, um Zugriff auf Active Directory zu erhalten. Als Teil dieser Aushandlung identifiziert der Domänencontroller anhand des IP-Subnetzes des Clients, an welchem Standort er sich befindet. Wenn der Client mit einem Domänencontroller kommuniziert, der sich nicht in der nächstgelegenen (optimalsten) Site befindet, gibt der Domänencontroller den Namen der Site des Clients zurück. Wenn der Client bereits versucht hat, Domänencontroller an diesem Standort zu finden (z. B. wenn der Client eine DNS-Lookup-Abfrage an DNS sendet, um Domänencontroller im Subnetz des Clients zu finden), verwendet der Client den nicht optimalen Domänencontroller. Andernfalls führt der Client erneut einen standortspezifischen DNS-Lookup mit dem neuen optimalen Standortnamen durch. Der Domänencontroller verwendet einige der Verzeichnisdienstinformationen zur Identifizierung von Sites und Subnetzen.
Nachdem der Client einen Domänencontroller gefunden hat, wird der Domänencontroller-Eintrag zwischengespeichert. Wenn sich der Domänencontroller nicht im optimalen Standort befindet, leert der Client den Cache nach fünfzehn Minuten und verwirft den Cache-Eintrag. Er versucht dann, einen optimalen Domänencontroller am gleichen Standort wie der Client zu finden.
Nachdem der Client einen Kommunikationspfad zum Domänencontroller hergestellt hat, kann er die Anmelde- und Authentifizierungsdaten festlegen und, falls für Windows-basierte Computer erforderlich, einen sicheren Kanal einrichten. Der Client ist dann bereit, normale Abfragen durchzuführen und im Verzeichnis nach Informationen zu suchen.
Der Client stellt eine LDAP-Verbindung zu einem Domänencontroller her, um sich anzumelden. Der Anmeldevorgang verwendet den Security Accounts Manager. Da der Kommunikationspfad die LDAP-Schnittstelle verwendet und der Client von einem Domänencontroller authentifiziert wird, wird das Client-Konto verifiziert und über den Security Accounts Manager an den Verzeichnisdienst-Agenten, dann an die Datenbankschicht und schließlich an die Datenbank in der Extensible Storage Engine (ESE) weitergeleitet.
Fehlersuche im Domänensuchprozess
So führen Sie eine Fehlersuche im Domänensuchprozess durch:
-
Prüfen Sie die Ereignisanzeige sowohl auf dem Client als auch auf dem Server. Die Ereignisprotokolle können Fehlermeldungen enthalten, die darauf hinweisen, dass ein Problem vorliegt. Um die Ereignisanzeige anzuzeigen, klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung und klicken Sie dann auf Ereignisanzeige. Überprüfen Sie das Systemprotokoll sowohl auf dem Client als auch auf dem Server. Überprüfen Sie auch die Verzeichnisdienstprotokolle auf dem Server und die DNS-Protokolle auf dem DNS-Server.
-
Prüfen Sie die IP-Konfiguration mit dem Befehl
ipconfig /all
an einer Eingabeaufforderung. -
Verwenden Sie das Dienstprogramm Ping, um die Netzwerkkonnektivität und die Namensauflösung zu überprüfen. Pingen Sie sowohl die IP-Adresse als auch den Servernamen an. Möglicherweise möchten Sie auch den Domänennamen anpingen.
-
Verwenden Sie das Tool Netdiag, um festzustellen, ob die Netzwerkkomponenten korrekt arbeiten. Um eine detaillierte Ausgabe in eine Textdatei zu senden, verwenden Sie den folgenden Befehl:
netdiag /v >test.txt
Sehen Sie sich die Protokolldatei an, suchen Sie nach Problemen und untersuchen Sie alle betroffenen Komponenten. Diese Datei enthält auch andere Details zur Netzwerkkonfiguration. -
Um kleinere Probleme zu beheben, verwenden Sie das Tool Netdiag mit der folgenden Syntax:
netdiag /fix
. -
Verwenden Sie den Befehl
nltest /dsgetdc:domainname
, um zu überprüfen, ob ein Domänencontroller für eine bestimmte Domäne gefunden werden kann. -
Verwenden Sie das Tool NSLookup, um zu überprüfen, ob DNS-Einträge korrekt im DNS registriert sind. Überprüfen Sie, ob die Server-Host-Einträge und GUID-SRV-Einträge aufgelöst werden können.
Beispielsweise können Sie die Registrierung der Datensätze mit den folgenden Befehlen überprüfen:
nslookup servername. childofrootdomain. rootdomain.com
nslookup guid._msdcs. rootdomain.com
-
Wenn einer dieser Befehle nicht erfolgreich ist, verwenden Sie eine der folgenden Methoden, um Datensätze erneut bei DNS zu registrieren:
- Um die Registrierung von Host-Datensätzen zu erzwingen, geben Sie ipconfig /registerdns ein.
- Um die Registrierung des Domänencontroller-Dienstes zu erzwingen, stoppen und starten Sie den Netlogon-Dienst.
-
Um Probleme mit dem Domänencontroller zu erkennen, führen Sie das Dienstprogramm DCdiag über eine Eingabeaufforderung aus. Das Dienstprogramm führt eine Reihe von Tests aus, um zu überprüfen, ob ein Domänencontroller ordnungsgemäß ausgeführt wird. Verwenden Sie diesen Befehl, um die Ergebnisse an eine Textdatei zu senden:
dcdiag /v >dcdiag.txt
-
Verwenden Sie das Tool „Ldp.exe“, um sich mit dem Domänencontroller zu verbinden und zu binden, um eine angemessene LDAP-Konnektivität zu überprüfen.
-
Wenn Sie vermuten, dass ein bestimmter Domänencontroller Probleme hat, kann es hilfreich sein, die Debugprotokollierung von Netlogon zu aktivieren. Verwenden Sie das Dienstprogramm NLTest, indem Sie diesen Befehl eingeben:
nltest /dbflag:0x2000ffff
. Die Informationen werden dann im Ordner Debug in der Datei Netlogon.log protokolliert. -
Wenn Sie das Problem immer noch nicht isoliert haben, verwenden Sie Network Monitor, um den Netzwerkverkehr zwischen dem Client und dem Domänencontroller zu überwachen.