Split-brain DNS in Active Directory einrichten


    Tags: , ,

    Domain Name ServiceViele Unter­nehmen stellen Websites und andere Ressour­cen für externe und interne Clients bereit. In der Vergangen­­heit haben sie dafür oft ge­trennte DNS-Server aufge­setzt. Micro­softs Split-Brain-DNS-Deployment von Active Directory-inte­grierten Zonen vermeidet solche Redun­danzen. Die Ein­richtung der DNS-Richt­linien erfolgt mittels PowerShell.

    Microsoft definiert DNS-Bereitstellungen als Split-Brain, wenn zwei ver­schie­dene 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.

    Active Directory Integrated Zone erstellen

    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>"

    Einen neuen DNS-Zonenbereich mit PowerShell erstellen

    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>"

    Einträge zu Zone Scopes hinzufügen

    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

     DNS-Policy hinzufügen, um den Traffic zum betreffenden DNS-Zonenbereich umzuleiten

    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 Sicherheits­richtlinien für die AD-Infrastruktur.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Brandon Lee

    Brandon Lee ist seit mehr als 18 Jahren in der IT-Branche tätig und konzen­triert sich auf Networking und Virtua­lisie­rung. Er ver­öffent­licht auf ver­schie­denen Blogs und ver­fasst tech­nische Doku­men­ta­tionen, haupt­sächlich auf Virtualizationhowto.com.

    // Kontakt: Web, E-Mail, LinkedIn //

    Ähnliche Beiträge

    Weitere Links