BIND ist der im Internet "übliche" NameServer, mit dem das DNS-System aufgebaut ist.
Homepage: http://www.isc.org/products/BIND/
Lizenz: BSD-Style
Inhaltsverzeichnis
Einführung
Mit BIND lassen sich:
Hostnamen (FQDN) zu IP-Adressen auflösen (forward lookup)
IP-Adressen zu Hostnamen (FQDN) (reverse lookup)
- Informationen an Mailserver übertragen welcher Host die Emails für eine Domain annimmt
- Sonstige Informationen (Update-Intervalle) verteilen
Konfiguration
Beispiel named.conf
Hier mal eine (etwas vereinfachte) Konfiguration am Beispiel:
named.conf-Abschnitt:
zone "linuxmaster.example" { type master; file "/etc/bind/db/linuxmaster.db"; };
Beispiel Zonen-Datei
Zone-File /etc/bind/db/linuxmaster.db:
$TTL 3600 @ IN SOA ns.linuxmaster.example. root.linuxmaster.example. ( 2003090601 ; Serial 10000 ; Refresh 10000..86400 1800 ; Retry 1800..28800 604800 ; Expire 604800..3600000 3600 ) ; Negative Cache TTL IN NS ns.linuxmaster.example. IN NS ns.slavezone.example. IN MX 10 mail.linuxmaster.example. IN MX 100 mail.slavezone.example. IN A 192.168.0.1 www IN CNAME @
Erläuterungen:
- die $TTL ist recht kurz gewählt
der SOA-Record enthält als Kommentar die für die DENIC vorgeschriebenen Nameserver- und NSentry-Einträge.
Die Denic verlangt zwei Nameserver für eine .de-Topleveldomain; für eine Konfiguration eines LAN reicht natürlich auch ein DNS
- Mail geht auf mail.linuxmaster.example und nur falls der nicht erreichbar ist zu mail.slavezone.example
- in der nächsten Zeile wird der Host www in dieser Zone als CNAME für die Zone definiert.
Die Serial (Serien)-Nummer in der Zonendatei muss bei jedem editieren erhöht werden, damit bei einem Reload auch eine Änderung vollzogen wird (und auch andere Nameserver die neue Version erkennen)!
Tipps & Tricks
das Kommentarzeichen von Bind ist ; (für einzeilige Kommentare)
Man hüte sich davor, etwas anderes (wie z.B. #) zu verwenden, weil dies dann nicht auskommentiert, sondern dazu führt, dass der komplette Rest einer Zone falsch interpretiert wird.
Man hüte sich ebenfalls davor am Ende einer Zonen-Datei keinen Zeilenumbruch zu machen; hierbei liest BIND die Zonendatei nicht einwandfrei ein und meldet den Fehler nach erfolgtem Neu-Einlesen (oder Neustart) nur in der Log-Datei
Bedienung
Auch BIND läuft als Dämon. D.h. die meisten Distributionen haben auch entsprechende Initskripte, mit denen der Nameserver gestartet oder gestoppt wird. Es ist aber auch möglich mit dem Programm rndc Befehle auszuführen. Die Eingabe von rndc in der Kommandozeile listet alle möglichen Befehle der Version, die auf Deinem Server installiert ist. Möglich ist z.B.:
rndc reload zone linuxmaster.example - lädt nur eine Zone neu.
rndc reconfig - Die named.conf wird neu eingelesen
Dadurch muß man nicht jedes mal den ganzen BIND neu laden, nur weil es in einer Zone eine kleine Änderung gab.
Hier eine Beispielkonfiguration:
named.conf:
include "/etc/bind/rndc.key"; controls { inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc; }; };
rndc.conf:
options { default-server ::1; default-key rndc; }; server ::1 { key rndc; }; include "/etc/bind/rndc.key";
rndc.key:
key "rndc" { algorithm hmac-md5; secret "qjzN53QiOn7ZCs+/1+EIGTqTU0OvMlkQDUPsu2+x1jQp2KdQckp3nxS2 5LTxx88nQR8SZ8SMled1TrmV8t8ESQ=="; };
Das secret generiert man über dnssec-keygen -a hmac-md5 -b 512 -n HOST temp.key - aus temp.key.* muss man sich dann den Key rauskopieren und in rndc.key einfügen.
Webschnittstellen
Sehr praktisch zum Verwalten von den Zonen ist Webmin. Dafür gibt es ein Modul für BIND, das auch mit dem neueren BIND 9.x funktioniert. Webmin übernimmt z.B. die Verwaltung der Seriennummer in den Zonendateien (so vergisst man nicht, diese zu erhöhen) - und er zeichnet auch Änderungen auf und ermöglicht es mehreren Leuten gleichzeitig Änderungen an BIND vorzunehmen. Da das Modul aber nicht zu BIND dazu gehört gibt es keine Garantie, das es auch immer fehlerfrei läuft. Es ist zu empfehlen trotz allem die Syntax und die Begriffe bei BIND zu erlernen, da auch Zonen, die man mit Webmin anlegt Wissen erfordern. Ein falsch konfigurierter BIND kann durchaus für massive Probleme sorgen! Sorgfalt ist angesagt!
Links:
Das DNS-Buch - man muss dieses Buch von O'Reilly nicht wirklich haben. Das HowTo und die eine oder andere Suche bei Google tun es - ein bißchen Kreativität vorausgesetzt - auch ganz ordentlich.