# Split-DNS

Split-DNS (auch bekannt als Split-View-DNS, Split-Brain-DNS oder Split-Horizon-DNS) ist eine DNS-Konfigurationstechnik, wobei für eine einzige Domain zwei oder mehr DNS-Zonen existieren. So können abhängig vom anfragenden Endgerät, der Tageszeit oder anderen Faktoren unterschiedliche DNS-Daten für dieselbe Domain zurückgegeben werden. Der häufigste Anwendungsfall ist eine unterschiedliche Namensauflösung für interne und externe Netzwerkressourcen, welche die gleiche Domain haben.
Die Konfigurationstechnik kann für zusätzliche Sicherheit sorgen, da interne Netzwerkinformationen auch in eigentlich öffentlichen DNS-Zonen privat gehalten werden können. Gleichzeitig erfordert Split-DNS mehr Verwaltungsaufwand und kann eine DNS-Struktur sehr komplex werden lassen.
Split-DNS sollte nicht mit Split-Split-DNS verwechselt werden, wo zwei verschiedene Nameserver zum Einsatz kommen.

## Auswirkungen auf den Endnutzer

Für einen Endnutzer bedeutet eine Split-DNS-Konfiguration, dass ein Webservice (zum Beispiel eine Website) abhängig vom Netzwerk des Endgeräts zu einem anderen Server aufgelöst wird (und somit ggf. auch anderen Inhalt bereitstellt). So ist es zum Beispiel möglich, dass ein Unternehmen unter crm.example.com für interne Nutzer ein CRM-System mit Login-Seite anzeigt, für externe Nutzer aber unter der gleichen Webadresse ein Kundenportal zum Herunterladen von Rechnungen bereitstellt.

## Technische Funktionsweise

Die technische Funktionsweise von Split-DNS beruht auf der Konfiguration von zwei oder mehr DNS-Zonen für dieselbe Domain. Dabei wird normalerweise eine interne DNS-Zone für das private Netzwerk und eine externe DNS-Zone für das öffentliche Internet eingerichtet.
Die Implementierung von Split-DNS kann auf zwei Arten geschehen:
* Bei der hardware-basierten Trennung existieren zwei verschiedene DNS-Server mit der gleichen DNS-Zone. Im Normalfall fungiert einer der beiden DNS-Server für interne Anfragen aus dem Firmennetzwerk, während der andere Server externe Anfragen aus dem Internet bearbeitet.
* Bei der software-basierten Trennung werden beide DNS-Zonen auf dem gleichen DNS-Server angelegt. Es ist die Software des DNS-Servers, welche aufgrund der vordefinierten Kriterien entscheidet, welcher Datensatz zurückgegeben wird.

### Verwendung mit DNSSEC

Die gemeinsame Verwendung von Split-DNS mit DNSSEC kann zu Komplikationen führen, da eine DNS-Zone mehrfach und je nach Implementierungsform sogar auf verschiedenen Servern existiert, was zu Fehlalarmen führen kann. Es existieren aus diesem Grund spezielle Empfehlungen der Internet Engineering Task Force (IETF) zur Verwendung von Split-DNS mit DNSSEC.

## Anwendungsfälle

Split-DNS findet bei Unternehmen in verschiedenen Szenarien Anwendung. Eine der häufigsten Anwendungsfälle sind:
* Interne und externe Ressourcenverwaltung: Split-DNS kann genutzt werden, um eine Separierung zwischen internen und externen Netzwerkressourcen zu erreichen. So können interne Dienste wie Intranetseiten oder Dateiserver über private IP-Adressen aufgelöst werden, während über die gleichen Domains externe Dienste über öffentliche IP-Adressen zugänglich sind. Ebenso lassen sich so Active-Directory-Informationen von Domains, die gleichzeitig eine externe Netzwerkressource (bspw. die externe Website) bereitstellen, mit den Domaincomputern teilen, ohne die Informationen im Internet publizieren zu müssen.
* Lastverteilung und Ausfallsicherheit: Durch die Bereitstellung mehrerer DNS-Zonen können Lastverteilungs- und Ausfallsicherheitsmechanismen implementiert werden. Beispielsweise können verschiedene DNS-Server für verschiedene geografische Standorte oder Netzwerksegmente konfiguriert werden, um eine bessere Verfügbarkeit und Leistung zu gewährleisten.
* Geografische Anpassung: Unternehmen mit globaler Präsenz können Split-DNS verwenden, um geografisch verteilte Netzwerkressourcen zu verwalten. So können Benutzeranfragen an den geografisch nächstgelegenen Server weitergeleitet werden, um die Latenzzeiten zu minimieren und die Netzwerkperformance zu optimieren.
Split-DNS wird häufig bei Split-Tunnel-VPN-Konfigurationen eingesetzt, um interne Hostnames korrekt aufzulösen.