Tags: DNS, Active Directory, PowerShell
Viele Unternehmen stellen Websites und andere Ressourcen für externe und interne Clients bereit. In der Vergangenheit haben sie dafür oft getrennte DNS-Server aufgesetzt. Microsofts Split-Brain-DNS-Deployment von Active Directory-integrierten Zonen vermeidet solche Redundanzen. Die Einrichtung der DNS-Richtlinien erfolgt mittels PowerShell.
Microsoft definiert DNS-Bereitstellungen als Split-Brain, wenn zwei verschiedene Versionen einer einzigen Zone auf einem DNS-Server vorhanden sind. Er wertet dann die DNS-Anfragen auf der Grundlage der konfigurierten Richtlinien aus.
Kommt ein Request über eine bestimmte Schnittstelle, dann greift eine Richtlinie, um die Anfrage mit der gewünschten Zone zu verbinden.
Wenn ein DNS-Server über zwei Schnittstellen mit je einer öffentlichen und einer privaten IP-Adresse verfügt, könnten Richtlinien wie folgt definiert werden:
- Private Adresse => Intranet DNS-Richtlinie => liefert die Intranet-Version der Website
- Öffentliche Adresse => Internet-DNS-Richtlinie => stellt die Internet-Variante der Website bereit
Erstellen eines neuen Zonenbereichs
Split-Brain DNS verwendet so genannte Zonenbereiche ("Zone Scopes"). Ein solcher enthält ein eigenes Set von DNS-Records, die er den DNS-Clients abhängig von deren IP-Subnetz präsentiert.
Wie die DNS-Zone selbst ist auch der Bereich in das Active Directory integriert und wird somit auf andere Domänen-Controller repliziert. Um einen neuen DNS-Zonenbereich zu erstellen, verwenden Sie den folgenden Befehl:
Add-DnsServerZoneScope -ZoneName "<Zonenname>" -Name "<Bereichsname>"
Da der Default-Zonenbereich den Clients ohnehin schon zur Verfügung steht, verwenden wir ihn für interne DNS-Abfragen. Wir müssen daher nur einen weiteren für externe Benutzer einrichten.
Hinzufügen von DNS-Einträgen zu Zonenbereichen
Im nächsten Schritt weisen wir sowohl dem externen als auch dem internen Zonenbereich Einträge zu. Dies können Sie mit dem folgenden Befehl tun:
Add-DnsServerResourceRecord -ZoneName "<Zonenname>" `
-A -Name "<record>" -IPv4Address "<IP-Adresse>" `
-ZoneScope "<Zonenbereich>"
In der obigen Abbildung fügen wir den denselben DNS-Eintrag zweimal hinzu, einmal mit dem Parameter ZoneScope, der angibt, zu welchem Zonenbereich der Datensatz gehört. Den zweiten Record erhält der Standard-Zonenbereich, da dieser Befehl keinen ZoneScope-Parameter verwendet.
Binden einer Richtlinie an den Zonenbereich
Mit dem Parameter ServerInterface verknüpfen wir die IP-Adresse der Schnittstelle, die der mit dem Zonenbereich verbunden ist, mit der DNS-Zone, die sie bedienen soll:
Add-DnsServerQueryResolutionPolicy -Name "SplitBrainZonePolicy" `
-Action ALLOW -ServerInterface "eq,10.1.149.90" `
-ZoneScope "External,1" -ZoneName testzone.com
Alle DNS-Abfragen, die über die in der Richtlinie definierte Schnittstelle laufen, werden an den entsprechenden DNS-Zonenbereich weitergeleitet und erhalten von dort die zugehörigen Datensätze. Requests, die über ein anderes Interface erfolgen, erhalten die im dortigen Zonenbereich gespeicherten Records.
Das führende "eq" im ServerInterface-Parameterwert steht für den Gleichheitsoperator. Alternativ können Sie auch "ne" für "nicht gleich" verwenden. Man kann auch beide Operatoren kombinieren, um die Schnittstellen einzugrenzen:
operator, value01, value02, . . . ; operator, value03, value04, . . .
Sie können mehrere Zonenbereiche an den Parameter übergeben. Der numerische Wert nach dem Namen gibt die jeweilige Gewichtung an.
Einschränkungen von Split-Brain DNS
Während die DNS-Zone und die DNS-Zonenbereiche in Active Directory integriert sind, gilt dies nicht für die Richtlinien. Daher werden sie nicht auf andere DNS-Server repliziert. Stattdessen müssen Sie DNS-Richtlinien manuell von einem DC auf die anderen übertragen und lokal auf jedem DNS-Server speichern.
Da die Richtlinie für Split-Brain-DNS AD-integrierte Zonen erfordert, müssten auch externe Abfragen vom Active Directory bedient werden. Viele Unternehmen sehen dies jedoch als Sicherheitsrisiko an.
Fazit
Die Bereitstellung von Split-Brain DNS mithilfe von Richtlinien ist eine interessante Funktion, die in Windows Server 2016 und höher zu finden ist. Sie ermöglicht es Unternehmen, ihre externe und interne DNS-Infrastruktur zu konsolidieren.
Ein großer Nachteil ist jedoch, dass die DNS-Richtlinien nicht in Active Directory integriert sind und somit nicht repliziert werden. Außerdem entsprechen externe Abfragen des Active Directory möglicherweise nicht den Sicherheitsrichtlinien für die AD-Infrastruktur.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
Weitere Links