Frage Wie findet ein Client-System in einem Active Directory-Netzwerk in welcher Site es sich befindet?


Als ich eine Präsentation für die anfängliche Windows-Administration zusammenstellte, war ich mit einer Frage konfrontiert, die mich erstaunt hat, dass ich sie nicht früher gefragt habe.

Ich weiß das:

  • AD wird in den Standorten logisch eingerichtet, um die Replikation zu unterstützen und die Latenz der domänenotwendigen Kommunikation zwischen Clientcomputern und Domänendiensten zu verringern.
  • Sites werden durch die Subnetze definiert, die auf sie angewendet werden
  • Die Unterdomäne _msdcs enthält eine Hierarchie von SRV-Einträgen für die allgemeine Suche (_tcp) und für die sitespezifische Suche (_sites).
  • Computer wissen irgendwie, in welcher Site sie sich befinden, oder der Domain-Controller entscheidet sich transparent für etwas Magie von DNS ... oder geht das?

Dieser Blogbeitrag weist darauf hin, dass Clientcomputer in einem AD-Netzwerk "wissen" können, an welcher Site sie Mitglied sind. Meine Frage ist, wenn das der Fall ist, wie finden sie es heraus?

Wenn der Client selbst nicht weiß, wie unterstützt der DC die Maschine bei der Auswahl der AD-Dienste, die diesem Clientcomputer am nächsten sind?


19
2018-03-11 01:28


Ursprung




Antworten:


Die Antwort lautet: Wenn sich ein Client zum ersten Mal bei Active Directory authentifiziert, weiß er nicht, in welcher Site er sich befindet.

Beim ersten Beitritt zur Domäne führt der Client allgemeine DNS- und LDAP-Abfragen durch und ruft eine Liste aller Domänencontroller in der Domäne ab. Er sucht nach LDAP-Bindungen und nach dem ersten erfolgreichen Domänencontroller, an den er gebunden ist der erste DC, mit dem es sich authentifiziert.

Nachdem der Client der Domäne beigetreten ist, teilt Active Directory dem Client mit, zu welcher Site er gehört. Active Directory weiß dies, weil der Administrator das IP-Subnetz des Clients in AD Sites & Services platziert und einem Standort zugeordnet hat.

Active Directory teilt dem Client mit, was seine AD-Site ist, und der Client speichert das in seiner eigenen Registrierung in der HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DynamicSiteName Registrierungswert. Auf diese Weise weiß das nächste Mal beim Booten des Clients, welche Site-spezifische DNS-Abfrage erstellt werden muss, damit nur die DCs abgerufen werden, die sich an dieser Site befinden.

Natürlich Das vollständige Verhalten ist in KB247811 dokumentiert, aber wenn Sie es selbst sehen möchten, können Sie Wireshark oder NetMon ausführen und eine Paketverfolgung durchführen und dann einer Domäne beitreten, während die Ablaufverfolgung ausgeführt wird. Sie sehen die genaue Reihenfolge von DNS-Abfragen und LDAP-Bindungen. Nachfolgende DNS-Abfragen und LDAP-Bindungen werden an die standortspezifischen Unterzonen geknüpft, da der AD von AD erfahren hat, zu welcher Site er gehört.

Der Netlogon-Dienst aktualisiert seine AD-Standortdaten regelmäßig. Wenn Sie also in ein anderes Netzwerk wechseln, erhält Ihr Client automatisch seine neue Website. Dies kann in der eingestellt werden HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\SiteNameTimeout Registrierungswert. (Verknüpfung)


28
2018-03-11 02:57



GAH! Du warst schneller als ich! - MDMarra
@MDMarra Es ist ein seltener Vorfall Herr. - Ryan Ries
Aus Neugier, ist der Netlogon-Check jemals wieder durchgeführt worden? Was wäre zum Beispiel, wenn ich ein System hätte, das sich in Site1 befand und dann die Person und die Ausrüstung zu Site2 brachte? Würde die Maschine weiterhin Site1 identifizieren und weitersprechen? - Peter Grace
Eigentlich nehme ich das zurück. Netlogon kann den Namen der dynamischen Site ohne Neustart aktualisieren: technet.microsoft.com/en-us/library/cc958488.aspx - Ryan Ries
@RyanRies Wenn du das in deinen Antworttext einfügen möchtest, wäre das großartig, ansonsten bearbeite ich die Antwort, um sie zu integrieren. - Peter Grace


Es gibt tatsächlich mehrere miteinander verbundene Funktionen / APIs. Obwohl sie lang sind, handelt es sich tatsächlich um etwas interessanteres Active Directory-Lesen.

Unabhängig von der folgenden Erklärung müssen Sie zwei Dinge beachten:

  • Wenn ein Domänencontroller in der lokalen Site aus irgendeinem Grund nicht reagiert, wird erwartet, dass der Client Kontakt mit einem beliebigen Domänencontroller in der Domäne aufnehmen wird. Dies ist normal und war immer das Standardverhalten. Manchmal ist es nicht ersichtlich, warum es auftritt.

  • Das kann suboptimal sein. Stellen Sie sich folgendes Szenario vor: Drei Standorte: New York City (Hub / Datenempfänger - schnell), Los Angeles (spricht mit NYC - schnell) und Kasachstan (spricht mit NYC - definitiv nicht schnell). Wenn Ihr Kunde in der LA-Site aus irgendeinem Grund nicht mit seinem lokalen DC Kontakt aufnehmen kann, ist es nicht undenkbar, dass er sich mit Kasachstan authentifizieren wird.

Es gibt ein paar Lösungen. Sie können beides oder beides tun.

  • Microsoft hat die Gruppenrichtlinien- / Registrierungseinstellung mit dem treffenden Namen "TryNextClosestSite" erstellt. Das bedeutet, dass der LA-Kunde NYC ausprobieren sollte, bevor er den Planeten auf der Suche nach DCs durchstreift. Brillant! Es hat acht Jahre gedauert, aber mit Vista / 2008 haben wir es endlich geschafft. Denken Sie daran, dass Sie nicht standardmäßig aktiviert sind, sondern ein Gruppenrichtlinienobjekt erstellen müssen, um dies zu aktivieren.

  • Bei Spoke-Sites, bei denen DC nicht unbedingt Clients an anderen Standorten bereitstellen soll, können Sie eine Gruppenrichtlinien- / Registrierungseinstellung erstellen, die angibt, welche DNS-Einträge nicht registriert werden sollen. Dies wird als DNS-Mnemonics bezeichnet.


Suchen eines Domänencontrollers in der nächstgelegenen Site (DsGetSiteName-API)
http://technet.microsoft.com/en-us/library/cc978016.aspx 

Zuweisen von IP-Adressen zu Site-Namen

"Während des Net Logon-Starts führt der Net Logon-Dienst auf jedem Domänencontroller die Site-Objekte im Konfigurationscontainer auf. Net Logon auf jedem Domänencontroller wird auch über Änderungen an den Site-Objekten benachrichtigt. Net Logon verwendet die Site-Informationen zum Erstellen eines In-Memory-Struktur, die zum Zuordnen von IP-Adressen zu Site-Namen verwendet wird.

"Wenn ein Client, der nach einem Domänencontroller sucht, die Liste der Domänencontroller-IP-Adressen von DNS empfängt, beginnt der Client mit der Abfrage der Domänencontroller, um herauszufinden, welcher Domänencontroller verfügbar und geeignet ist. Active Directory fängt die Abfrage ab die IP-Adresse des Clients und übergibt sie an Net Logon auf dem Domänencontroller Net Logon sucht die Client-IP-Adresse in seiner Subnetz-zu-Standort-Zuordnungstabelle nach dem Subnetzobjekt, das der Client-IP-Adresse am nächsten kommt gibt folgende Informationen zurück:

  • Der Name der Site, in der sich der Client befindet, oder die Site, die der Client-IP-Adresse am ehesten entspricht.

  • Der Name der Site, auf der sich der aktuelle Domänencontroller befindet.

  • Ein Bit, das angibt, ob der gefundene Domänencontroller in der dem Client am nächsten gelegenen Site gefunden wurde (Bit ist gesetzt) ​​oder nicht gefunden wurde (Bit ist nicht gesetzt).

Der Domänencontroller gibt die Informationen an den Client zurück. Die Antwort enthält außerdem verschiedene andere Informationen, die den Domänencontroller beschreiben. Der Client überprüft die Informationen, um festzustellen, ob versucht werden soll, einen besseren Domänencontroller zu finden. Die Entscheidung wird wie folgt getroffen:

"Wenn sich der zurückgegebene Domänencontroller in der nächstgelegenen Site befindet (das zurückgegebene Bit ist festgelegt), verwendet der Client diesen Domänencontroller.

"Wenn der Client bereits versucht hat, einen Domänencontroller in der Site zu finden, in der der Domänencontroller den Standort des Clients angibt, verwendet der Client diesen Domänencontroller.

"Wenn sich der Domänencontroller nicht in der nächstgelegenen Site befindet, aktualisiert der Client seine Standortinformationen und sendet eine neue DNS-Abfrage, um einen neuen Domänencontroller in der Site zu finden. Wenn die zweite Abfrage erfolgreich ist, wird der neue Domänencontroller verwendet Die zweite Abfrage schlägt fehl, der ursprüngliche Domänencontroller wird verwendet.

"Wenn die Domäne, die von einem Computer abgefragt wird, mit der Domäne identisch ist, mit der der Computer verbunden ist, wird die Site, in der sich der Computer befindet (wie von einem Domänencontroller gemeldet), in der Computerregistrierung gespeichert Site-Name im Registrierungseintrag DynamicSiteName in HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Netlogon \ Parameters. Daher gibt die API DsGetSiteName die Site zurück, in der sich der Computer befindet. "

DsGetDcName-Funktion
http://msdn.microsoft.com/en-us/library/ms675983%28VS.85%29.aspx 

Arten von Locators
http://technet.microsoft.com/en-us/library/cc978019.aspx 

Verzeichnisdienstfunktionen
http://technet.microsoft.com/en-us/subscriptions/ms675900%28v=vs.85%29.aspx 

Wie funktioniert die DNS-Unterstützung für Active Directory?
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx 

So optimieren Sie den Standort eines Domänencontrollers, der sich außerhalb der Site eines Clients befindet
http://support.microsoft.com/kb/306602


6
2018-03-11 21:47