Secondary DNS
Das Domain Name System, kurz DNS, ist ein global verteiltes System zur Übersetzung von Internetdomains in IP-Adressen. Das DNS liefert für einen Domänennamen eine IP-Adresse zurück und fungiert damit als „Adressbuch“ des Internets. Konzeptuell entspricht die IP-Adresse einer Postadresse, an die Pakete gesendet werden können. Hier ein paar Beispiele für DNS-Anfragen:
Abgefragter Domänenname | Zurückgelieferte IP-Adresse |
'example.com' | '93.184.216.34' |
'ionos.de' | '217.160.86.40' |
Aufgrund der zentralen Bedeutung des DNS ist es sinnvoll, DNS-Informationen über verschiedene Systeme verteilt redundant vorzuhalten. So bleiben die Informationen auch bei Ausfall einzelner Komponenten des DNS erreichbar. Ferner ist die geografische Nähe eines Servers ausschlaggebend für die Geschwindigkeit der Antworten. Bei einem redundanten System unterscheidet man zwischen einer Quelle und ggf. mehreren Kopien. In der Praxis erfordert ein solches Setup einen Mechanismus, die redundanten Kopien bei Änderung der Quelle anzupassen.
Lassen Sie sich von den Vorteilen überzeugen. Probieren Sie Ihren Virtual Server ganz in Ruhe 30 Tage lang aus!
Was ist Secondary DNS?
Ein grundlegender Mechanismus, DNS-Informationen für eine DNS-Zone auf mehrere Server zu verteilen, entstammt einer im Jahr 1996 veröffentlichten Spezifikation der Internet Engineering Task Force (IETF). In dieser wird festgelegt, wie ein – damals noch als „Master“ bezeichneter – primärer DNS-Server eine Gruppe sekundärer – damals als „Slaves“ bezeichneter – DNS-Server über eine Änderung an der DNS-Zone in Kenntnis setzt. Die sekundären DNS-Server werden aufgefordert, eine Anfrage an den primären DNS-Server zu stellen, um die Änderungen zu beziehen.
„Dieses Dokument beschreibt den NOTIFY opcode für das DNS, mit dem ein primärer Server eine Gruppe von sekundären Servern darüber informiert, dass die Daten des primären Servers geändert wurden und die sekundären Server auffordert, die neuen Daten abzufragen.“ – Internet Engineering Task Force“ (IETF), Quelle: https://www.ietf.org/rfc/rfc1996.txt, Übersetzung: IONOS
(Original: „This memo describes the NOTIFY opcode for DNS, by which a master server advises a set of slave servers that the master's data has been changed and that a query should be initiated to discover the new data.“)
Die Nutzung der Begriffe „Master“ und „Slave“ in der Informationstechnologie sind aufgrund der historischen Vorbesetzung in Verruf geraten und werden nach und nach durch äquivalente Terme ersetzt.
Per Definition gibt es für eine DNS-Zone nur einen Primary DNS Server. Dieser hält die DNS-Quellinformationen für die Zone vor und dient als Einstiegspunkt für den Zonen-Administrator. Sollen Änderungen an einer DNS-Zone vorgenommen werden, erfolgen diese am Primary DNS Server. Demgegenüber kommen ggf. mehrere, über die ganze Welt verteilte Secondary DNS Server zum Einsatz, die die DNS-Informationen spiegeln. Häufig wird ein separater DNS-Provider für das Hosting des Secondary DNS eingesetzt.
Beachten Sie, dass die Begriffe „primary“ und „secondary“ im Zusammenhang mit dem DNS doppelt belegt sind. Vielleicht ist Ihnen bekannt, dass Sie in den Systemeinstellungen Ihrer Netzwerkverbindung die zum Einsatz kommenden DNS-Server ändern können. Diese werden oft ebenfalls als „primary“ und „secondary“ bezeichnet. Es handelt sich dabei jedoch um eine Überschneidung der Begriff. Bezogen auf eine DNS-Zone kann es sich bei beiden der von Ihnen festgelegten Server um Secondary DNS Server handeln. Ferner können Sie nach Belieben mehr als zwei DNS-Server konfigurieren.
Was ist der Unterschied zwischen Secondary und Primary DNS?
Zunächst halten wir fest, dass sowohl Primary als auch Secondary DNS Server für die jeweilige Zone „autoritative Nameserver“ sind. Das bedeutet, dass den für die DNS-Zone gespeicherten Informationen unbedingt vertraut werden kann. Autoritative Nameserver stehen damit im Gegensatz zu cachenden Nameservern, die lediglich DNS-Informationen aus bereits erfolgten DNS-Abfragen zwischenspeichern.
Der Unterschied zwischen Primary und Secondary DNS Server ist in erster Linie administrativer Natur. Der Primary DNS Server enthält die DNS-Informationen einer DNS-Zone in der sogenannten Zonendatei („Zone File“). Etwaige Änderungen an der Zonendatei werden vom Zonen-Administrator direkt vorgenommen. Demgegenüber lässt sich die Zonendatei eines Secondary DNS Servers nicht direkt beschreiben. Stattdessen werden etwaige Änderungen an der Zonendatei vom Primary DNS bezogen.
Bei Änderungen der Zonendatei werden die Secondary DNS Server über die Änderung informiert und fragen die geänderten Daten ab. Die Übertragung der DNS-Informationen wischen DNS-Servern ist als Zonentransfer („Zone Transfer“) bekannt. Beim Zonentransfer ist ein Secondary DNS Server das Ziel, während der Primary DNS Server als Quelle fungiert. Beachten Sie, dass ein und derselbe physische Server für eine DNS-Zone der Primary DNS Server und gleichzeitig für eine andere Zone ein Secondary DNS Server sein kann.
Wie funktioniert Secondary DNS?
Ausschlaggebendes Merkmal von Secondary DNS ist, dass die Zonendatei von einer externen Quelle auf die Server übertragen wird. Für den Zonentransfer kommen verschiedene Mechanismen zum Einsatz. Grundlegend für die Regelung des Zonentransfers ist der DNS-Eintrag „Start of Authority“ (SOA). Dieser umfasst mehrere Felder:
- Das 'MNAME'-Feld enthält die IP-Adresse des Primary DNS Servers.
- Ferner enthält der SOA-Eintrag eine Reihe von Feldern, die definieren, in welchen Intervallen Secondary DNS Server selbsttätig Änderungen beim Primary abfragen.
Wir betrachten im Folgenden drei häufig zum Einsatz kommende DNS-Konfigurationen.
Primary/Secondary
Dies ist gewissermaßen die „klassische” Konfiguration, um DNS-Informationen einer Zone auf mehrere autoritative DNS-Server zu verteilen. Es kommt ein Primary DNS Server zum Einsatz, der im MNAME-Feld des SOA-Eintrags angegeben ist. Die Secondary DNS Server prüfen in regelmäßigem Abstand, ob eine Änderung der DNS-Informationen für ihre Zone stattgefunden hat und leiten bei Bedarf einen Transfer der geänderten Daten ein. Zusätzlich kann der Primary Server die Secondary DNS Server per Notify-Anweisung über Änderungen benachrichtigen.
Hidden Primary
Beim als „Hidden Primary“ bekannten Ansatz handelt es sich um eine interessante Variante der klassischen Primary/Secondary-Konfiguration. Jedoch arbeitet hierbei der Primary Server im Verborgenen. Beim im MNAME-Feld des SOA-Eintrags angegebenen Server handelt es sich nicht um den tatsächlichen Primary Server. Die Secondary DNS Server können daher von sich aus keine Änderungen der DNS-Zone abfragen, sondern müssen vom Hidden Primary explizit per Notify-Anweisung dazu aufgefordert werden.
Ein beliebter Ansatz besteht darin, einen Rechner im lokalen Netzwerk als DNS-Server zu konfigurieren und als Hidden Primary einzusetzen. Dies hat zwei unmittelbare Vorteile:
- Änderungen an der Zonendatei lassen sich komfortabel lokal vornehmen.
- Der gesamte eingehende DNS-Traffic wird von den Secondary DNS Servern bewältigt.
Für diesen Ansatz bietet es sich an, die Kommunikation zwischen den Secondary DNS Servern und dem Hidden Primary mit der Verschlüsselungstechnologie DNSSEC abzusichern.
Primary/Primary
Bei dieser Konfiguration handelt es sich um eine neuere Entwicklung. Dabei kommen mehrere, für eine DNS-Zone autoritative DNS-Server zum Einsatz, die allesamt die Quelldaten enthalten. Es erfolgt kein Zonentransfer untereinander, und somit gibt es auch kein Secondary DNS im eigentlichen Sinne. Jede Änderung an der DNS-Zone erfordert einen koordinierten Abgleich der primären DNS-Server. Zu diesem Zweck kommen proprietäre Systeme zum Einsatz. Stellen Sie sich z. B. ein externes System mit GUI und API vor, das zum Ändern der DNS-Informationen und Verteilen der Änderungen genutzt wird.
Warum sollte man Secondary DNS nutzen?
Die Vorzüge bei der Nutzung von Secondary DNS sind vielfältig. Um diese besser zu verstehen, stellen wir uns vor, es gäbe für eine DNS-Zone nur einen einzigen DNS-Server. Eine solche Konfiguration hätte u. a. die folgenden negativen Effekte:
- Vom Primary DNS Server weiter entfernte Nutzer würden eine Verzögerung der Antworten gegenüber näher gelegenen Nutzern erfahren.
Hier sorgt Secondary DNS für Performanz bei der Beantwortung der der DNS-Anfragen.
- Ein Ausfall des Primary DNS Server hätte zur Folge, dass die autoritativen Informationen für die DNS-Zone schlagartig nicht mehr verfügbar wären.
Hier sorgt Secondary DNS für Redundanz und Hochverfügbarkeit der DNS-Informationen.
- Ein verstärkter Eingang von DNS-Anfragen würde ab einem bestimmten Punkt den Primary DNS Server überlasten.
In diesem Fall führt das Secondary DNS zur Verteilung der Last und damit zur Hochverfügbarkeit der DNS-Informationen.
Sie sehen: Eine Konfiguration ohne Secondary DNS wäre hochgradig anfällig gegenüber technischen Fehlern und Cyber-Attacken.
Die vorgestellten Vorteile beim Einsatz von Secondary DNS sind technischer Natur. Daneben gibt es einen weiteren administrativen Beweggrund. Dieser liegt dann vor, wenn eine Organisation zu einem neuen DNS-Provider migrieren möchte. In diesem Fall kann das bestehende Konzept zur Verwaltung der DNS-Zone weiterhin genutzt werden, z. B. in einer Hidden-Primary-Konfiguration. Der neue DNS-Provider übernimmt als Secondary DNS die Beantwortung der eingehenden DNS-Anfragen.
Wie lässt sich der der Secondary DNS herausfinden?
Die Unterscheidung zwischen Primary und Secondary DNS ist in erster Linie administrativer Natur. Durch einen externen Beobachter lässt sich nicht abschließend feststellen, ob es sich bei einem autoritativen DNS-Server um einen Primary oder Secondary Server handelt. Ferner kann ein und derselbe Server Primary DNS für eine Zone und Secondary DNS für eine andere Zone sein. Selbst das MNAME-Feld des SOA-Eintrags schafft keine Abhilfe, da der tatsächliche Primary DNS Server als Hidden Primary betrieben werden kann.