RESOLV.CONF(5)

BEZEICHNUNG
resovl.conf - Konfigurationsdatei für den Resolver

ÜBERSICHT
/etc/resolv.conf

BESCHREIBUNG
Der Resolver ist eine Sammlung von Routinen in der C-Bibliothek, über die auf das Internet-Namenssystem (Domain Name System, DNS) zugegriffen wird. Die Konfigurationsdatei des Resolvers enthält Informationen, die beim ersten Aufruf einer Resolver-Routine durch einen Prozess eingelesen werden. Die Datei wurde menschenlesbar entworfen und enthält eine Liste von Schlüsselworten und Werten, die verschiedene Typen von Resolver-Informationen bereitstellen. Die Konfigurationsdatei wird als eine vertrauenswürdige Quelle für DNS-Informationen betrachtet (z.B. werden DNSSEC-AD-bit-Informationen unverändert aus dieser Quelle zurückgeliefert).

Wenn diese Datei nicht vorhanden ist, wird nur der Name-Server auf dem lokalen Rechner abgefragt; der Domain-Name wird vom Rechnernamen und der Domain-Suchpfad aus dem Namen der Domain abgeleitet.

Die verschiedenen Konfigurationsoptionen sind:

nameserver IP-Adresse des Name-Servers
    Die Internet-Adresse eines Name-Servers, den der Resolver abfragen soll, entweder eine IPv4-Adresse (in Punkt-Notation) oder eine IPv6-Adresse in Doppelpunkt- (und möglicherweise Punkt-)Notation gemäß RFC 2373. Es können bis zu MAXNS (derzeit 3, siehe <resolv.h>) Name-Server angegeben werden, einer je Schlüsselwort. Werden mehrere DNS-Server angegeben, wird sie der Resolver in der angegebenen Reihenfolge abfragen. Sind keine nameserver-Einträge vorhanden, wird standardmäßig der Name-Server des lokalen Systems angesprochen. (Der Algorithmus ist der folgende: Der Resolver richtet eine Anfrage an einen Name-Server und versucht es nach einer Zeitüberschreitung beim nächsten, bis alle Einträge abgearbeitet sind. Danach wird die Liste wieder von vorne abgearbeitet, bis die maximal zulässige Anzahl von Versuchen erreicht wird.)

domain lokaler Domain-Name
    Die meisten Namensabfragen innerhalb dieser Domain können Kurznamen relativ zur lokalen Domain verwenden. Falls auf '.' gesetzt, wird die Wurzel-Domain betrachtet. Gibt es keinen domain-Eintrag, wird der Domain-Name anhand des lokalen Rechnernamens ermittelt, der von gethostname(2) geliefert wird. Es wird in diesem Fall davon ausgegangen, dass die Domain der Teil des Namens ist, der rechts vom ersten '.' steht. Wenn der Rechnername keinen Domain-Teil enthält, wird die Root-Domain als Wert für domain angenommen.

search Suchliste für Rechnernamen
    Die Suchliste für die Namensauflösung wird in der Regel aus dem Namen der lokalen Domain abgeleitet und enthält standardmäßig nur diesen Namen. Dieses Verhalten kann geändert werden, indem mit dem Schlüsselwort search ein Suchpfad für die Domain-Auflösung angegeben wird, dessen Bestandteile durch Tabulatoren oder Leerzeichen voneinander zu trennen sind. Anfragen an den Resolver mit weniger als ndots Punkten (Standardwert ist 1) werden versuchen, jeden Eintrag dieses Suchpfads abzuarbeiten, bis ein gültiger Namenseintrag gefunden wurde. Für Umgebungen mit mehreren Subdomains lesen Sie bitte options ndots:n weiter unten, wie Sie »Mann-in-der-Mitte«-Angriffe und unnötigen Verkehr für die Root-DNS-Server vermeiden. Beachten Sie, dass dieser Vorgang langsam sein kann und viel Netzwerkverkehr erzeugt, wenn die DNS-Server für die betreffenden Domains nicht lokal sind. Außerdem können Anfragen mit einer Zeitüberschreitung beendet werden, wenn kein Server für eine der genannten Domains erreichbar ist.

    In Glibc 2.25 und älter ist die Suchliste auf 6 Domains und eine Gesamtlänge von 256 Zeichen beschränkt. Seit Glibc 2.26 ist die Suchliste unbegrenzt.

sortlist
    Diese Option ermöglicht die Sortierung von durch gethostbyname(3) ermittelten Adressen. Eine Sortierliste wird durch Kombinationen von IP-Adresse und Netzmaske angegeben. Die Netzmaske ist optional, es wird als Standardwert die native Netzmaske des Netzes angenommen. Die Kombinationen von IP-Adresse und Netzmaske werden durch Schrägstriche getrennt. Es können bis zu 10 Paare angegeben werden. Ein Beispiel:

    sortlist 130.155.160.0/255.255.240.0 130.155.0.0

options
    Mit dieser Option können bestimmte interne Variablen des Resolvers beeinflusst werden. Die Syntax lautet:

        options Option …

    Option kann dabei einen der folgenden Werte annehmen:

    debug
        setzt RES_DEBUG in _res.options (nur wirksam, falls Glibc mit Debug-Unterstützung gebaut wurde, siehe resolver(3)).

    ndots:n
        definiert einen Schwellwert für die Anzahl der Punkte, die in einem an res_query(3) übergebenen Namen enthalten sein müssen (siehe resolver(3)), damit ein initial absolute query ausgeführt wird. Der Standardwert für n ist 1. Das hat zur Folge, dass zunächst versucht wird, den Namen als absoluten Namen aufzulösen, bevor ihm ein Eintrag aus der search list angehängt wird. Der Wert für diese Option wird stillschweigend auf 15 begrenzt.

    timeout:n
        setzt die Wartezeit auf die Antwort eines Name-Servers in der Ferne fest, nach deren Ablauf der Resolver die Anfrage an einen anderen Name-Server richtet. Dies muss nicht die gesamte von dem Resolver-API-Aufruf verwandte Zeit sein und es gibt keine Garantie, dass ein einzelner Resolver-API-Aufruf auf eine einzelne Zeitüberschreitung passt. Sie wird in Sekunden gemessen, der Standardwert ist RES_TIMEOUT (derzeit 5, siehe <resolv.h>). Der Maximalwert für diese Option ist 30.

    attempts:n
        Diese Option legt die Anzahl der Anfragen fest, die der Resolver an seine Name-Server sendet, bevor er aufgibt und dem aufrufenden Programm einen Fehler meldet. Der Standardwert ist RES_DFLRETRY (derzeit 2, siehe <resolv.h>); der Maximalwert 5.

    rotate
        Diese Option setzt RES_ROTATE in _res.options, was eine Reihum-Auswahl der Name-Server aus der Liste zur Folge hat. Auf diese Weise werden die Anfragen auf alle aufgeführten Server verteilt, anstatt dass alle Clients sich zunächst an den ersten aufgeführten Server wenden.

    no-check-names
        Diese Option setzt RES_ROTATE in _res.options. Damit wird die moderne von BIND durchgeführte Prüfung eingehender Rechner- und E-Mail-Namen auf ungültige Zeichen wie Unterstrich (_), Steuerzeichen und andere Kodierungen als ASCII deaktiviert.

    inet6
        setzt RES_USE_INET6 in _res.options. Dadurch wird innerhalb der Funktion gethostbyname(3) zunächst eine AAAA-Anfrage vor einer A-Anfrage durchgeführt. Außerdem werden IPv4-Antworten in »IPv6 tunneled form« abgebildet, wenn keine AAAA-Einträge gefunden werden, aber ein Satz von A-Einträgen existiert. Seit Glibc 2.25 ist diese Option veraltet; Anwendungen sollten getaddrinfo(3) statt gethostbyname(3) verwenden.

    ip6-bytestring (seit Glibc 2.3.4)
        setzt RES_USE_BSTRING in _res.options. Damit verwenden inverse IPv6-Suchen das in RFC 2673 beschriebene »bit-label«-Format. Wird die Option nicht gewählt (die Vorgabe), wird das Nibble-Format verwendet. Diese Option wurde in Glibc 2.25 entfernt, da sie auf einer rückwärts-inkompatiblen DNS-Erweiterung basiert, die im Internet niemals eingesetzt worden war.

    ip6-dotint/no-ip6-dotint (Glibc 2.3.4 bis 2.24)
        Löscht/Setzt RES_NOIP6DOTINT in _res.options. Wenn diese Option gelöscht ist (ip6-dotint), werden inverse IPv6-Suchen in der ip6.int-Zone durchgeführt, wovon abgeraten wird. Wurde die Option gewählt (no-ip6-dotint), werden inverse IPv6-Suchen standardmäßig in der ip6.arpa-Zone durchgeführt. Diese Optionen sind in Glibc bis Version 2.24 verfügbar, wo no-ip6-dotint die Vorgabe ist. Da die Unterstützung von ip6-dotint seit langer Zeit nicht mehr im Internet verfügbar ist, wurden diese Optionen in Glibc 2.25 entfernt.

    edns0 (seit Glibc 2.6)
        setzt RES_USE_EDNSO in _res.options. Damit wird die Unterstützung für die in RFR 2671 beschriebenen DNS-Erweiterungen aktiviert.

    single-request (seit Glibc 2.10)
        setzt RES_SNGLKUP in _res.options. Standardmäßig erledigt die Glibc seit Version 2.9 das Abfragen von IPv4- und IPv6-Adressen parallel. Diese Anfragen können einige Appliance-DNS-Server nicht korrekt verarbeiten und führen zu Zeitüberschreitungen (timeouts). Diese Option deaktiviert die parallelen Anfragen und lässt Glibc die IPv6-und IPv4-Anfragen nacheinander erledigen (wodurch der Prozess etwas langsamer wird).

    single-request-reopen (seit Glibc 2.9)
        setzt RES_SNGLKUPREOP in _res.options. Der Resolver verwendet die gleichen Sockets für die A- und AAAA-Anfragen. Einige Hardware sendet fälschlicherweise nur eine Antwort zurück. Wenn das passiert, wird das Client-System auf die zweite Antwort warten. Das Einschalten dieser Option ändert das Verhalten: Wenn zwei Anfragen von dem gleichen Port nicht korrekt gehandhabt werden wird es das Socket schließen und einen neuen vor dem Versand der zweiten Anfrage öffnen.

    no-tld-query (seit Glibc 2.14)
        setzt RES_NOTLDQUERY in _res.options. Diese Option führt dazu, dass res_nsearch() nicht versucht, einen nicht qualifizierten Namen aufzulösen, als ob er ein »top level domain« (TLD) wäre. Diese Option kann zu Problemen führen, falls die Site »localhost« als TLD verwendet, statt »localhost« als ein oder mehrere Elemente auf der Suchliste zu haben. Diese Option hat keinen Effekt, falls weder RES_DEFNAMES noch RES_DNSRCH gesetzt ist.

    use-vc (seit Glibc 2.14)
        setzt RES_USEVC in _res.options. Diese Option erzwingt die Verwendung von TCP für DNS-Auflösungen.

    no-reload (seit Glibc 2.26)
        setzt RES_NORELOAD in _res.options. Diese Option deaktivert das automatische Neuladen einer geänderten Konfigurationsdatei.

Die Schlüsselwörter domain und search schließen sich gegenseitig aus. Falls die Schlüsselwörter mehr als einmal vorkommen, wird der zuletzt gefundene Eintrag berücksichtigt.

Das Schlüsselwort search aus der resolv.conf eines Systems kann von Prozessen individuell außer Kraft gesetzt werden, indem der Umgebungsvariablen LOCALDOMAIN eine Liste von durch Leerzeichen getrennten Domains zugewiesen wird.

Das Schlüsselwort options der systemweiten resolv.conf-Datei kann von Prozessen individuell ergänzt werden, indem die Umgebungsvariable RES_OPTIONS auf eine Liste von durch Leerzeichen getrennten Resolver-Optionen gesetzt wird, wie sie unter options beschrieben wurden.

Konfigurationsoptionen und ihre Werte müssen gemeinsam auf einer Zeile stehen. Die Zeile muss mit dem Namen der Konfigurationsoption (z.B. nameserver) beginnen. Auf den Namen der Konfigurationsoption folgt der Wert, bzw. folgen die Werte. Alle Felder sind durch Leerzeichen oder Tabulator zu trennen.

Zeilen, die ein Semikolon (;) oder ein Nummernzeichen (#) in der ersten Spalte enthalten, werden als Kommentare behandelt.

DATEIEN
/etc/resolv.conf, <resolv.h>

SIEHE AUCH
gethostbyname(3), resolver(3), host.conf(5), hosts(5), nsswitch.conf(5), hostname(7), named(8)

Name Server Operations Guide for BIND

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 5.03 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schmitt <martin@schmitt.li>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer <toddy@debian.org> und Helge Kreutzmann <debian@helgefjell.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.