Jak kontrolery domeny znajdują się w systemie Windows

W tym artykule opisano mechanizm używany przez system Windows do lokalizowania kontrolera domeny w domenie opartej na systemie Windows.

Uwaga

Ten artykuł dotyczy systemu Windows 2000. Obsługa systemu Windows 2000 kończy się 13 lipca 2010 r. Centrum rozwiązań dla systemu Windows 2000 end-of-support jest punktem wyjścia do planowania strategii migracji z systemu Windows 2000. Aby uzyskać więcej informacji, zobacz zasady cyklu życia pomoc techniczna firmy Microsoft.

              Dotyczy systemów: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Oryginalny numer KB: 247811

Podsumowanie

W tym artykule szczegółowo opisano proces lokalizowania domeny według nazwy w stylu DNS i nazwy w stylu płaskim (NetBIOS). Nazwa w stylu płaskim jest używana do zgodności z poprzednimi wersjami. We wszystkich innych przypadkach nazwy w stylu DNS powinny być używane jako kwestia zasad. Ten artykuł dotyczy również rozwiązywania problemów z procesem lokalizacji kontrolera domeny.

Jak lokalizator znajduje kontroler domeny

W tej sekwencji opisano sposób znajdowania kontrolera domeny przez lokalizator:

  • Na kliencie (komputerze, który znajduje kontroler domeny) lokalizator jest uruchamiany jako zdalne wywołanie procedury (RPC) do lokalnej usługi Netlogon. Wywołanie interfejsu programowania aplikacji (API) lokalizatora DsGetDcName jest implementowane przez usługę Netlogon.

  • Klient zbiera informacje potrzebne do wybrania kontrolera domeny. Następnie przekazuje informacje do usługi Netlogon przy użyciu wywołania DsGetDcName.

  • Usługa Netlogon na kliencie używa zebranych informacji do wyszukania kontrolera domeny dla określonej domeny na jeden z dwóch sposobów:

    • W przypadku nazwy DNS usługa Netlogon wysyła zapytanie do systemu DNS przy użyciu lokalizatora zgodnego z adresem IP/DNS. Oznacza to, że DsGetDcName wywołuje wywołanie DnsQuery do odczytu rekordów zasobu usługi (SRV) i rekordów "A" z dns po dołączeniu nazwy domeny do odpowiedniego ciągu, który określa rekordy SRV.

    • Stacja robocza, która loguje się do domeny opartej na systemie Windows, wysyła zapytanie do systemu DNS o rekordy SRV w postaci ogólnej:

      _service._protocol.DnsDomainName
      

      Serwery usługi Active Directory oferują usługę Lightweight Directory Access Protocol (LDAP) za pośrednictwem protokołu TCP. W związku z tym klienci znajdują serwer LDAP, wysyłając zapytanie do systemu DNS w poszukiwaniu rekordu formularza:

      _ldap._tcp. DnsDomainName

  • W przypadku nazwy NetBIOS narzędzie Netlogon wykonuje odnajdywanie kontrolera domeny przy użyciu lokalizatora zgodnego z systemem Microsoft Windows NT w wersji 4.0. Oznacza to, że przy użyciu mechanizmu specyficznego dla transportu, takiego jak WINS.

    W systemie Windows NT 4.0 lub starszym "odnajdywanie" jest procesem lokalizowania kontrolera domeny na potrzeby uwierzytelniania w domenie podstawowej lub domenie zaufanej.

  • Usługa Netlogon wysyła datagram do komputerów, na których zarejestrowano nazwę. W przypadku nazw domen NetBIOS datagram jest implementowany jako wiadomość mailslot. W przypadku nazw domen DNS datagram jest implementowany jako wyszukiwanie protokołu UDP (User Datagram Protocol). (UDP to protokół transportu datagramów bez połączenia, który jest częścią pakietu protokołów TCP/IP. TCP to protokół transportowy zorientowany na połączenie.

  • Każdy dostępny kontroler domeny odpowiada na datagram, aby wskazać, że obecnie działa, i zwraca informacje do DsGetDcName.

Protokół UDP umożliwia programowi na jednym komputerze wysyłanie datagramu do programu na innym komputerze. Protokół UDP zawiera numer portu protokołu, który umożliwia nadawcy rozróżnianie wielu miejsc docelowych (programów) na komputerze zdalnym.

  • Każdy dostępny kontroler domeny odpowiada na datagram, aby wskazać, że obecnie działa, i zwraca informacje do DsGetDcName.
  • Usługa Netlogon buforuje informacje o kontrolerze domeny, aby późniejsze żądania nie musiały powtarzać procesu odnajdywania. Buforowanie tych informacji zachęca do spójnego korzystania z tego samego kontrolera domeny i spójnego widoku usługi Active Directory.

Gdy klient loguje się lub dołącza do sieci, musi mieć możliwość zlokalizowania kontrolera domeny. Klient wysyła zapytanie odnośnika DNS do systemu DNS w celu znalezienia kontrolerów domeny, najlepiej w podsieci klienta. W związku z tym klienci znajdują kontroler domeny, wysyłając zapytanie do systemu DNS w poszukiwaniu rekordu formularza:

_LDAP._TCP.dc._msdcs.domainname

Po zlokalizowaniu kontrolera domeny przez klienta nawiązuje on komunikację przy użyciu protokołu LDAP w celu uzyskania dostępu do usługi Active Directory. W ramach tych negocjacji kontroler domeny określa lokację, w której znajduje się klient, na podstawie podsieci IP tego klienta.

Jeśli klient komunikuje się z kontrolerem domeny, który nie znajduje się w najbliższej (najbardziej optymalnej) lokacji, kontroler domeny zwraca nazwę lokacji klienta. Jeśli klient próbował już znaleźć kontrolery domeny w tej lokacji, klient używa kontrolera domeny, który nie jest optymalny. Na przykład klient wysyła zapytanie odnośnika DNS do systemu DNS w celu znalezienia kontrolerów domeny w podsieci klienta.

W przeciwnym razie klient ponownie wykonuje wyszukiwanie DNS specyficzne dla lokacji z nową optymalną nazwą lokacji. Kontroler domeny używa niektórych informacji o usłudze katalogowej do identyfikowania lokacji i podsieci.

Po zlokalizowaniu kontrolera domeny przez klienta wpis kontrolera domeny jest buforowany. Jeśli kontroler domeny nie znajduje się w optymalnej lokacji, klient opróżnia pamięć podręczną po 15 minutach i odrzuca wpis pamięci podręcznej. Następnie próbuje znaleźć optymalny kontroler domeny w tej samej lokacji co klient.

Gdy klient ustanowi ścieżkę komunikacji z kontrolerem domeny, może ustanowić poświadczenia logowania i uwierzytelniania. W razie potrzeby w przypadku komputerów z systemem Windows można skonfigurować bezpieczny kanał. Następnie klient jest gotowy do wykonywania normalnych zapytań i wyszukiwania informacji dotyczących katalogu.

Klient nawiązuje połączenie LDAP z kontrolerem domeny, aby się zalogować. Proces logowania używa Menedżera kont zabezpieczeń. Ścieżka komunikacji używa interfejsu LDAP, a klient jest uwierzytelniony przez kontroler domeny. Dlatego konto klienta jest weryfikowane i przekazywane za pośrednictwem Menedżera kont zabezpieczeń do agenta usługi katalogowej, następnie do warstwy bazy danych, a na koniec do bazy danych w aparacie magazynu rozszerzalnego (ESE).

Rozwiązywanie problemów z procesem lokalizatora domeny

Aby rozwiązać problem z procesem lokalizatora domeny:

  1. Sprawdź Podgląd zdarzeń zarówno na kliencie, jak i na serwerze. Dzienniki zdarzeń mogą zawierać komunikaty o błędach wskazujące, że wystąpił problem. Aby wyświetlić Podgląd zdarzeń, wybierz pozycję Start, wskaż pozycjęNarzędzia administracyjneprogramów>, a następnie wybierz pozycję Podgląd zdarzeń. Sprawdź dziennik systemowy zarówno na kliencie, jak i na serwerze. Sprawdź również dzienniki usługi katalogowej na serwerze i dzienniki DNS na serwerze DNS.

  2. Sprawdź konfigurację adresu IP przy użyciu ipconfig /all polecenia w wierszu polecenia.

  3. Użyj narzędzia Ping, aby zweryfikować łączność sieciową i rozpoznawanie nazw. Wyślij polecenie ping zarówno do adresu IP, jak i nazwy serwera. Możesz również wysłać polecenie ping do nazwy domeny.

  4. Użyj narzędzia Netdiag, aby określić, czy składniki sieci działają prawidłowo. Aby wysłać szczegółowe dane wyjściowe do pliku tekstowego, użyj następującego polecenia:

    netdiag /v >test.txt
    Przejrzyj plik dziennika, wyszukaj problemy i zbadaj wszystkie składniki, które są związane z tym problemem. Ten plik zawiera również inne szczegóły konfiguracji sieci.

  5. Aby rozwiązać drobne problemy, użyj narzędzia Netdiag z następującą składnią:

    netdiag /fix.

  6. Użyj polecenia , nltest /dsgetdc:domainname aby sprawdzić, czy kontroler domeny może znajdować się dla określonej domeny.

  7. NSLookup Użyj narzędzia, aby sprawdzić, czy wpisy DNS są poprawnie zarejestrowane w systemie DNS. Sprawdź, czy można rozpoznać rekordy hosta serwera i rekordy SRV identyfikatora GUID.

    Aby na przykład zweryfikować rejestrację rekordu, użyj następujących poleceń:
    nslookup servername. childofrootdomain. rootdomain.com
    nslookup guid._msdcs. rootdomain.com

  8. Jeśli jedno z tych poleceń nie powiedzie się, użyj jednej z następujących metod, aby ponownie wyrejestrować rekordy za pomocą systemu DNS:

    • Aby wymusić rejestrację rekordu hosta, wpisz ipconfig /registerdns.
    • Aby wymusić rejestrację usługi kontrolera domeny, zatrzymaj i uruchom usługę Netlogon.
  9. Aby wykryć problemy z kontrolerem domeny, uruchom narzędzie DCdiag w wierszu polecenia. Narzędzie uruchamia wiele testów, aby sprawdzić, czy kontroler domeny działa poprawnie. Użyj tego polecenia, aby wysłać wyniki do pliku tekstowego: dcdiag /v >dcdiag.txt

  10. Użyj narzędzia Ldp.exe, aby nawiązać połączenie i powiązać z kontrolerem domeny w celu zweryfikowania odpowiedniej łączności LDAP.

  11. Jeśli podejrzewasz, że dany kontroler domeny ma problemy, może być pomocne włączenie rejestrowania debugowania netlogon. Użyj narzędzia NLTest, wpisując następujące polecenie: nltest /dbflag:0x2000ffff. Informacje są następnie rejestrowane w folderze Debug w pliku Netlogon.log.

  12. Jeśli problem nadal nie został wyizolowany, użyj monitora sieci do monitorowania ruchu sieciowego między klientem a kontrolerem domeny.

Informacje

Aby uzyskać więcej informacji, zobacz Zestaw zasobów systemu Windows, rozdział 10 "Diagnostyka usługi Active Directory, rozwiązywanie problemów i odzyskiwanie".