So konfigurieren Sie bedingte DNS-Weiterleitung und DNS-Richtlinien auf einem Windows Server

Experimente mit DNS in Windows Server – ein Blick aus der Praxis

Die DNS-Konfiguration unter Windows Server kann sich als recht komplex erweisen. Ob Sie DNS-Antworten anhand des Clientstandorts aufteilen, bestimmte Anfragen blockieren oder die interne Namensauflösung optimieren möchten – es ist nicht immer einfach. Die meisten meiner Konfigurationen erfordern letztendlich eine Kombination aus bedingten Weiterleitungen und DNS-Richtlinien. Diese Tools helfen dabei, Anfragen intelligenter zu routen und sicherzustellen, dass interne Anwendungen im internen Netzwerk bleiben und externe Anfragen extern bleiben, ohne den gesamten Internetverkehr zu durchlaufen. Wenn Sie sich jemals gefragt haben, wie Sie dies korrekt einrichten – insbesondere in einer dynamischen Umgebung –, sind Sie hier genau richtig. Am Ende dieses Artikels wissen Sie, wie Sie wirklich nützliche Regeln erstellen und nicht nur mit Standardeinstellungen experimentieren.

So beheben Sie Probleme mit der bedingten DNS-Weiterleitung in Windows Server

Bedingten Weiterleiter manuell konfigurieren

Wenn DNS-Anfragen für eine bestimmte Domäne – beispielsweise corp.woshub.com– an einen speziellen Ort weitergeleitet werden müssen, ist die Einrichtung eines bedingten Weiterleitungsdienstes die beste Lösung. Dies ist besonders nützlich, wenn Sie die interne Domänenauflösung präzise steuern möchten – die Anfragen müssen nicht über das Internet gesendet werden. Außerdem beschleunigt es in der Regel die Verarbeitung und verhindert DNS-Leaks. Die Vorgehensweise unter Windows Server 2019 ist im Folgenden beschrieben (unter 2016/2022 ist sie jedoch nahezu identisch).

  • Öffnen Sie zunächst die DNS-Managerdnsmgmt.msc -Konsole, indem Sie im Ausführen-Feld ( Win + R) oder im Server-Manager eingeben.
  • Klicken Sie mit der rechten Maustaste auf „Bedingte Weiterleitungen“ und wählen Sie „Neue bedingte Weiterleitung“.
  • Geben Sie im Feld „DNS-Domäne“corp.woshub.com Folgendes ein : [Hier sollte die Domain stehen].Dadurch wird dem DNS-Server mitgeteilt, welche Domäne weitergeleitet werden soll.
  • Fügen Sie im Feld „IP-Adressen der Master-Server“10.1.10.11 Folgendes hinzu : [Hierhin werden die DNS-Anfragen gesendet].
  • Aktivieren Sie das Kontrollkästchen „ Diesen bedingten Weiterleitungsdienst in Active Directory speichern“, wenn er in der gesamten Domäne verfügbar sein soll (beachten Sie jedoch, dass die Replikation in manchen Konfigurationen möglicherweise nicht sofort erfolgt oder eine Aktualisierung der Gruppenrichtlinien erforderlich ist).
  • Legen Sie den Replikationsbereich fest – wählen Sie je nach Bedarf „ Alle DNS-Server in dieser Gesamtstruktur“ oder „Domäne“.

Sobald das erledigt ist, leitet Ihr DNS-Server alle corp.woshub.comAnfragen direkt an diese IP-Adresse weiter, anstatt rekursive Suchen durchzuführen. Ein alter Trick, aber überraschend effektiv – allerdings müssen Ihre DNS-Server natürlich zufrieden sein, sonst funktioniert das nicht.

So geht’s mit PowerShell

Für alle, die Skripte bevorzugen oder einfach keine Lust auf die Navigation durch grafische Benutzeroberflächen haben, ist PowerShell die Lösung. Der folgende Befehl erstellt einen bedingten Weiterleiter, der dmz.woshub.comauf bestimmte DNS-Server verweist. Sie führen diesen Befehl auf dem DNS-Server aus, auf dem Sie ihn einrichten möchten:

Add-DnsServerConditionalForwarderZone -Name dmz.woshub.com -MasterServers 192.168.1.11, 192.168.101.11 -ReplicationScope Forest

Das ist ziemlich praktisch, da man bei einer DNS-Infrastruktur mit mehreren Servern mehrere IPs angeben kann und der Bereich auf Gesamtstruktur oder Domäne festgelegt werden kann. Bei manchen Konfigurationen kann die Ausführung dieses Befehls zunächst fehlschlagen. In diesem Fall sollten Sie PowerShell als Administrator ausführen oder den DNS-Server neu starten.

Um alle konfigurierten DNS-Weiterleitungen, einschließlich der bedingten, aufzulisten, können Sie folgenden Befehl ausführen:

$DNSServer = "DC01" Get-WMIObject -ComputerName $DNSServer -Namespace "root\MicrosoftDNS" -Class "MicrosoftDNS_Zone" | Select-Object Name, MasterServers, DsIntegrated, ZoneType | where {$_. ZoneType -eq 4} | Format-Table -AutoSize

Intelligentes Routing mithilfe von DNS-Richtlinien

Hier wird es interessanter: DNS-Richtlinien in Windows Server 2016 und höher ermöglichen es Ihnen, je nach Herkunft und Standort der Anfrage unterschiedlich zu reagieren. Stellen Sie sich das wie die Anpassung von DNS-Antworten mithilfe von Regeln vor, basierend auf der Client-IP-Adresse, der Tageszeit oder sogar dem Anfragetyp. Die korrekte Einrichtung ist allerdings nicht ganz einfach, insbesondere da alle Konfigurationen über PowerShell erfolgen. Einmal eingerichtet, sind sie jedoch äußerst leistungsstark für Szenarien wie lokale Proxys, Lastverteilung oder DNS-Filterung.

Angenommen, Sie möchten, dass Clients in jeder Filiale unterschiedliche IP-Adressen auflösen proxy.woshub.comund auf ihre jeweilige lokale Proxy-IP-Adresse verweisen. Zuerst müssen Sie jedes Subnetz als „ Client-Subnetz “ registrieren und anschließend für jeden Standort Zonenbereiche erstellen. Hier eine kurze Übersicht:

  • Führen Sie Befehle wie diese aus, um Subnetze zu registrieren – tun Sie dies auf Ihren DNS-Servern:
Add-DnsServerClientSubnet -Name "BER_DNS_Subnet" -IPv4Subnet "192.168.1.0/24" Add-DnsServerClientSubnet -Name "HH_DNS_Subnet" -IPv4Subnet "192.168.11.0/24" Add-DnsServerClientSubnet -Name "MCH_DNS_Subnet" -IPv4Subnet "192.168.21.0/24"
  • Erstellen Sie für jeden Zweig unterschiedliche Zonenbereiche:
  • Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "BERZoneScope" Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "HHZoneScope" Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "MCHZoneScope"
  • Fügen Sie Ressourceneinträge (A-Einträge) hinzu, die auf lokale Proxy-Server verweisen, mit Bereichskennzeichnungen zur Unterteilung:
  • Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.1.10" -ZoneScope "BERZoneScope" Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.11.10" -ZoneScope "HHZoneScope" Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.21.10" -ZoneScope "MCHZoneScope"

    Um DNS-Antworten basierend auf dem Client-Subnetz zu erzwingen, erstellen Sie Richtlinien wie diese:

    Add-DnsServerQueryResolutionPolicy -Name "BERResolutionPolicy" -Action ALLOW -ClientSubnet "eq, BER_DNS_Subnet" -ZoneScope "BERZoneScope, 1" -ZoneName woshub.com Add-DnsServerQueryResolutionPolicy -Name "HHResolutionPolicy" -Action ALLOW -ClientSubnet "eq, HH_DNS_Subnet" -ZoneScope "HHZoneScope, 1" -ZoneName woshub.com Add-DnsServerQueryResolutionPolicy -Name "MCHResolutionPolicy" -Action ALLOW -ClientSubnet "eq, MCH_DNS_Subnet" -ZoneScope "MCHZoneScope, 1" -ZoneName woshub.com

    Diese Richtlinien weisen Ihren DNS-Server an, Anfragen mit lokalen IP-Adressen zu beantworten, je nachdem, woher sie stammen. Sobald es funktioniert, ist das fast schon magisch. Beachten Sie, dass all diese Befehle auf jedem DNS-Server ausgeführt werden müssen, auf den Sie die Richtlinien anwenden möchten; eine nahtlose Replikation ist nicht möglich. Da Windows diese Richtlinien nicht über Active Directory verteilt, ist in der Regel eine manuelle Einrichtung oder die Ausführung von Skripten auf jedem einzelnen Rechner erforderlich.

    Zusammenfassung

    Ehrlich gesagt ist die Arbeit mit DNS auf diese Weise nicht ganz einfach, aber sobald man den Dreh raus hat, kann sich Ihr Netzwerk deutlich intelligenter verhalten. Bedingte Weiterleitungen sind simpel, aber unerlässlich; DNS-Richtlinien sind flexibler, aber auch komplexer. Wenn Sie sicherstellen möchten, dass der interne Datenverkehr intern bleibt oder Zweigstellen Anfragen lokal auflösen, bilden diese Methoden das Rückgrat. Denken Sie daran: Geduld ist der Schlüssel, und manchmal hilft ein Neustart des Computers oder des DNS-Dienstes, um die Synchronisierung wiederherzustellen.

    Zusammenfassung

    • Verwenden Sie bedingte Weiterleitungen für die schnelle Weiterleitung von Domains an bestimmte DNS-Server.
    • Richten Sie PowerShell-Befehle ein, um Weiterleitungsregeln zu automatisieren oder zu ändern.
    • Implementieren Sie DNS-Richtlinien für standortbezogene DNS-Antworten, Lastverteilung oder Filterung.
    • Seien Sie auf einige Versuche und Irrtümer gefasst – die DNS-Einrichtung auf Windows Server kann etwas knifflig sein.

    Zusammenfassung

    Das mag im ersten Moment übertrieben wirken, aber es kann Ihre interne DNS-Konfiguration deutlich vereinfachen. Egal, ob Sie nur eine Domain weiterleiten oder komplexe Regeln basierend auf dem Client-Standort erstellen – diese Schritte geben Ihnen die volle Kontrolle. Hoffentlich hilft das, ein oder zwei Setups zum Laufen zu bringen, anstatt endlos herumzubasteln. Ich drücke die Daumen, dass es jemandem ein paar Stunden spart – bei mir hat es funktioniert, vielleicht klappt es ja auch bei Ihnen.