orm@doc-tcpip.org

Erstellt: November 2000 - Letzte Modifikation: November 2005

[ Main | Local ]


Der Resolver

Variablen, Files

Files zur Konfiguration des Resolvers

Der Resolver ist der Client im DNS. Er wird dann gestartet, wenn eine Applikation über die entsprechenden Routinen (gethostbyname etc.) einen Namen oder eine Adresse auflösen möchte. Der Resolver greift auf 3 Files zu, die entsprechend eingerichtet sein müßen. Die /etc/hosts und die /etc/resolv.conf finden sich so auf fast allen Unixen. Das File /etc/netsvc.conf ist Derivat spezifisch, es unterscheidet sich im Namen und in der Funktion. Hier ist AIX als Betriebssystem gegeben.

/etc/resolv.conf: Existiert dieses File, versucht der Resolver, über das DNS die Namen aufzulösen. Es enthält zumindest Einträge mit Name-Server Adressen (max. 3) und Domain bzw. Search Direktiven. Das File macht ein System also zu einem DNS Client.

Im nameserver-Statement werden die vorhandenen Nameserver, die dieser Client erreichen kann, mit ihrer IP-Adresse angegeben. Drei dieser Statements sind möglich, und pro Statement können drei IP-Adressen spezifiziert werden (reichlich Overkill).

Das domain-Statement spezifiziert die Domäne, in der der Rechner steht. Diese wird vom Resolver automatisch an alle Anfragen angehängt. Das search -Statement ist ähnlich, nur daß man mehrere Domänen oder Teile angeben kann, die dann nach einander in den Anfragen benutzt werden - bis eine Antwort vom Server erhalten wird.

Ein weiteres Statement ist das ndots:-Statement. Damit kann bei längeren Domänen-Namen die Anzahl der Punkte angegeben werden, die beachtet werden sollen. Diese Anzahl wird dann gezählt und nur der entsprechende Teil an den Namen angehängt.

Ist die /etc/resolv.conf leer, so wird die lokale Maschine als Nameserver betrachtet.

/etc/netsvc.conf: Dient zur Konfiguration der Reihenfolge, in der die Namensauflösung versucht wird. Standardsequenz ist: DNS, NIS, und /etc/hosts. Mit diesem File kann man die Reihenfolge ändern. Die zugelassenen Optionen sind local,bind,nis. Wobei local und bind mit 4 bzw. 6 Lookups nur im für IPv4 und IPv6 spezifischen Format zulassen. Festgelegt wird die Reihenfolge der Wege, über die eine Abfrage versucht wird. Nach einem Timeout wird der nächste Weg probiert. Man kann einen bestimmten Service "authoritär" machen; liefert er ein negatives Ergebnis, wird nicht weitergegangen (hosts= bind=auth,local).

/etc/irs.conf: Dient zur Konfiguration verschiedener System-Services und beinflußt daher auch die Namensauflösung.

/etc/hosts: Einfaches Textfile zur Namens- und Adressauflösung. Es sollte immer existieren und zumindest einen Eintrag für die Namen und Adressen der Maschine sowie für den Loopback haben (weil beim Booten noch kein Resolver läuft). Ist per Default angelegt.

Umgebungsvariablen zur Konfiguration des Resolvers

Der Resolver fragt bei jedem Aufruf eine Reihe an Variablen ab. Diese Variablen kann teilweise der User setzen. Sollen alle User auf der Maschine die entsprechenden Setzungen nutzen, so sind die Variablen in der /etc/environment einzutragen.

Alle Variablen und Setzungen finden sich im Header-File resolv.h (irgendwo unter /usr/include).

RES_TIMEOUT: Die Zeit, die der Resolver auf eine Antwort vom Server wartet. Standard sind 4 Sekunden. Allerdings wird ein Backoff-Algorithmus benutzt, die Zeit wird also immer länger. Bei Standard-Einstellungen ist der Timeout für eine erfolglose Anfrage etwa 70 Sekunden (wegen RES_RETRY.

RES_RETRIES: Die Anzahl der Versuche, die der Resolver bei einem Server macht, bevor er den Nächsten versucht oder einen Fehler zurück gibt. Standard ist 4. Setzt man diese Variable auf Null, dann macht der Resolver garkeine Namensauflösung mehr.

NSORDER: Legt die Reihenfolge fest, in der der Resolver die verschiedenen Services abfragt. Gültig sind local,bind,nis in der gewünschten Reihenfolge. Überspielt die /etc/netsvc.conf. Und wird sicherlich dauernd an neue Gegebenheiten (z.B. LDAP?) angepaßt - ein Blick in die Man-page schadet hier nicht.

LOCALDOMAIN: Setzt die lokale Domäne, überspielt dabei die /etc/resolv.conf.

Resolver Kommandos

Das host-Kommando.
Dient zum Testen und Abfragen der Namensauflösung. Benutzt Standard Resolver Routinen, sieht die Umgebung also genauso wie eine beliebige Applikation. Ein typischer Gebrauch (unter AIX) zum Testen wäre:
host -n -d hostname

Das nslookup-Kommandoa.
Dient zur Abfrage von Name-Servern. Man kann verschiedene RR (Resource Record) Typen abfragen, z.B. A (Adress), PTR (Pointer) oder MX (Mail Exchanger) Records. Man kann es auf der Kommandozeile nutzen, wie auch Interaktiv damit arbeiten. Es bringt seine eigenen Routinen mit! Ein Applikation kann das Ganze also anders sehen.


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )