Ein Vergleich der DNS-Servertypen: So wählen Sie die richtige DNS-Konfiguration aus

Einführung

DNS oder das Domain Name System ist ein wesentlicher Bestandteil der Art und Weise, wie Systeme miteinander verbunden werden, um über das Internet zu kommunizieren. Ohne DNS müssten Computer und die Personen, die sie verwenden, eine Verbindung nur mit numerischen Adressen herstellen, die als IP-Adressen bezeichnet werden.

Neben dem offensichtlichen Problem, sich für einfache Aufgaben eine große Anzahl komplexer Zahlen merken zu müssen, verursacht die Kommunikation über IP-Adressen auch einige zusätzliche Probleme. Wenn Sie Ihre Website auf einen anderen Hosting-Anbieter oder Ihre Server auf einen anderen Standort verschieben, müssen Sie jeden Kunden über den neuen Standort informieren.

DNS-Server, die Computer, die zusammen das System bilden, auf dem wir Namen anstelle von Adressen verwenden können, können viele verschiedene Funktionen bedienen, von denen jede dazu beitragen kann, dass Sie namentlich auf Server zugreifen können.

Inprevious guide haben wir einige der grundlegenden Begriffe und Konzepte des Domain Name Systems besprochen. Wir werden davon ausgehen, dass Sie mit den in diesem Artikel behandelten Konzepten vertraut sind. In diesem Handbuch werden einige der verschiedenen Arten von DNS-Serverkonfigurationen sowie die jeweiligen Vorteile, Anwendungsfälle und Eigenschaften erläutert.

Der Pfad einer DNS-Abfrage

Wenn ein Client-Programm über seinen Domänennamen auf einen Server zugreifen möchte, muss es herausfinden, wie der Domänenname in eine tatsächliche routingfähige Adresse umgewandelt werden kann, über die es kommunizieren kann. Es muss diese Informationen kennen, um Informationen an den Server zu erhalten oder zu senden.

Einige Anwendungen, einschließlich der meisten Webbrowser, verwalten einen internen Cache mit den letzten Abfragen. Dies ist der erste Ort, an dem die Anwendung überprüft, ob sie über diese Funktion verfügt, um die IP-Adresse der betreffenden Domain zu ermitteln. Wenn es hier keine Antwort auf seine Frage findet, fordert es diesystem resolver auf, herauszufinden, wie die Adresse des Domainnamens lautet.

Einresolver ist im Allgemeinen eine Komponente, die als clientseitiger Teilnehmer an einer DNS-Abfrage fungiert. Der Systemresolver ist die Auflösungsbibliothek, mit der Ihr Betriebssystem die Antwort auf DNS-Abfragen sucht. Im Allgemeinen sind System-Resolver normalerweise das, was wir alsstub resolvers betrachten, da sie nicht viel Komplexität aufweisen können, außer ein paar statische Dateien auf dem System zu durchsuchen (wie die/etc/hosts-Datei) und Anforderungen an einen anderen Resolver weiterzuleiten.

Im Allgemeinen wird eine Abfrage von der Clientanwendung an den System-Resolver gesendet, wo sie dann an einen DNS-Server weitergeleitet wird, für den sie die Adresse hat. Dieser DNS-Server heißtrecursive DNS server. Ein rekursiver Server ist ein DNS-Server, der so konfiguriert ist, dass er andere DNS-Server abfragt, bis er die Antwort auf die Frage findet. Es gibt entweder die Antwort oder eine Fehlermeldung an den Client zurück (in diesem Fall den System-Resolver, der sie wiederum an die Client-Anwendung weiterleitet).

Rekursive Server verwalten im Allgemeinen auch einen Cache. Dieser Cache wird zuerst überprüft, um festzustellen, ob die Antwort auf die Abfrage bereits vorliegt. Ist dies nicht der Fall, wird festgestellt, ob die Adresse für einen der Server vorliegt, die die Domänenkomponenten der oberen Ebene steuern. Wenn die Anforderung alsowww.example.com betrifft und diese Hostadresse nicht in ihrem Cache gefunden werden kann, wird geprüft, ob sie die Adresse der Nameserver fürexample.com und gegebenenfallscom enthält. Anschließend wird eine Abfrage an den Nameserver der spezifischsten Domänenkomponente gesendet, die er finden kann, um weitere Informationen abzufragen.

Wenn die Adresse für eine dieser Domänenkomponenten nicht gefunden wird, muss sie ganz oben in der Hierarchie beginnen, indem sieroot name servers abfragt. Die Stammserver kennen die Adressen aller TLD-Nameserver (Top Level Domain), die Zonen für.com,.net,.org usw. steuern. Die Root-Server werden gefragt, ob sie die Adresse vonwww.example.com kennen. Der Stammserver verweist den rekursiven Server an die Nameserver für die TLD.com.

Der rekursive Server folgt dann den Verweisen auf jeden nachfolgenden Nameserver, dem die Verantwortung für die Domänenkomponenten übertragen wurde, bis er sich auf dem spezifischen Nameserver einfinden kann, der die vollständige Antwort hat. Diese Antwort wird für spätere Abfragen in den Cache gestellt und dann an den Client zurückgegeben.

Wie Sie diesem Beispiel entnehmen können, gibt es viele verschiedene Arten von Servern, die jeweils eine unterschiedliche Rolle spielen. Lassen Sie uns die Besonderheiten der verschiedenen Arten von DNS-Servern erläutern.

Funktionsunterschiede

Einige der Unterschiede zwischen DNS-Servern sind rein funktional. Die meisten Server, die an der Implementierung von DNS beteiligt sind, sind auf bestimmte Funktionen spezialisiert. Die Art des von Ihnen ausgewählten DNS-Servers hängt weitgehend von Ihren Anforderungen und der Art des Problems ab, das Sie lösen möchten.

Nur autorisierende DNS-Server

Ein autorisierender DNS-Server ist ein Server, der sich nur mit der Beantwortung der Abfragen für die Zonen befasst, für die er verantwortlich ist. Da es nicht hilft, Abfragen für externe Zonen zu lösen, ist es im Allgemeinen sehr schnell und kann viele Anfragen effizient bearbeiten.

Nur autorisierende Server haben die folgenden Eigenschaften:

  • Very fast at responding to queries for zones it controls. Ein Nur-Autorisierungsserver verfügt über alle Informationen zu der Domäne, für die er verantwortlich ist, oder über Verweisinformationen für Zonen innerhalb der Domäne, die an andere Nameserver delegiert wurden.

  • Will not respond to recursive queries. Die Definition eines Nur-Autorisierungs-Servers verarbeitet keine rekursiven Anforderungen. Dies macht es nur zu einem Server und niemals zu einem Client im DNS-System. Jede Anforderung, die einen Nur-Autorisierungs-Server erreicht, kommt im Allgemeinen von einem Resolver, der eine Verweisung darauf erhalten hat. Dies bedeutet, dass der Nur-Autorisierungs-Server entweder die vollständige Antwort hat oder eine neue Verweisung an den Nameserver übergeben kann dass es die Verantwortung an delegiert hat.

  • Does not cache query results. Da ein Server nur mit Berechtigung niemals andere Server nach Informationen abfragt, um eine Anforderung zu lösen, hat er nie die Möglichkeit, Ergebnisse zwischenzuspeichern. Alle ihm bekannten Informationen befinden sich bereits in seinem System.

DNS-Server zwischenspeichern

Ein DNS-Cache-Server ist ein Server, der rekursive Anforderungen von Clients verarbeitet. Nahezu jeder DNS-Server, den der Stub-Resolver des Betriebssystems kontaktiert, ist ein DNS-Cache-Server.

Caching-Server haben den Vorteil, dass sie rekursive Anforderungen von Clients beantworten können. Während autorisierende Server ideal für die Bereitstellung bestimmter Zoneninformationen sind, ist das Zwischenspeichern von DNS-Servern aus Client-Sicht sinnvoller. Sie machen das DNS-System der Welt für ziemlich dumme Client-Interfaces zugänglich.

Um zu vermeiden, dass bei jedem Empfang einer rekursiven Anforderung die Leistung beeinträchtigt wird, indem mehrere iterative Anforderungen an andere DNS-Server gesendet werden, speichert der Server die Ergebnisse im Cache. Auf diese Weise kann es auf eine breite Basis von DNS-Informationen (das öffentlich zugängliche DNS der ganzen Welt) zugreifen und aktuelle Anforderungen sehr schnell bearbeiten.

Ein DNS-Cache-Server verfügt über die folgenden Eigenschaften:

  • Access to the entire range of public DNS data. Alle Zonendaten, die von öffentlich zugänglichen DNS-Servern bereitgestellt werden, die in den globalen Delegierungsbaum eingebunden sind, können von einem zwischengespeicherten DNS-Server erreicht werden. Es kennt die Stamm-DNS-Server und kann Verweise intelligent verfolgen, während es Daten empfängt.

  • Ability to spoon-feed data to dumb clients. Fast jedes moderne Betriebssystem verlagert die DNS-Auflösung mithilfe von Stub-Resolvern auf dedizierte rekursive Server. Diese auflösenden Bibliotheken stellen einfach eine rekursive Anfrage und erwarten eine vollständige Antwort. Ein DNS-Cache-Server verfügt über die genauen Funktionen, um diese Clients zu bedienen. Durch das Akzeptieren einer rekursiven Abfrage versprechen diese Server, entweder mit einer Antwort oder einer DNS-Fehlermeldung zurückzukehren.

  • Maintains a cache of recently requested data. Durch Zwischenspeichern der Ergebnisse, wenn sie von anderen DNS-Servern für ihre Clientanforderungen erfasst werden, erstellt ein zwischengespeicherter DNS-Server einen Cache für aktuelle DNS-Daten. Je nachdem, wie viele Clients auf den Server verwenden, wie groß der Cache ist, und wie lange die TTL-Daten auf den DNS-Einträgen sind selbst kann dies drastisch DNS-Auflösung in den meisten Fällen beschleunigen.

DNS-Server weiterleiten

Eine alternative Möglichkeit, einen Cache für Client-Computer zu entwickeln, ist die Verwendung eines DNS-Weiterleitungsservers. Dieser Ansatz fügt der DNS-Auflösungskette ein zusätzliches Glied hinzu, indem ein Weiterleitungsserver implementiert wird, der einfach alle Anforderungen an einen anderen DNS-Server mit rekursiven Funktionen (z. B. einen DNS-Cache-Server) weiterleitet.

Der Vorteil dieses Systems besteht darin, dass Sie den Vorteil eines lokal zugänglichen Caches erhalten, ohne rekursiv arbeiten zu müssen (was zu zusätzlichem Netzwerkverkehr führen und auf Servern mit hohem Datenverkehr erhebliche Ressourcen in Anspruch nehmen kann). Dies kann auch zu einer interessanten Flexibilität bei der Aufteilung Ihres privaten und öffentlichen Datenverkehrs führen, indem Sie Daten an verschiedene Server weiterleiten.

Ein Weiterleitungs-DNS-Server verfügt über die folgenden Eigenschaften:

  • The ability to handle recursive requests without performing recursion itself. Die grundlegendste Eigenschaft eines weiterleitenden DNS-Servers besteht darin, dass er Anforderungen zur Lösung an einen anderen Agenten weiterleitet. Der Weiterleitungsserver kann über minimale Ressourcen verfügen und dennoch einen hohen Wert bieten, indem er seinen Cache nutzt.

  • Provide a local cache at a closer network location. Insbesondere wenn Sie nicht in der Lage sind, eine vollwertige rekursive DNS-Lösung zu erstellen, zu warten und zu sichern, kann ein Weiterleitungsserver öffentliche rekursive DNS-Server verwenden. Diese Server können genutzt werden, während der primäre Cachespeicherort sehr nahe an den Clientcomputern liegt. Dies kann die Antwortzeiten verkürzen.

  • Increases flexibility in defining local domain space. Durch die bedingte Übergabe von Anforderungen an verschiedene Server kann ein Weiterleitungsserver sicherstellen, dass interne Anforderungen von privaten Servern bedient werden, während externe Anforderungen öffentliches DNS verwenden.

Kombinationslösungen

Obwohl die oben genannten Lösungen für ganz bestimmte Zwecke entwickelt wurden, ist es häufig wünschenswert, Ihren DNS-Server so einzurichten, dass die Vorteile der beiden kombiniert werden.

Ein DNS-Server kann so konfiguriert werden, dass er als rekursiver Cacheserver für eine ausgewählte Anzahl lokaler Clients fungiert und nur iterative, autorisierende Anforderungen von anderen Clients beantwortet. Dies ist eine häufige Konfiguration, da Sie damit globale Anfragen für Ihre Domain beantworten können und Ihre lokalen Clients den Server für die rekursive Auflösung verwenden können.

Während bestimmte DNS-Software speziell für eine bestimmte Rolle entwickelt wurde, sind Anwendungen wie Bind unglaublich flexibel und können als Hybridlösungen verwendet werden. In einigen Fällen kann der Versuch, zu viele Dienste auf einem einzelnen Server bereitzustellen, zu Leistungseinbußen führen. In vielen Fällen, insbesondere bei kleinen Infrastrukturen, ist es jedoch am sinnvollsten, eine einzige All-in-One-Lösung beizubehalten.

Beziehungsunterschiede

Während die offensichtlichsten Unterschiede zwischen den DNS-Serverkonfigurationen wahrscheinlich funktionsfähig sind, sind die relationalen Unterschiede auch äußerst wichtig.

Primär- und Sekundärserver

Angesichts der Bedeutung von DNS für den Zugriff auf Dienste und gesamte Netzwerke verfügen die meisten für eine Zone maßgeblichen DNS-Server über eine integrierte Redundanz. Es gibt verschiedene Begriffe für die Beziehungen zwischen diesen Servern, aber im Allgemeinen kann ein Server in seiner Konfiguration entwederprimary odersecondary sein.

Sowohl der primäre als auch der sekundäre Server sind für die von ihnen behandelten Zonen maßgeblich. Die primäre hat nicht mehr Macht über die Zonen als die sekundäre. Der einzige Unterschied zwischen einem primären und einem sekundären Server besteht darin, woher sie ihre Zonendateien lesen.

Ein Primärserver liest seine Zonendateien von Dateien auf der Festplatte des Systems. In dieser Regel fügt der Zonenadministrator die ursprünglichen Zonendateien hinzu, bearbeitet sie oder überträgt sie.

Der sekundäre Server empfängt die Zonen, für die er autorisiert ist, durch eine Zonenübertragung von einem der primären Server für die Zone. Sobald diese Zonen vorhanden sind, werden sie in einem Cache abgelegt. Wenn es neu gestartet werden muss, überprüft es zuerst den Cache, um festzustellen, ob die darin enthaltenen Zonen auf dem neuesten Stand sind. Andernfalls werden die aktualisierten Informationen vom Primärserver angefordert.

Server werden nicht nur als primäre oder sekundäre Server für alle von ihnen behandelten Zonen herabgestuft. Der primäre oder sekundäre Status wird zonenweise zugewiesen, sodass ein Server für einige Zonen ein primärer und für andere ein sekundärer Status sein kann.

DNS-Zonen haben normalerweise mindestens zwei Nameserver. Jede Zone, die für eine internetfähige Zonemustverantwortlich ist, verfügt über mindestens zwei Nameserver. Häufig werden viel mehr Nameserver verwaltet, um die Last zu verteilen und die Redundanz zu erhöhen.

Öffentliche vs Private Server

Oft verwenden Organisationen DNS sowohl extern als auch intern. Die Informationen, die in beiden Bereichen zur Verfügung gestellt werden sollten, unterscheiden sich jedoch häufig drastisch.

Eine Organisation unterhält möglicherweise einen extern verfügbaren autorisierenden DNS-Server, um öffentliche DNS-Abfragen für die von ihr behandelten Domänen und Zonen zu bearbeiten. Für interne Benutzer verwendet die Organisation möglicherweise einen separaten DNS-Server, der die autorisierenden Informationen, die das öffentliche DNS bereitstellt, sowie zusätzliche Informationen zu internen Hosts und Diensten enthält. Möglicherweise werden auch zusätzliche Funktionen bereitgestellt, z. B. Rekursion und Zwischenspeicherung für interne Clients.

Während wir die Möglichkeit erwähnt haben, dass ein einziger Server alle diese Aufgaben im oben genannten "Kombinations" -Server erledigt, gibt es bestimmte Vorteile bei der Aufteilung der Arbeitslast. Tatsächlich ist es oft wünschenswert, vollständig getrennte Server (interne und externe) zu unterhalten, die sich nicht kennen. Aus Sicherheitsgründen ist es besonders wichtig, dass auf dem öffentlichen Server keine Datensätze des privaten Gegenübers vorhanden sind. Dies bedeutet, dass Ihre privaten Nameserver nicht mit NS-Einträgen in den öffentlichen Zonendateien aufgeführt werden.

Es sind einige zusätzliche Überlegungen zu beachten. Während es möglicherweise einfacher ist, Ihre öffentlichen und privaten Server Zonendaten gemeinsam nutzen zu lassen, die sie in einer traditionellen Primär-Sekundär-Beziehung gemeinsam haben, können dadurch Informationen über Ihre private Infrastruktur in die Öffentlichkeit gelangen.

Es ist in der Regel nicht nur sinnvoll, Ihre privaten Server von den Zonendateien fernzuhalten (im Wesentlichen eine öffentlich durchsuchbare Entität), sondern auch alle Verweise auf den privaten Server in den Konfigurationsdateien des öffentlichen Servers zu entfernen. Dies bedeutet, dass Übertragungs-, Benachrichtigungs- und primäre Konfigurationsdetails entfernt werden, sodass eine Gefährdung des öffentlichen Servers nicht bedeutet, dass Ihre internen Nameserver plötzlich verfügbar sind.

Dies bedeutet, dass für jede Zone separate Zonendateien verwaltet werden, was zusätzliche Arbeit bedeuten kann. Dies kann jedoch für eine absolute Trennung und Sicherheit notwendig sein.

Fazit

Sie sind sich wahrscheinlich in diesem Stadium bewusst, dass die Auswahl Ihrer DNS-Konfiguration einiges an Flexibilität bietet.

Ihre Auswahl hängt weitgehend von den Anforderungen Ihres Unternehmens ab und davon, ob Ihre Hauptpriorität darin besteht, eine schnellere DNS-Auflösung für eine Auswahl von Clients bereitzustellen (Zwischenspeichern oder Weiterleiten) oder Ihre Domains und Zonen für das Internet insgesamt bereitzustellen (autorisierende Server). Kombinationsansätze sind üblich und letztendlich müssen beide Seiten des Abwicklungsprozesses berücksichtigt werden.

In unseren nächsten Handbüchern werden wir zeigen, wie Sie mit einigen dieser Konfigurationen beginnen können. Wir beginnen mit dem Unterrichten vonhow to set up a caching or forwarding server. Später werden wir beschreiben, wie Sie Ihre Domains nachsetting up a pair of authoritative-only DNS servers bedienen.