Thema: DNS Master – DNS Slave

[1.0] [2.0] [3.0] [3.1] [4.0] [5.0]

5.0 DNS: Master – Slave
Auch in einem eigenen (kleinem) Netzwerk kann die Ausfallsicherheit des DNS-Server einem Administrator das Leben erheblich vereinfachen und man kann auch an EDV-Freien Tagen ohne Furcht anderen Dingen frönen. Es stlett sich nur die Frage wie?
Man kann dabei zwei Wege einschlagen.
1. Möglichkeit
Es wird ein 2. DNS-Server auf einer anderen Hardware (z.B.: Raspberry Pi) eingerichtet. Dies geschieht indem man zum einen den DNS-Server ganz normal installiert. Zum Schluß wird das Verzeichnis ‚/etc/bind/‚ vom ersten DNS-Server in das Verzeichnis des 2. DNS-Server (z.B.: Raspberry Pi) kopiert.
Wichtig hierbei ist darauf zu achten, das die Versionen der beiden Bind-Name DNS Server identisch sind.
Anzeige der Version:   ‚named -v
Es muss nur darauf geachtet das die beiden DNS-Server immer auf dem gleichen Stand gehalten werden. Dies ist in einem kleinen Netzwerk zwar recht einfach zu händeln, aber mit der Zeit kann es doch recht lästig werden.

2. Möglichkeit
Die Einführung eines zweiten DNS-Server als ‚Slave‘ System. Auch hier muss als erstes ein zweiter DNS-Server auf einem anderen Server-System installiert werden. Im zweiten Schritt wird dieser DNS-Server nicht als ‚Master‘ sondern als ‚Slave‘ konfiguriert. Durch diese Maßnahme der Konfiguration werden aktiv vom Master die Zonendateien auf den Slave übertragen.  Der Administrator muss nicht mehr die Dateien  (Zonen) von zwei DNS-Servern pflegen. Dies ist eine enorme Erleichterung und eine Verringerung der Fehleranfälligkeit.
Ein Punkt ist jedoch von ganz großer Bedeutung.
Das Mischen von DNS-Server Versionen ist zwar möglich, aber ab der Version 9.9 des DNS-Servers hat sich das Dateiformat der Zonendatei beim dem Slave geändert.  Leider wird diese Tatsache in vielen Anleitungen für DNS-Slave einfach verschwiegen oder es wird der Einfachheit nur mit Bind bis Version 9.8 gearbeitet!
Dieses neue Dateiformat nennt sich „RAW binary“ und ist nicht mehr so einfach zu lesen, bzw. zu editieren, da es sich um ein kompaktes Fileformat handelt indem sämtliche Kommentare beim Transferierung vom Master zum Slave verloren gehen. Damit es wieder überhaupt einigermaßen lesbar wird, wird ab der Version 9.9 ein Programm beigelegt, das dieses „RAW“-Format in ein lesbares „Text“-Format konvertiert. Dieses Konvertierungsprogramm kann die Zonendateien von „RAW -> Text“ oder von „Text -> RAW“ konvertieren.
Programm heißt:
„RAW -> TEXT“
named-compilezone -f raw -F text -o example.net.text example.net example.net.raw
„TEXT -> RAW“
named-compilezone -f text -F raw -o example.net.raw example.net example.net.text

Hier ein Beispiel aus meinem Netzwerk:
z.B.: named-compilezone -f raw -F text -o db.intern.lan.text intern.lan db.intern.lan

Damit diese Konvertierung entfallen kann und die Zonendateien in Textform abgespeichert werden, muss in der Datei:
named.conf  bzw. named.conf.option folgende Zusatz hinzugefügt werden:
masterfile-format text;

Hier ein Beispiel des Master – Slave DNS-Systems, wie ich es in meinem Netzwerk einsetze:

Dateien des Masters:
Raspberry PI mit OS:
BIND-DNS:
named -v ->  BIND 9.8.4-rpz2+rl005.12-P1

/etc/bind/named.conf

/etc/bind/named.conf.options

/etc/bind/named.conf.local

Zonen-Dateien – Master:

/etc/bind/zones/db.intern.lan

/etc/bind/zones/db.rev.0.168.192


Dateien des Slaves:
Raspberry PI mit OS: ubuntu 16.04
BIND-DNS:
named -v -> BIND 9.10.3-P4-Ubuntu
/etc/bind/named.conf

/etc/bind/named.conf.options

/etc/bind/named.conf.local

Zonen-Dateien – Slave:
z.B.:
/etc/bind/zones/db.intern.lan
(transfer-Datei von Master -> Slave im Format: Text)

/etc/bind/zones/db.rev.0.168.192

 

Quellen und Literaturhinweise:
Die Literatur zu diesem thema ist leider etwas veraltet, aber trotzdem ist sehr lehrreich. Stand der Literatur ca. 2007, leider wird dieses Thema nur noch stiefmütterlich behandelt. Aktuelle Ergänzungen sind leider nur noch übers Internet zu bekommen. Aber mit dem gefundenem Wissen sollte man recht vorsichtig bzw. umsichtig umgehen.
Linux Version und Bind Version muss genauestens überprüft werden.
Dies gilt natürlich auch für meine eigene Publikation.

  1. DNS & Bind GE-PACKT von Johannes Franken , Verlag mitp
  2. DNS/DHCP Grundlagen und Praxis von Konstatinos Agouros,
    Verlag Opensource Press
  3. DNS und Bind von Paul Albitz, Cricket Liu, Verlag O’Reilly
  4. Pro DNS and Bind Auflage 10 von Ron Altchison (aktuelle Wissensstand)
  5. Linux-Administrationshandbuch von Nemeth-Snyder-Hein,
    open source library, Verlag Addison-Wesley
  6. Zytrax DNS
  7. Bind9.net
  8. ISC FTP
  9. Internet Systems Consortium