ubuntuusers.de

Sekundäre Nameserver

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Konfiguration eines sekundären DNS-Servers

Um Ausfallsicherheit zu gewährleisten, kann es sinnvoll sein, mehrere DNS-Server zu betreiben. Tatsächlich ist es sogar vorgeschrieben, dass eine öffentlich zugängliche Domain von mindestens zwei Servern bedient werden muss. Oft sind es sogar fünf oder mehr. In einem privaten Netz kommt man dagegen in der Regel mit einem aus.

Damit man die verschiedenen Server aber nicht alle einzeln konfigurieren muss, und sich bei routinemäßigen Veränderungen der Zonen Fehler bzw. Abweichungen zwischen den Zonendaten einschleichen, gibt es Zonentransfers. Dafür werden die Daten dann immer nur auf einem primären Nameserver angepasst und dieser transferiert die aktuellen Zonendaten dann an einen oder mehrere sekundäre Server weiter, so dass die Daten immer konsistent bleiben.

Für einen Client macht es keinen Unterschied, ob er mit einem primären oder einem sekundären Server kommuniziert.

Experten-Info:

Es gibt auch Szenarien, in denen man bewusst mehrere primäre Server parallel einsetzt, bspw. wenn man im lokalen Netz eine volle, im Internet aber nur eine reduzierte Zone zur Verfügung stellen will. Das liegt aber außerhalb der Reichweite dieses Artikels.

Änderungen auf dem primären Server

Als erstes muss man dem primären Server [3] beibringen, an welche Rechner er die Zonendaten überhaupt übertragen darf. Das passiert in der Datei /etc/bind/named.conf.options, wo man irgendwo im durch geschweifte Klammern eingefassten options-Block Folgendes einträgt:

        allow-transfer { transfer_erlaubt; };
        notify yes;

allow-transfer gibt dabei an, welchen Hosts ein Zonentransfer erlaubt werden soll. Die Direktive notify yes gibt an, dass der primäre Server seine Stellvertreter von selbst darauf aufmerksam macht, sobald aktualisierte Zonendateien verfügbar sind. Am besten man erstellt eine ACL vor dem options-Block statt die IP-Adressen immer manuell anzugeben. Ist kein allow-tranfer festgelegt, darf jeder die Zonendaten abfragen.

Nach den Änderungen muss der Dienst neu gestartet werden.

Achtung!

Die Unterscheidung zwischen alten und neuen Daten erfolgt ausschließlich über die Seriennummer im SOA-Header der Zone. Wenn man beim Editieren vergisst, diese zu erhöhen, findet kein Zonentransfer statt und die Slaves arbeiten mit den veralteten Daten weiter.

Experten-Info:

Man kann diese Direktiven auch in der Datei /etc/bind/named.conf.local in die jeweiligen Zonendeklarationen schreiben. So kann man mit verschiedenen Zonen unterschiedliche Slaves bedienen. Ein Server kann sogar für die eine oder andere Zone Master sein, und für andere Slave.

Einrichtung des sekundären Servers

Als erstes muss in der Datei named.conf.options eingetragen werden, von welchem Host die Benachrichtigungen kommen werden:

        allow-notify { erlaube_notify; };

Die ACL muss vorher vor dem options-Block definiert werden (s.o.). Dann müssen in named.conf.local die Zonen eingetragen werden, für die der Server als Slave agieren soll, und wer sein Master ist:

zone "example.org" {
        type slave;
        masters { 192.168.0.10; };
        file "back/example.org.bak";
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        masters { 192.168.0.10; };
        file "back/0.168.192.bak";
};

Die File-Direktiven zeigen in diesem Fall nicht auf existierende Zonendateien, sondern auf den Ort, wo der Server die erhaltenen Zonendaten ablegen soll. In diesem Fall im Verzeichnis back im Bind-Homeverzeichnis /var/cache/bind. Da dieses noch nicht existiert, muss es erst passend angelegt werden:

sudo mkdir /var/cache/bind/back
sudo chown bind /var/cache/bind/back 

Eigene Zonendateien besitzt ein sekundärer Nameserver nicht. Natürlich muss der Dienst auch hier nach der Änderung neu gestartet werden. Getestet werden kann er dann genau wie ein primärer Server.

Diese Revision wurde am 15. August 2022 18:28 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Server, Netzwerk, dns