- 09/08/2020
- 6 minuten om te lezen
-
- D
- v
- s
Dit artikel beschrijft het mechanisme dat door Windows wordt gebruikt om een domeincontroller te vinden in een Windows-gebaseerd domein.
Note
Dit artikel is van toepassing op Windows 2000. Ondersteuning voor Windows 2000 eindigt op 13 juli 2010. Het Windows 2000 End-of-Support Solution Center is een startpunt voor het plannen van uw migratiestrategie vanuit Windows 2000. Raadpleeg voor meer informatie het Microsoft Support Lifecycle Policy.
Oorspronkelijke productversie: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Oorspronkelijk KB-nummer: 247811
Samenvatting
Dit artikel beschrijft het proces voor het lokaliseren van een domein op basis van zijn DNS-stijlnaam en zijn flat-stijl (NetBIOS)-naam. De flat-style naam wordt gebruikt voor achterwaartse compatibiliteit. In alle andere gevallen moeten DNS-style namen worden gebruikt als een kwestie van beleid. Dit artikel gaat ook in op het oplossen van problemen met het lokalisatieproces van domeincontrollers.
Meer informatie
Deze reeks beschrijft hoe de Locator een domeincontroller vindt:
-
Op de client (de computer die de domeincontroller lokaliseert) wordt de Locator gestart als een remote procedure call (RPC) naar de lokale Netlogon-service. De DsGetDcName-aanroep van de Locator Application Programming Interface (API) wordt geïmplementeerd door de Netlogon-service.
-
De client verzamelt de informatie die nodig is om een domeincontroller te selecteren en geeft deze informatie door aan de Netlogon-service met behulp van de DsGetDcName-aanroep.
- De Netlogon-service op de client gebruikt de verzamelde informatie om op een van de volgende twee manieren een domeincontroller voor het opgegeven domein op te zoeken:
-
Voor een DNS-naam vraagt Netlogon DNS op met behulp van de IP/DNS-compatibele locator–dit wil zeggen dat DsGetDcName de DnsQuery-aanroep aanroept om de Service Resource (SRV)-records en “A”-records van DNS te lezen nadat de domeinnaam is toegevoegd aan de juiste tekenreeks die de SRV-records specificeert.
-
Een werkstation dat zich bij een Windows-domein aanmeldt, vraagt DNS naar SRV-records in de algemene vorm:
_service._protocol.DnsDomainName
Active Directory-servers bieden de Lightweight Directory Access Protocol (LDAP)-service via het TCP-protocol. Daarom vinden clients een LDAP-server door DNS te vragen om een record van de vorm:
_ldap._tcp.DnsDomainName
-
-
Voor een NetBIOS-naam voert Netlogon de ontdekking van domeincontrollers uit met behulp van de Microsoft Windows NT versie 4.0-compatibele Locator (dat wil zeggen, door gebruik te maken van het transportspecifieke mechanisme (bijvoorbeeld WINS).
In Windows NT 4.0 en eerder is “ontdekking” een proces voor het lokaliseren van een domeincontroller voor verificatie in het primaire domein of een vertrouwd domein.
-
De Netlogon-service verzendt een datagram naar de computers die de naam hebben geregistreerd. Voor NetBIOS-domeinnamen wordt het datagram geïmplementeerd als een mailslot-bericht. Voor DNS-domeinnamen wordt het datagram geïmplementeerd als een LDAP User Datagram Protocol (UDP)-zoekactie. (UDP is het verbindingsloze datagram-transportprotocol dat deel uitmaakt van de TCP/IP-protocolsuite. TCP is een verbindingsgeoriënteerd transportprotocol.)
-
Elke beschikbare domeincontroller antwoordt op het datagram om aan te geven dat deze momenteel operationeel is en stuurt de informatie terug naar DsGetDcName.
UDP stelt een programma op de ene computer in staat een datagram naar een programma op een andere computer te verzenden. UDP bevat een protocolpoortnummer, waarmee de verzender onderscheid kan maken tussen meerdere bestemmingen (programma’s) op de externe computer.
- Elke beschikbare domeincontroller antwoordt op het datagram om aan te geven dat hij momenteel operationeel is en stuurt de informatie terug naar DsGetDcName.
- De Netlogon-service slaat de informatie over de domeincontroller op in een cache, zodat volgende verzoeken het zoekproces niet hoeven te herhalen. Het opslaan van deze informatie bevordert consistent gebruik van dezelfde domeincontroller en een consistent beeld van Active Directory.
Wanneer een client zich aanmeldt of toetreedt tot het netwerk, moet deze een domeincontroller kunnen vinden. De client stuurt een DNS Lookup query naar DNS om domeincontrollers te vinden, bij voorkeur in het eigen subnet van de client. Daarom vinden clients een domeincontroller door DNS te vragen om een record van de vorm:
_LDAP._TCP.dc._msdcs.domainname
Nadat de client een domeincontroller heeft gevonden, brengt deze communicatie tot stand door LDAP te gebruiken om toegang te krijgen tot Active Directory. Als onderdeel van die onderhandeling stelt de domeincontroller vast in welke site de client zich bevindt op basis van het IP-subnet van die client. Als de client communiceert met een domeincontroller die zich niet in de dichtstbijzijnde (meest optimale) site bevindt, geeft de domeincontroller de naam van de site van de client terug. Als de client al heeft geprobeerd domeincontrollers in die site te vinden (bijvoorbeeld wanneer de client een DNS Lookup-query naar DNS stuurt om domeincontrollers in het subnet van de client te vinden), gebruikt de client de domeincontroller die niet optimaal is. Anders voert de client opnieuw een site-specifieke DNS lookup uit met de nieuwe optimale sitenaam. De domeincontroller gebruikt een deel van de directoryservice-informatie voor het identificeren van sites en subnetten.
Nadat de client een domeincontroller heeft gevonden, wordt de invoer van de domeincontroller in de cache opgeslagen. Als de domeincontroller zich niet op de optimale locatie bevindt, spoelt de client de cache na vijftien minuten leeg en wordt de cache-vermelding verwijderd. Vervolgens wordt geprobeerd een optimale domeincontroller te vinden in dezelfde site als de client.
Als de client een communicatiepad naar de domeincontroller tot stand heeft gebracht, kan hij de aanmeld- en authenticatiegegevens vaststellen en, indien nodig voor Windows-computers, een beveiligd kanaal opzetten. De client is dan klaar om normale query’s uit te voeren en informatie te zoeken in de directory.
De client maakt een LDAP-verbinding met een domeincontroller om zich aan te melden. Het aanmeldingsproces maakt gebruik van Security Accounts Manager. Omdat het communicatiepad gebruikmaakt van de LDAP-interface en de client wordt geverifieerd door een domeincontroller, wordt de clientaccount geverifieerd en via Security Accounts Manager doorgegeven aan de directory service agent, vervolgens aan de databaselaag en ten slotte aan de database in de Extensible Storage engine (ESE).
Het opsporen van problemen met het Domain Locator-proces
Het opsporen van problemen met het Domain Locator-proces:
-
Controleer Event Viewer op zowel de client als de server. De gebeurtenislogboeken kunnen foutberichten bevatten die aangeven dat er een probleem is. Als u Event Viewer wilt weergeven, klikt u op Start, wijst u naar Programma’s, wijst u naar Beheerprogramma’s en klikt u vervolgens op Event Viewer. Controleer het systeemlogboek op zowel de client als de server. Controleer ook de Directory Service-logboeken op de server en de DNS-logboeken op de DNS-server.
-
Controleer de IP-configuratie met behulp van het
ipconfig /all
-commando op een opdrachtprompt. -
Gebruik het hulpprogramma Ping om de netwerkconnectiviteit en naamresolutie te controleren. Ping zowel het IP-adres als de servernaam. U kunt ook de domeinnaam pingen.
- Gebruik het hulpprogramma Netdiag om te bepalen of de netwerkcomponenten correct werken. Gebruik de volgende opdracht om gedetailleerde uitvoer naar een tekstbestand te sturen:
netdiag /v >test.txt
Bekijk het logbestand, zoek naar problemen en onderzoek alle betrokken componenten. Dit bestand bevat ook andere details over de netwerkconfiguratie. -
Om kleine problemen op te lossen, gebruikt u het hulpprogramma Netdiag met de volgende syntaxis:
netdiag /fix
. -
Gebruik de opdracht
nltest /dsgetdc:domainname
om te controleren of een domeincontroller voor een specifiek domein kan worden gevonden. - Gebruik het hulpprogramma NSLookup om te controleren of DNS-vermeldingen correct in DNS zijn geregistreerd. Controleer of de hostrecords van de server en de GUID SRV-records kunnen worden opgelost.
Voor het controleren van record registratie, gebruikt u bijvoorbeeld de volgende commando’s:
nslookup servername. childofrootdomain. rootdomain.com
nslookup guid._msdcs. rootdomain.com
-
Als een van deze opdrachten niet slaagt, gebruik dan een van de volgende methoden om records opnieuw te registreren bij DNS:
- Om de registratie van hostrecords te forceren, typt u ipconfig /registerdns.
- Om de registratie van domeincontrollerservices te forceren, stopt en start u de Netlogon-service.
-
Om problemen met domeincontrollers op te sporen, voert u het hulpprogramma DCdiag uit vanaf een opdrachtprompt. Dit hulpprogramma voert een aantal tests uit om te controleren of een domeincontroller correct werkt. Gebruik deze opdracht om de resultaten naar een tekstbestand te verzenden:
dcdiag /v >dcdiag.txt
-
Gebruik het hulpprogramma Ldp.exe om verbinding te maken en te binden met de domeincontroller om de juiste LDAP-connectiviteit te controleren.
-
Als u vermoedt dat een bepaalde domeincontroller problemen heeft, kan het nuttig zijn om Netlogon-debuglogging in te schakelen. Gebruik het hulpprogramma NLTest door de volgende opdracht in te voeren:
nltest /dbflag:0x2000ffff
. De informatie wordt vervolgens vastgelegd in de map Debug in het Netlogon.log-bestand. -
Als u het probleem nog steeds niet hebt geïsoleerd, gebruikt u Network Monitor om het netwerkverkeer tussen de client en de domeincontroller te controleren.