resovl.conf - Konfigurationsdatei für den Resolver
ÜBERSICHT
/etc/resolv.conf
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; lesen Sie die nachfolgende Option
trust-ad für Details.
Wenn diese Datei nicht vorhanden ist, wird nur der Name-Server auf
dem lokalen Rechner abgefragt und die Suchliste enthält nur den aus
dem Rechnernamen ermittelten lokalen Domain-Namen.
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.)
- search Suchliste
für Rechnernamen
- Standardmäßig enthält die Suchliste nur einen
Eintrag, den lokalen Domain-Namen. Er wird anhand des lokalen
Rechnernamens ermittelt, der von gethostname(2) geliefert wird. Es
wird in diesem Fall davon ausgegangen, dass die lokale Domain der Teil des
Namens ist, der rechts vom ersten '.' steht. Wenn der Rechnername kein '.'
enthält, wird die Root-Domain als Wert für die lokale Domain
angenommen.
- 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.
- Falls es mehrere search-Direktiven gibt, wird nur die Suchliste der
letzten Instanz verwandt.
- 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.
- Die Direktive domain ist ein veralteter Name für die
Direktive search, die nur mit einem Suchlisteneintrag umgeht.
- 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.
Wenn diese Option gewählt wurde, verhalten sich einige
Programme recht merkwürdig.
- ip6-bytestring (seit
Glibc 2.3.4 bis 2.24)
- 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 deaktiviert
das automatische Neuladen einer geänderten
Konfigurationsdatei.
- trust-ad (seit Glibc
2.31)
- setzt RES_TRUSTAD in _res.options. Diese Option steuert das
Bit AD-Bit-Verhalten des Stub-Resolvers. Falls ein
überprüfender Resolver das AD-Bit in einer Antwort setzt,
zeigt er an, dass die Daten in der Antwort entsprechend des
DNSSSEC-Protokolls überprüft wurden. Um sich auf das AD-Bit
zu verlassen, muss das lokale System sowohl dem
DNSSEC-überprüfenden Resolver als auch dem dahin
führenden Netzwerkpfad vertrauen, weshalb eine ausdrückliche
Zustimmung zur Nutzung notwendig ist. Falls die Option trust-ad
aktiv ist, setzt der Stub-Resolver das AD-Bit in ausgehenden DNS-Anfragen
(um AD-Bit-Unterstützung zu aktivieren) und behält das
AD-Bit in Antworten bei. Ohne diese Option wird das AD-Bit in Anfragen
nicht gesetzt und immer in Antworten entfernt, bevor diese an die
Anwendung zurückgeliefert werden. Das bedeutet, dass Anwendungen
dem AD-Bit in Antworten vertrauen können, wenn die Option
trust-ad korrekt eingerichtet wurde.
- In Glibc bis Version 2.30 wurde AD in Abfrage nicht automatisch gesetzt
und in Antworten an Anwendungen unverändert weitergegeben.
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.
/etc/resolv.conf, <resolv.h>
Diese Seite ist Teil der Veröffentlichung 5.10 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 die
Mailingliste
der Übersetzer.