Zum Hauptinhalt springen

5. DNS-Server und -Clients

Dieser Abschnitt definiert die Begriffe, die für Systeme verwendet werden, die als DNS-Clients, DNS-Server oder beides agieren.

Resolver: Ein Programm, das "Informationen von Nameservern als Antwort auf Client-Anfragen extrahiert." (Zitiert aus [RFC1034], Abschnitt 2.4) "Der Resolver befindet sich auf derselben Maschine wie das Programm, das die Dienste des Resolvers anfordert, aber er muss möglicherweise Nameserver auf anderen Hosts konsultieren." (Zitiert aus [RFC1034], Abschnitt 5.1) Ein Resolver führt Abfragen für einen Namen, Typ und eine Klasse durch und empfängt Antworten. Die logische Funktion wird "Resolution" genannt. In der Praxis bezieht sich der Begriff normalerweise auf einen bestimmten Typ von Resolver (von denen einige unten definiert sind), und das Verständnis der Verwendung des Begriffs hängt vom Verständnis des Kontexts ab.

Stub-Resolver: Ein Resolver, der nicht die gesamte Auflösung selbst durchführen kann. Stub-Resolver hängen im Allgemeinen von einem rekursiven Resolver ab, um die eigentliche Auflösungsfunktion zu übernehmen. Stub-Resolver werden besprochen, aber nie vollständig in Abschnitt 5.3.1 von [RFC1034] definiert. Sie sind vollständig in Abschnitt 6.1.3.1 von [RFC1123] definiert.

Iterativer Modus (Iterative mode): Ein Auflösungsmodus eines Servers, der DNS-Abfragen empfängt und mit einem Verweis auf einen anderen Server antwortet. Abschnitt 2.3 von [RFC1034] beschreibt dies als "Der Server verweist den Client an einen anderen Server und lässt den Client die Abfrage fortsetzen". Ein Resolver, der im iterativen Modus arbeitet, wird manchmal "iterativer Resolver" genannt.

Rekursiver Modus (Recursive mode): Ein Auflösungsmodus eines Servers, der DNS-Abfragen empfängt und entweder auf diese Abfragen aus einem lokalen Cache antwortet oder Abfragen an andere Server sendet, um die endgültigen Antworten auf die ursprünglichen Abfragen zu erhalten. Abschnitt 2.3 von [RFC1034] beschreibt dies als "Der erste Server verfolgt die Abfrage für den Client bei einem anderen Server". Ein Server, der im rekursiven Modus arbeitet, kann als eine Nameserver-Seite (die die Abfrage beantwortet) und eine Resolver-Seite (die die Auflösungsfunktion durchführt) betrachtet werden. Systeme, die in diesem Modus arbeiten, werden üblicherweise "rekursive Server" genannt. Manchmal werden sie "rekursive Resolver" genannt. Während streng genommen der Unterschied darin besteht, dass einer von ihnen Abfragen an einen anderen rekursiven Server sendet und der andere nicht, ist es in der Praxis nicht möglich, im Voraus zu wissen, ob der Server, den man abfragt, auch Rekursion durchführen wird; beide Begriffe können in austauschbarer Verwendung beobachtet werden.

Vollständiger Resolver (Full resolver): Dieser Begriff wird in [RFC1035] verwendet, aber dort nicht definiert. RFC 1123 definiert einen "Full-Service-Resolver", der möglicherweise das ist oder nicht ist, was mit "Full Resolver" in [RFC1035] gemeint war. Dieser Begriff ist in keinem RFC ordnungsgemäß definiert.

Full-Service-Resolver: Abschnitt 6.1.3.1 von [RFC1123] definiert diesen Begriff als einen Resolver, der im rekursiven Modus mit einem Cache arbeitet (und andere Anforderungen erfüllt).

Priming (Vorbereitung): Der Mechanismus, den ein Resolver verwendet, um zu bestimmen, wohin Abfragen gesendet werden sollen, bevor etwas im Cache des Resolvers vorhanden ist. Priming wird am häufigsten von einer Konfigurationseinstellung durchgeführt, die eine Liste von autoritativen Servern für die Root-Zone enthält.

Negative Caching (Negatives Caching): "Das Speichern von Wissen, dass etwas nicht existiert, keine Antwort geben kann oder keine Antwort gibt." (Zitiert aus [RFC2308], Abschnitt 1)

Autoritativer Server (Authoritative server): "Ein Server, der den Inhalt einer DNS-Zone aus lokalem Wissen kennt und daher Abfragen über diese Zone beantworten kann, ohne andere Server abfragen zu müssen." (Zitiert aus [RFC2182], Abschnitt 2.) Es ist ein System, das auf DNS-Abfragen mit Informationen über Zonen antwortet, für die es konfiguriert wurde, um mit dem AA-Flag im Antwort-Header auf 1 gesetzt zu antworten. Es ist ein Server, der Autorität über eine oder mehrere DNS-Zonen hat. Beachten Sie, dass es für einen autoritativen Server möglich ist, auf eine Abfrage zu antworten, ohne dass die Elternzone diesem Server Autorität delegiert. Autoritative Server liefern auch "Referrals", normalerweise zu untergeordneten Zonen, die von ihnen delegiert wurden; diese Referrals haben das AA-Bit auf 0 gesetzt und kommen mit Referral-Daten in den Authority- und (falls erforderlich) Additional-Abschnitten.

Nur-autoritativer Server (Authoritative-only server): Ein Nameserver, der nur autoritative Daten bedient und Anfragen nach Rekursion ignoriert. Er wird "normalerweise keine eigenen Abfragen generieren. Stattdessen beantwortet er nicht-rekursive Abfragen von iterativen Resolvern, die nach Informationen in Zonen suchen, die er bedient." (Zitiert aus [RFC4697], Abschnitt 2.4)

Zonentransfer (Zone transfer): Die Aktion eines Clients, der eine Kopie einer Zone anfordert, und eines autoritativen Servers, der die benötigten Informationen sendet. (Siehe Abschnitt 6 für eine Beschreibung von Zonen.) Es gibt zwei gängige Standardmethoden für Zonentransfers: den AXFR-Mechanismus ("Authoritative Transfer") zum Kopieren der vollständigen Zone (beschrieben in [RFC5936]) und den IXFR-Mechanismus ("Incremental Transfer") zum Kopieren nur von Teilen der Zone, die sich geändert haben (beschrieben in [RFC1995]). Viele Systeme verwenden nicht-standardmäßige Methoden für Zonentransfer außerhalb des DNS-Protokolls.

Sekundärer Server (Secondary server): "Ein autoritativer Server, der Zonentransfer verwendet, um die Zone abzurufen" (Zitiert aus [RFC1996], Abschnitt 2.1). [RFC2182] beschreibt sekundäre Server im Detail. Obwohl frühe DNS-RFCs wie [RFC1996] dies als "Slave" bezeichneten, hat sich die aktuelle gängige Verwendung zur Bezeichnung "Secondary" verschoben. Sekundäre Server werden auch in [RFC1034] diskutiert.

Slave-Server: Siehe sekundärer Server.

Primärer Server (Primary server): "Jeder autoritative Server, der als Quelle des Zonentransfers für einen oder mehrere [sekundäre] Server konfiguriert ist" (Zitiert aus [RFC1996], Abschnitt 2.1) oder genauer "ein autoritativer Server, der als Quelle von AXFR- oder IXFR-Daten für einen oder mehrere [sekundäre] Server konfiguriert ist" (Zitiert aus [RFC2136]). Obwohl frühe DNS-RFCs wie [RFC1996] dies als "Master" bezeichneten, hat sich die aktuelle gängige Verwendung zu "Primary" verschoben. Primäre Server werden auch in [RFC1034] diskutiert.

Master-Server: Siehe primärer Server.

Primary Master: "Der Primary Master wird im SOA MNAME-Feld der Zone genannt und optional durch einen NS RR". (Zitiert aus [RFC1996], Abschnitt 2.1). [RFC2136] definiert "Primary Master" als "Master-Server an der Wurzel des AXFR/IXFR-Abhängigkeitsgraphen. Der Primary Master wird im SOA MNAME-Feld der Zone genannt und optional durch einen NS RR. Es gibt per Definition nur einen Primary Master Server pro Zone." Die Idee eines Primary Master wird nur von [RFC2136] verwendet und gilt in anderen Teilen des DNS als archaisch.

Stealth-Server: Dies ist "wie ein Slave-Server, außer dass er nicht in einem NS RR für die Zone aufgeführt ist." (Zitiert aus [RFC1996], Abschnitt 2.1)

Hidden Master (Versteckter Master): Ein Stealth-Server, der ein Master für Zonentransfers ist. "In dieser Anordnung ist der Master-Nameserver, der die Updates verarbeitet, für allgemeine Hosts im Internet nicht verfügbar; er ist nicht im NS RRset aufgeführt." (Zitiert aus [RFC6781], Abschnitt 3.4.3.) Ein früherer RFC, [RFC4641], sagte, dass der Name des Hidden Master im SOA RRs MNAME-Feld erscheint, obwohl in einigen Setups der Name überhaupt nicht im öffentlichen DNS erscheint. Ein Hidden Master kann entweder ein sekundärer oder ein Primary Master sein.

Forwarding (Weiterleitung): Der Prozess, bei dem ein Server eine DNS-Abfrage mit dem RD-Bit auf 1 gesetzt an einen anderen Server sendet, um diese Abfrage aufzulösen. Forwarding ist eine Funktion eines DNS-Resolvers; es unterscheidet sich von einem einfachen blinden Weiterleiten von Abfragen.

[RFC5625] gibt keine spezifische Definition für Forwarding, beschreibt aber im Detail, welche Funktionen ein System, das weiterleitet, unterstützen muss. Systeme, die weiterleiten, werden manchmal "DNS-Proxies" genannt, aber dieser Begriff wurde noch nicht definiert (auch nicht in [RFC5625]).

Forwarder (Weiterleitungsserver): Abschnitt 1 von [RFC2308] beschreibt einen Forwarder als "einen Nameserver, der verwendet wird, um Abfragen aufzulösen, anstatt direkt die autoritative Nameserver-Kette zu verwenden". [RFC2308] sagt weiter "Der Forwarder hat typischerweise entweder besseren Zugang zum Internet oder unterhält einen größeren Cache, der unter vielen Resolvern geteilt werden kann." Diese Definition scheint nahe zu legen, dass Forwarders normalerweise nur autoritative Server abfragen. In der aktuellen Verwendung stehen Forwarders jedoch oft zwischen Stub-Resolvern und rekursiven Servern. [RFC2308] schweigt darüber, ob ein Forwarder nur iterativ ist oder ein Full-Service-Resolver sein kann.

Richtlinien-implementierender Resolver (Policy-implementing resolver): Ein Resolver, der im rekursiven Modus arbeitet und einige der Antworten ändert, die er basierend auf Richtlinienkriterien zurückgibt, z.B. um den Zugang zu Malware-Sites oder anstößigen Inhalten zu verhindern. Im Allgemeinen hat ein Stub-Resolver keine Ahnung, ob Upstream-Resolver eine solche Richtlinie implementieren oder, wenn sie es tun, die genaue Richtlinie darüber, welche Änderungen vorgenommen werden. In einigen Fällen hat der Benutzer des Stub-Resolvers den Richtlinien-implementierenden Resolver mit der ausdrücklichen Absicht ausgewählt, ihn zur Implementierung der Richtlinien zu verwenden. In anderen Fällen werden Richtlinien auferlegt, ohne dass der Benutzer des Stub-Resolvers informiert wird.

Offener Resolver (Open resolver): Ein Full-Service-Resolver, der Abfragen von jedem (oder fast jedem) Stub-Resolver akzeptiert und verarbeitet. Dies wird manchmal auch als "öffentlicher Resolver" bezeichnet, obwohl der Begriff "öffentlicher Resolver" mehr bei offenen Resolvern verwendet wird, die offen sein sollen, im Vergleich zur großen Mehrheit der offenen Resolver, die wahrscheinlich falsch konfiguriert sind, um offen zu sein.

View (Ansicht): Eine Konfiguration für einen DNS-Server, die es ihm ermöglicht, unterschiedliche Antworten abhängig von Attributen der Abfrage bereitzustellen. Typischerweise unterscheiden sich Views nach der Quell-IP-Adresse einer Abfrage, können aber auch basieren auf der Ziel-IP-Adresse, dem Abfragetyp (wie AXFR), ob sie rekursiv ist, und so weiter. Views werden oft verwendet, um mehr Namen oder unterschiedliche Adressen für Abfragen von "innerhalb" eines geschützten Netzwerks bereitzustellen als für diejenigen "außerhalb" dieses Netzwerks. Views sind kein standardisierter Teil des DNS, aber sie sind in Server-Software weit verbreitet implementiert.

Passives DNS (Passive DNS): Ein Mechanismus zum Sammeln großer Mengen von DNS-Daten durch Speichern von DNS-Antworten von Servern. Einige dieser Systeme sammeln auch die DNS-Abfragen, die mit den Antworten verbunden sind; dies kann Datenschutzfragen aufwerfen. Passive DNS-Datenbanken können verwendet werden, um historische Fragen zu DNS-Zonen zu beantworten, z.B. welche Records zu welchen Zeiten in der Vergangenheit für sie verfügbar waren. Passive DNS-Datenbanken ermöglichen die Suche der gespeicherten Records nach anderen Schlüsseln als nur dem Namen, wie z.B. "finde alle Namen, die A-Records eines bestimmten Werts haben".

Anycast: "Die Praxis, eine bestimmte Dienstadresse an mehreren, diskreten, autonomen Standorten verfügbar zu machen, so dass gesendete Datagramme zu einem der mehreren verfügbaren Standorte geleitet werden." (Zitiert aus [RFC4786], Abschnitt 2)