Konfiguration und Betrieb eines Nameservers, Teil 2

Nameserver (NS)

Für jeden Nameserver in der Zone muss hier ein Eintrag existieren. Mit diesem Eintrag wird eine neue Zone erzeugt und delegiert. Der erste Eintrag ist der Name der Zone, die bearbeitet wird, der letzte Eintrag ist der Name des verantwortlichen Nameservers. Jede Zone sollte mindestens zwei Nameserver (je einen primären und sekundären) besitzen, damit beim Ausfall eines Rechners der Name-Service weiter funktioniert. Diese Rechner sollten außerdem in verschiedenen Subnetzen bzw. im Internet bei verschiedenen Providern angebunden sein. Damit ist auch ein Router- oder Leitungsausfall zu überstehen.

Für jede Zone gibt es zwei, hoffentlich zueinander passende Definitionen für Nameserver: in der übergeordneten Zone, in der die neu definierte Zone delegiert wird, und in der Zone selbst. Nur diese beiden Einträge gemeinsam machen eine vollständig und korrekt delegierte Zone aus.

Eine beliebte Fehlerkonstellation ist, dass ein Nameserver betrieben wird, der nicht autorisiert ist (für den also im übergeordneten Nameserver (Parent-Name-Server) kein NS-Record existiert), oder ein Rechner als (sekundärer) Nameserver eingetragen ist, obwohl dort kein named läuft. Wenn ein System im NS-Record eingetragen, aber selbst nicht zuständig ist (also keinen primary- oder secondary-Eintrag in der named.boot hat), so spricht man von einer „Lame Delegation“.

name {ttl} addr-class NS Name servers name
IN NS janus.jochen.org.

In den Quellen von BIND sind verschiedene Skripten enthalten, die die Zonen nach Fehlern und Inkonsistenzen durchsuchen. Leider sind diese Skripten nur selten bei Linux-Distributionen installiert. Bei kommerziellen Systemen sind sie in der Regel auch nicht vorhanden. Sie sollten in jedem Fall den Quellcode von BIND installieren, die mitgelieferte Dokumentation lesen und sich die Skripten ansehen. Außerdem gibt es externe Pakete wie dnslint, die ebenfalls erweiterte Prüfungen durchführen.