DNS-Weiterleitung in Windows Server

DNS-Weiterleitung ist ein Namensauflösungsprozess, bei dem ein DNS-Server eine rekursive Abfrage an einen anderen DNS-Server sendet, der als Weiterleitungsserver fungiert. DNS Server können Server-Level-Forwarder für allgemeine Namensauflösung und bedingte Forwarder für ausgewählte DNS-Namensräume verwenden. Zu verstehen, wie Weiterleitung mit Delegationen, Root-Hinweisen und Timeouts interagiert, hilft Ihnen vorherzusagen, welcher Server eine Anfrage erhält und wann die Auflösung auf einem anderen Pfad fortgesetzt werden kann.

Dieser Artikel erklärt, wie DNS Server bei der Verarbeitung rekursiver Client-Abfragen zwischen lokal verfügbaren Daten, bedingten Weiterleitungssystemen, Delegationen, Server-Level-Weiterleitungen und Root-Hinweisen wählt. Außerdem wird erläutert, wie Timeout- und Fallback-Einstellungen beeinflussen, ob der Auflösungsvorgang fortgesetzt wird oder mit einem Fehler endet.

Wie der DNS-Server einen Auflösungspfad auswählt

Wenn der DNS-Server eine rekursive Abfrage von einem Client erhält, wertet dieser lokal verfügbare Daten aus und wählt dann einen passenden Auflösungspfad aus. Der Pfad hängt von den Zonen ab, die der DNS Server hostet, sowie von dessen bedingtem Weiterleitungs-, Delegations-, Server-Level-Weiterleitungs- und Root-Hinweis-Konfigurationssystem.

Die Unterscheidung zwischen einer terminalen Antwort und keiner Antwort ist zentral für diesen Auswahlprozess. Eine DNS-Antwort wie NXDOMAIN oder NODATA ist eine gültige, terminale Antwort und löst normalerweise keinen Fallback aus. Fallback gilt in der Regel, wenn ein konfigurierter Server nicht antwortet oder wenn der DNS-Server ein Ergebnis als wiederholbar klassifiziert.

Diese Auflösungsreihenfolge gilt, wenn du ForwardDelegations deaktivierst. DNS-Richtlinien und andere DNS-Funktionen können den Pfad für eine bestimmte Abfrage beeinflussen.

  1. Überprüfen Sie lokal verfügbare DNS-Daten. Der Server bewertet die autoritativen Zonen, die er hostet, sowie seinen Cache. Wenn eine gehostete autoritative Zone die Abfrage abdeckt, bestimmt diese Zone das Ergebnis. Wenn autoritative Daten oder der Cache ein Terminalergebnis liefern, gibt der Server es zurück.

  2. Verwenden Sie eine entsprechende bedingte Weiterleitung. Wenn der Abfragename mit einer bedingten Weiterleitungszone übereinstimmt, sendet der Server die Abfrage an die konfigurierten Ziel-DNS-Server dieser Zone. Wenn diese Server nicht antworten oder ein Ergebnis zurückgeben, das der DNS-Server als für einen erneuten Versuch geeignet einstuft, bestimmt die Einstellung Use recursion des bedingten Weiterleiters, ob der Server andere Pfade der rekursiven Namensauflösung versuchen kann.

  3. Verwenden Sie eine geeignete Delegation. Wenn eine passende Delegation die nächsten autoritativen Server identifiziert, sendet der Server iterative Abfragen an die Nameserver in der Delegation. Mit deaktivierter Funktion ForwardDelegations steuern Server-Forwarder eine Abfrage nicht, während eine anwendbare Delegation deren Auflösung steuert.

  4. Nutze Server-Level-Forwarder. Wenn keine bedingte Weiterleitung oder anwendbare Delegierung die Abfrage steuert, verwendet der Server seine auf Serverebene konfigurierten Weiterleitungen in der aktiven Reihenfolge und unter Berücksichtigung der konfigurierten Timeouts.

  5. Verwende Root-Hinweise, wenn die Konfiguration es erlaubt. Wenn der Server seine serverseitigen Forwarder ausgeschöpft hat, kann er auf Stammhinweise zurückgreifen, wenn die Serverkonfiguration Rekursion und den Rückgriff auf Stammhinweise aktiviert und das gesamte Rekursionszeitlimit noch nicht abgelaufen ist. Wenn auf dem Server keine Forwarder auf Serverebene konfiguriert sind, können Root-Hinweise als Ausgangspunkt für die iterative Auflösung dienen.

  6. Geben Sie das Ergebnis oder einen Fehler zurück. Der Server gibt das Ergebnis vom gewählten Pfad zurück. Wenn die Serverkonfiguration die Rekursion deaktiviert, gibt der Server normalerweise für eine Abfrage, die Rekursion erfordert, REFUSED zurück. Wenn die rekursive Verarbeitung nicht abgeschlossen werden kann, gibt der Server SERVFAIL zurück.

Note

Ein nicht reagierender Weiterleitungssender garantiert nicht, dass der Server den Root-Hinweis-Fallback erreicht. Der Server muss alle zutreffenden Weiterleitungen aufgebraucht haben, bevor RecursionTimeout abläuft. Wenn die gesamte Rekursionszeitgrenze zuerst abläuft, schlägt die Abfrage fehl, ohne die Root-Hinweise zu erreichen.

Ablauf der DNS-Server-Weiterleitung und Ausweichverhalten bei der Namensauflösung

Das folgende Flussdiagramm zeigt den gemeinsamen Entscheidungspfad aus lokal verfügbaren Daten über zunehmend breitere Auflösungsmethoden. Eine terminale Antwort beendet die Verarbeitung in jeder Phase. Ein nicht reagierender Server oder ein Ergebnis, das einen erneuten Versuch zulässt, können nur dann zu einem anderen Pfad führen, wenn die Konfiguration Fallbacks zulässt und in RecursionTimeout noch Zeit verbleibt. Die Textbeschreibung identifiziert jeden Zweig und jedes Ergebnis.

Flussdiagramm der DNS-Server-Abfrageauflösung durch lokale Daten, bedingte Weiterleitungen, Delegationen, Server-Level-Weiterleitungen und Root-Hinweise.

Weiterleitungen auf Serverebene im DNS-Server

Server-Level-Forwarder bearbeiten ungelöste Abfragen, wenn weder eine gehostete autoritative Zone, eine entsprechende bedingte Weiterleitungszone noch eine anwendbare Delegation die Abfrage kontrollieren. Der DNS-Server sendet eine rekursive Abfrage an einen Forwarder, der dann für die vollständige Namensauflösung verantwortlich ist.

Die Zentralisierung externer Abfragen durch Weiterleitungen kann die direkte Internetexposition verringern, zwischengespeicherte Antworten konsolidieren, Überwachung und Zugriffskontrolle vereinfachen und wiederholte externe Anfragen reduzieren. Wenn du keine Server-Level-Forwarder konfigurierst, verwendet der DNS Server Root-Hinweise für ungelöste Namen, wenn du Rekursion aktivierst, und nutzbare Root-Hinweisdaten sind verfügbar.

Erlauben Sie rekursive Abfragen nur von vertrauenswürdigen Clients und Netzwerken und stellen Sie rekursive DNS-Dienste nicht vertrauenswürdigen Netzwerken zur Verfügung. Verwenden Sie vertrauenswürdige Weiterleitungen und Firewall-Regeln, um DNS-Verkehrsgrenzen durchzusetzen.

Auswahl und Reihenfolge von Forwardern auf Serverebene

Du konfigurierst die IP-Adressen der Weiterleitung in einer bevorzugten Reihenfolge. Standardmäßig hält Dynamic Forwarder Reordering eine aktive Bestellung basierend auf Reaktionszeiten und setzt die Liste etwa alle 15 Minuten auf die konfigurierte Reihenfolge zurück.

  • Für jede Abfrage wählt der DNS-Server Weiterleiter aus der aktiven Liste aus.
  • Wenn ein Weiterleiter mehr als eine Sekunde benötigt, um zu antworten, betrachtet der Server die Antwort als langsam für Umordnungszwecke.
  • Nach drei aufeinanderfolgenden langsamen Antworten oder Timeouts kann der Server diesen Weiterleiter ans Ende der aktiven Liste verschieben.
  • Der DNS Server bestimmt nicht, ob ein nicht reagierender Weiterleitungssender offline oder langsam ist. Überwachen Sie die Gesundheit des Weitersenders separat.

Note

Ab Windows Server 2022 und später, wenn kein weiterleitender antwortet, verwendet DNS Server nur den ersten Server in der dynamischen Liste für nachfolgende Abfragen, bis der DNS-Server-Dienst neu gestartet wird. Damit der Server wie in früheren Versionen der Reihe nach alle konfigurierten Forwarder verwendet, deaktivieren Sie die dynamische Neusortierung mit Set-DnsServerForwarder -EnableReordering $false.

Fallback von Server-Level-Weiterleitungen auf Stammhinweise

Nachdem der DNS-Server die relevanten Server-Forwarder ausgeschöpft hat, versucht er standardmäßig Standardrekursion, wenn die Forwarder nicht antworten oder nur Ergebnisse zurückgeben, die der DNS-Server als wiederholbar klassifiziert. Standardrekursion verwendet iterative Abfragen, die mit den Servern in den Root-Hinweisen beginnen. Dieser Rückgriff erfordert alle folgenden Bedingungen:

  • Der Server schöpft die zutreffenden Forwarder aus, bevor RecursionTimeout abläuft.
  • Der Server erlaubt Rekursion.
  • Die Einstellung UseRootHint ist $true, die du mit Set-DnsServerForwarder -UseRootHint $truekonfigurierst.
  • Der Server hat nutzbare Root-Hinweis-Daten und Netzwerkzugang zu den erforderlichen DNS-Servern.

Setzen Sie UseRootHint auf $false, wenn der Server ungelöste Abfragen auf die in seiner Konfiguration festgelegten Weiterleitungsserver beschränken muss. Mit dieser Konfiguration versucht der Server keine iterative Auflösung, wenn die Weiterleitungen ausfallen.

Bedingte Weiterleitungen im DNS-Server

Ein bedingter Weitersender leitet Abfragen für einen bestimmten DNS-Namensraum an bestimmte DNS-Server weiter. Zum Beispiel kann ein bedingter Weiterleiter alle Abfragen für south.contoso.com an die DNS-Server weiterleiten, die für diesen Namespace zuständig sind, während der Server andere Namen über serverweite Weiterleitungen oder Root-Hinweise verarbeitet.

Der DNS-Server speichert bedingte Weiterleitungen als Weiterleitungszonen. Wenn eine Abfrage mit einem bedingten Weiterleitungsübermittler übereinstimmt, sendet der DNS-Server sie an die Ziel-DNS-Serverliste dieser Zone, anstatt sofort den allgemeinen Server-Forwarding-Pfad zu verwenden.

Gehostete Zonenbeschränkungen für bedingte Weiterleitungsprogramme

Man kann keinen bedingten Weiterleitungs-Operator für einen DNS-Namen erstellen, der mit einer primären, sekundären oder Stub-Zone übereinstimmt, die derselbe DNS-Server hostet. Da der DNS-Server eine bedingte Weiterleitung als Weiterleitungszone speichert, kann der Server keinen anderen Zonentyp und keine bedingte Weiterleitung mit demselben Namen beherbergen.

Zum Beispiel können Sie, wenn der Server contoso.com als autoritative Zone hostet, auf diesem Server keine bedingte Weiterleitung mit dem Namen contoso.com erstellen. DNS Manager oder Add-DnsServerConditionalForwarderZone meldet, dass die Zone bereits existiert, und der Server beantwortet weiterhin Anfragen für contoso.com aus der von ihm gehosteten Zone.

Wenn ein anderer DNS-Server den gesamten Namensraum auflösen sollte, migriere die Zonendaten und entferne die gehostete Zone, bevor du den bedingten Weiterleitungsgenerator erstellst. Wenn andere DNS-Server nur einen Kind-Namensraum hosten, behalte die Elternzone und erstelle eine Delegation für diesen Namensraum.

Bedingte Weiterleitungs-Fallback und Rekursion

Die Use-Rekursionseinstellung des bedingten Weiterleitungsanbieters steuert, was der DNS-Server tun kann, wenn die Ziel-DNS-Server der Zone nicht reagieren oder ein Ergebnis zurückgeben, das der DNS-Server als wiederholbar behandelt.

Rekursion verwenden Verhalten bei Ausbleiben einer endgültigen Antwort Result
Aktiviert Der DNS-Server kann nur dann einen anderen Pfad für die rekursive Auflösung versuchen, wenn die serverweite Konfiguration Rekursion aktiviert, ein anwendbarer Pfad vorhanden ist und in RecursionTimeout noch Zeit verbleibt. Die Auflösung kann über einen anwendbaren rekursiven Pfad fortgesetzt werden.
Disabled Der DNS-Server versucht keine anderen DNS-Server. Die Abfrage schlägt fehl, wenn die konfigurierten Ziel-DNS-Server kein Terminalergebnis liefern können.

ForwarderTimeout steuert das Zeitfenster für die bedingte Weiterleitung und die Zeitplanung der Versuche mit Ziel-DNS-Servern. Der DNS-Server startet nach Ablauf von ForwarderTimeout keinen weiteren Versuch für das Ziel eines bedingten Weiterleiters. RecursionTimeout bietet eine separate serverweite Begrenzung für rekursive Verarbeitung.

DNS-Server-Delegation und Weiterleitung

Wenn ein DNS-Server eine übergeordnete Zone hostet und der abgerufene Name unter eine entsprechende Delegation fällt, nutzt der Server die Delegation, um die autoritativen DNS-Server der Unterzone zu lokalisieren. Die Delegation erzeugt einen Zonenschnitt: Der Elternserver ist autoritativ für die Delegierungsdatensätze, aber nicht autoritativ für Daten innerhalb der delegierten Kindzone.

Wenn keine Delegation vorliegt und der abgefragte Name innerhalb einer Zone liegt, die der Server hostet, bleibt der Server für die Abfrage autoritativ. Wenn der angeforderte Name oder Datensatztyp nicht existiert, gibt der Server eine autoritative negative Antwort wie NXDOMAIN oder NODATAzurück. Die Abfrage wird nicht an einen bedingten Weiterleiter, einen Weiterleiter auf Serverebene oder an Stammhinweise gesendet.

Zum Beispiel, wenn ein Server hostet contoso.com und andere Server hosten south.contoso.com, erstellen Sie eine Delegation für south in der Zone contoso.com . Die übergeordnete Zone liefert einen Verweis auf die autoritativen Server der untergeordneten Zone. Eine Delegation sendet keine rekursive weitergeleitete Abfrage.

Dieses Delegationsverhalten gilt, wenn ForwardDelegations deaktiviert ist. Wenn Ihre Umgebung diese Einstellung aktiviert, überprüfen Sie die sich ergebende Interaktion zwischen Delegationen und Weiterleitungsservern, bevor Sie sich auf diese Auflösungsreihenfolge verlassen.

Important

Wenn der DNS-Server auch eine autoritative Kopie der untergeordneten Zone beherbergt und Sie beabsichtigen, den untergeordneten Namespace auf andere Server zu verschieben, migrieren Sie die lokale Kopie der untergeordneten Zone und entfernen Sie sie anschließend. Andernfalls bleibt der Server für diese Kopie autoritativ.

Stammhinweise des DNS-Servers und iterative Auflösung

Root-Hinweise sind Ressourcendatensätze, die DNS-Server identifizieren, die für die Wurzel eines DNS-Namensraums autoritativ sind. DNS Server nutzt sie als Ausgangspunkt für iterative Auflösungen. Ein Root-Server gibt typischerweise eine Antwort zurück, eine Verweisung zu Servern, die näher am gewünschten Namen sind, oder einen DNS-Fehler oder eine negative Antwort.

Wenn keine serverweiten Weiterleitungen konfiguriert sind und weder eine Delegierung noch eine spezifischere Weiterleitungskonfiguration als Ausgangspunkt dient, kann der Server für eine nicht aufgelöste Abfrage Stammhinweise verwenden. Wenn Forwarder auf Serverebene konfiguriert werden, verwendet der Server Root Hints nur dann als Fallback, nachdem er alle Forwarder erfolglos abgefragt hat und wenn Rekursion, die verbleibende Timeout-Zeit und UseRootHint einen Rückgriff zulassen.

Wenn ein DNS-Server autoritativ für die Wurzel eines privaten Namensraums ist, ist er ein Root-Server für diesen Namensraum. Gehen Sie nicht davon aus, dass gewöhnliche Server-Forwarding oder öffentliche Root-Hinweise für einen privaten Root angemessen sind. Verwenden Sie Delegationen oder entwerfen Sie bewusst eine bedingte Weiterleitungskonfiguration zwischen Namensräumen.

DNS-Server-Timeouts und Ausfallverhalten

Timeout-Einstellungen bestimmen, ob ein DNS-Server spätere Weiterleitungen oder Stammhinweis-Fallback erreicht. RecursionTimeout ist das Gesamtzeitbudget für rekursive Verarbeitung. ForwardingTimeout und ForwarderTimeout planen jeweils einzelne Versuche für Weiterleitungen auf Serverebene bzw. bedingte Weiterleitungen innerhalb dieses Budgets; keines von beiden startet RecursionTimeout neu oder verlängert es.

Setting Geltungsbereich Purpose PowerShell-Parameter
RecursionTimeout DNS-Server Begrenzt die insgesamt rekursive Client-Abfrage. Wenn der Timeout abläuft, stoppt die rekursive Verarbeitung und der Server kehrt zurück.SERVFAIL Set-DnsServerRecursion -Timeout
ForwardingTimeout Serverebene-Weiterleitungsprogramme Gibt an, wie lange der DNS-Server auf jeden Server-Level-Forwarder wartet, bevor er den nächsten Forwarder ausprobiert. Set-DnsServerForwarder -Timeout
ForwarderTimeout Bedingte Weiterleitungszone Steuert das Zeitfenster für die bedingte Weiterleitung und die Zeitplanung jedes Verbindungsversuchs zu den Ziel-DNS-Servern. Der DNS-Server startet keinen weiteren Versuch eines bedingten Weiterleitungsziels, nachdem dieser Timeout abgelaufen ist. Add-DnsServerConditionalForwarderZone -ForwarderTimeout

Wenn ein Weiterleitungssender eine Terminalantwort zurückgibt, gibt der Server diese Antwort zurück, ohne einen anderen Auflösungspfad zu versuchen. Wenn ein Weiterleitungsbediener nicht antwortet oder ein Ergebnis zurückgibt, das der DNS Server als wiederholbar klassifiziert, kann der DNS Server den nächsten konfigurierten Server oder einen verfügbaren Rückfallpfad ausprobieren, solange noch Zeit verbleibt.

Da RecursionTimeout die gesamte Operation begrenzt, garantiert die Konfiguration vieler Weiterleitungsserver nicht, dass der Server jeden Weiterleitungsserver abfragt oder Root-Hints verwendet. Wenn das Gesamt-Timeout zuerst abläuft, gibt der Server SERVFAIL zurück. Wenn Sie drei oder mehr Weiterleitungen konfigurieren, überprüfen Sie die Timeout-Werte und überprüfen Sie das effektive Verhalten durch Überwachung und Paketerfassungen in Ihrer Umgebung.

Wählen Sie ein DNS-Server-Weiterleitungsdesign

Wählen Sie einen Auflösungspfad basierend darauf, wem der Namespace gehört und welche DNS-Server Anfragen erhalten sollten. Die folgenden Szenarien zeigen, wie sich die einzelnen Designs auf das Weiterleiten und den Fallback auswirken.

Szenario Auflösungsentwurf Rückfallentscheidung
Zentralisieren der allgemeinen DNS-Auflösung Verwenden Sie Server-Level Forwarder, damit designierte DNS-Server Namen verwalten, die lokale Zonen, der Cache, bedingte Weiterleitungen oder Delegationen nicht lösen. Behalten Sie den Root-Hinweis-Fallback, wenn eine direkte iterative Auflösung akzeptabel ist. Deaktiviere es, wenn die Richtlinie verlangt, dass alle ungelösten Abfragen innerhalb der Weiterleitungsgrenze bleiben, und setze die Grenze mit Netzwerksteuerungen durch.
Getrennt verwaltete interne Namensräume verbinden Verwenden Sie einen bedingten Weiterleiter, um Namen in einem Namensraum, wie south.contoso.com, direkt an dessen DNS-Server zu senden, ohne eine sekundäre Zone zu hosten. Rekursion verwenden nur aktivieren, wenn ein anderer rekursiver Pfad für diesen Namensraum gültig ist.
Einen Partner-Namespace über bestimmte Server auflösen Verwenden Sie einen bedingten Weiterleitungsübermittler für den Partnernamensraum, anstatt diese Anfragen über die öffentliche DNS-Hierarchie zu schicken. Deaktivieren Sie die Option Rekursion verwenden, wenn nur die vom Partner vorgesehenen DNS-Server den Namensraum auflösen sollen.
Trennen Sie einen Kind-Namensraum von einer gehosteten Elternzone Verwenden Sie eine Delegation in der Elternzone, um die autoritativen DNS-Server der Kindzone zu identifizieren. Eine Delegation gibt Verweise zurück, anstatt rekursive Abfragen weiterzuleiten. Wenn du deaktivierst ForwardDelegations, steuert die Delegation die Auflösung, sodass Server-Forwarder keinen Fallback für die delegierte Abfrage bereitstellen.

Verwenden Sie mehrere funktionsfähige Weiterleitungsserver, wenn die Architektur Redundanz erfordert, und stellen Sie sicher, dass die Zeitüberschreitungen für Weiterleitung und Rekursion genügend Zeit lassen, um diese zu erreichen. Überwachen Sie Reaktionszeit, Ausfallrate und Netzwerkerreichbarkeit getrennt, denn das Weiterleitungsverhalten ersetzt Gesundheitsüberwachung nicht. Rekursive Server, die Internetnamen auflösen, verwenden typischerweise öffentliche Root-Hinweise, während private DNS-Hierarchien Root-Informationen benötigen, die mit dem privaten Namensraum übereinstimmen.