Freigeben über


Unerwartetes DNS-Eintragsregistrierungsverhalten, wenn DHCP-Server "DNS-Einträge immer dynamisch aktualisieren" verwendet

Gilt für: Windows 11, Windows 10, Windows 8.1

Problembeschreibung

Sie verfügen über eine Infrastruktur, die DHCP-Clients (Dynamic Host Configuration Protocol) und Microsoft DHCP-Server zum Zuweisen und Verwalten von IP-Adressen verwendet. Auf dem DHCP-Server wählen Sie dynamische DNS-Updates gemäß den folgenden Einstellungen aktivieren und DNS-Einträge immer dynamisch aktualisieren. In dieser Konfiguration erwarten Sie, dass der DHCP-Server dynamische DNS-Updates für A-Einträge und PTR-Einträge verwaltet. Sie stellen jedoch fest, dass sowohl der Client als auch der Server DNS-Einträge erstellen. Je nach Konfiguration hat dieses Verhalten die folgenden Auswirkungen:

  • Wenn Sie die DNS-Zonen für nicht unsichere und sichere dynamische Updates konfigurieren, sehen Sie, dass der DHCP-Server Datensätze erstellt, und der DHCP-Client löscht und erstellt die gleichen Einträge erneut.
  • Wenn Sie die DNS-Zonen für dynamische Updates für sichere dynamische Updates konfigurieren, werden DNS-Einträge möglicherweise inkonsistent. Sowohl der DHCP-Server als auch der DHCP-Client erstellen Datensätze. Der DHCP-Server kann jedoch keine Datensätze aktualisieren, die der DHCP-Client erstellt, und der DHCP-Client kann keine Datensätze aktualisieren, die der DHCP-Server erstellt.

Ursache

Um eine IP-Adresse abzurufen, sendet der DHCP-Client eine DHCP-Anforderungsnachricht an den DHCP-Server. In der Regel enthält diese Nachricht den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) des Clients und Flags, die das dynamische DNS-Updateverhalten steuern. Diese Informationen werden zusammenfassend als Option 81 (auch als Client-FQDN-Option bezeichnet) bezeichnet.

Notiz

Einige ältere DHCP-Clients verwenden Option 81 nicht. Um dynamische Updates für diese Clients bereitzustellen, konfigurieren Sie den DHCP-Server, um die Dynamische Aktualisierung von DNS-Einträgen für DHCP-Clients zu aktivieren, die keine Updates anfordern (z. B. Clients mit Windows NT 4.0).

Der DHCP-Server speichert auch eine Reihe von Option 81-Flags, die das dynamische DNS-Updateverhalten steuern. Ein Teil des DHCP DORA-Prozesses (Discover/Offer/Request/Acknowledge) umfasst einen Vergleich zwischen dem Client und dem Server ihrer Werte der Option 81-Flags, um zu bestimmen, wer für DNS-Updates verantwortlich ist. Die Flags, die an dem Verhalten beteiligt sind, das im Abschnitt "Symptome " beschrieben wird, sind die O-Bits (Außerkraftsetzung) und S (Server) genannt. Die Kennzeichen funktionieren wie folgt:

  • Wenn S = 0, ist der Client für die Aktualisierung von A-Datensätzen verantwortlich.
  • Wenn S = 1, ist der Server für die Aktualisierung von A-Datensätzen verantwortlich.
  • Wenn der S-Wert, den der Client in seiner Anforderung sendet, vom S-Wert des Servers abweicht, legt der Server seinen O-Wert auf 1 fest.

Wie in RFC beschrieben, sollte die Antwort des DHCP-Servers auf die Anforderungsnachricht die Flagwerte enthalten. Wenn O in der Nachricht des Servers auf 1 festgelegt ist, sollte der Client verstehen, dass der Server den Wert des Clients überschreibt.

In Windows 8.1 wurde eine absichtliche Entwurfsänderung für das dynamische DNS-Updateverhalten des DHCP-Clients eingeführt. Diese Änderung unterstützt die weitere Entwicklung und Verbesserungen des TCP/IP-Stapels (Transmission Control Protocol/Internet Protocol) in späteren Versionen von Microsoft-Betriebssystemen. In Windows 8.1 und höheren Versionen berücksichtigt der DHCP-Client nicht die Werte Option 81 O und S des DHCP-Servers. Wenn der Client für die Aktualisierung von A-Datensätzen konfiguriert ist, wird dies auch dann fortgesetzt, wenn der Server auch zum Aktualisieren von A-Datensätzen konfiguriert ist. Dies ist der Fall, wenn Sie "Immer dynamisch aktualisieren" DNS-Einträge in der DHCP-Verwaltungskonsole auswählen.

Wenn Sie Ihre DNS-Zonen für dynamische Updates nur für sichere dynamische Updates konfigurieren, kann nur die Entität (der DHCP-Client, DHCP-Server oder ein Konto, das die DHCP-Dienste verwenden) konfiguriert werden, die einen DNS-Eintrag erstellt haben, diesen Eintrag aktualisieren oder löschen. Wenn der DHCP-Client und nicht der DHCP-Server einen DNS-Eintrag erstellt, kann der DHCP-Server diesen Eintrag später nicht ändern.

Notiz

Der DHCP-Client von Microsoft stellt keine Methode zum direkten Festlegen der O- und S-Werte des Clients auf der Benutzeroberfläche bereit. Standardmäßig sind beide Werte 0. Sie können die Werte anzeigen, indem Sie eine netsh-Ablaufverfolgung einer DHCP-Clientanforderung aufzeichnen und ein Tool wie Netmon verwenden, um die Ergebnisse anzuzeigen.

Sie können das Windows PowerShell-Cmdlet Get-DhcpServerv4OptionValue verwenden, um den Option 81-Wert des DHCP-Servers anzuzeigen. Das Cmdlet meldet diesen Wert jedoch als eine einzelne ganze Zahl, die mehrere verschiedene Einstellungen als Bitwerte kombiniert. Wenn Sie z. B. "Immer dynamisch aktualisieren" DNS-Einträge auf der Registerkarte "DNS" eines Dhcp-Bereichseigenschaftenfensters auswählen, wird der S-Wert auf 1 festgelegt. Das Cmdlet meldet jedoch einen von acht möglichen Werten für Option 81. Alle diese verwenden S=1. Der spezifische Wert hängt von der Kombination von Einstellungen ab, die auf der DNS-Registerkarte vorgenommen werden.

Weitere Informationen dazu, wie dynamische Updates zwischen dem DHCP-Client, dem DHCP-Server und dem DNS-Server funktionieren, finden Sie unter DNS-Prozesse und -Interaktionen.

Lösung

Wenn Ihre Architektur erfordert, dass Sie Immer dns-Einträge dynamisch aktualisieren, können Sie einen Registrierungsschlüssel auf dem Clientcomputer erstellen, um zu erzwingen, dass der DHCP-Client die Außerkraftsetzung des DHCP-Servers berücksichtigt.

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Erstellen Sie eine Sicherungskopie der Registrierung, bevor Sie Änderungen vornehmen, damit Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter: Sichern und Wiederherstellen der Registrierung Windows.

  1. Navigieren Sie zum folgenden Unterschlüssel: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

  2. Erstellen Sie unter dem Unterschlüssel den folgenden Eintrag:

    • Name: RegistrationOverwrite
    • Typ: REG_DWORD
    • Wert: 2

    Notiz

    RegistrationOverwrite hat die folgenden möglichen Werte:

    • 0 - Keine Überschreibung.
    • 1 – Zeichnet auf, dass der DNS-Client Überschreiben von Datensätzen erstellt, die der DHCP-Server erstellt. Dies ist der Standardwert.
    • 2 : Zeichnet auf, dass der DHCP-Server Überschreiben von Datensätzen erstellt, die der DNS-Client erstellt).
  3. Starten Sie den Clientcomputer neu.

  4. Überprüfen Sie im DNS-Server Verwaltungskonsole die Forward- und Reverse-Lookupzonen. Je nach Ihrer spezifischen Umgebung müssen Sie möglicherweise A- und PTR-Einträge manuell löschen, die der DHCP-Server nicht zum Löschen oder Ändern berechtigt ist.