40.2. Nameserver BIND starten

Der Nameserver BIND (Berkeley Internet Name Domain) ist auf SUSE Linux bereits soweit vorkonfiguriert, dass man ihn problemlos sofort nach der Installation starten kann. Hat man bereits eine funktionsfähige Internetverbindung und trägt in der /etc/resolv.conf als Nameserver 127.0.0.1 für localhost ein, hat man in der Regel schon eine funktionierende Namensauflösung, ohne dass man den DNS des Providers kennt. BIND führt so die Namensauflösung über die Root-Nameserver durch, was aber merklich langsamer ist. Normalerweise sollte man den DNS des Providers mit seiner IP-Adresse in der Konfigurationsdatei /etc/named.conf unter forwarders eintragen, um eine effektive und sichere Namensauflösung zu erhalten. Funktioniert das soweit, läuft der Nameserver als reiner „Caching-only“-Nameserver. Erst wenn man ihm eigene Zonen bereitstellt, wird er ein richtiger DNS werden. Ein einfaches Beispiel dafür, findet man im Dokumentations-Verzeichnis /usr/share/doc/packages/bind/sample-config.

[Tip]Automatische Angabe des Nameservers

Je nach Art des Internetzugangs oder nach aktueller Netzwerkumgebung kann der Nameserver automatisch für die jeweiligen Gegebenheiten eingestellt werden. Setzen Sie hierzu in der Datei /etc/sysconfig/network/config die Variable MODIFY_NAMED_CONF_DYNAMICALLY auf den Wert yes.

Man sollte allerdings keine offizielle Domain aufsetzen, solange man diese nicht von der zuständigen Institution — für .de ist das die DENIC eG — zugewiesen bekommen hat. Auch wenn man eine eigene Domain hat, diese aber vom Provider verwaltet wird, sollte man diese besser nicht verwenden, da BIND sonst keine Anfragen für diese Domain mehr forwarden (weiterleiten) würde und so zum Beispiel der Webserver beim Provider für die eigene Domain nicht mehr erreichbar wäre.

Um den Nameserver zu starten, gibt man auf der Kommandozeile den Befehl rcnamed start als root ein. Erscheint rechts in grün „done“, ist der named, so heißt der Nameserver-Prozess, erfolgreich gestartet. Auf dem lokalen System kann man die Funktionsfähigkeit des Nameservers sofort testen, indem man die Programme host oder dig verwendet. Als Default-Server muss localhost mit der Adresse 127.0.0.1 angezeigt werden. Sollte das nicht der Fall sein, steht wahrscheinlich in der /etc/resolv.conf ein falscher Nameserver oder diese Datei existiert gar nicht. Für einen ersten Test gibt man host 127.0.0.1 ein, das sollte immer funktionieren; erhält man eine Fehlermeldung, sollte man mit dem Befehl rcnamed status überprüfen, ob der named überhaupt läuft Falls der Nameserver nicht startet oder ein fehlerhaftes Verhalten zeigt, findet man die Ursache in den meisten Fällen in /var/log/messages protokolliert.

Um den Nameserver des Providers oder um einen eigenen, der bereits im lokalen Netz läuft, als „Forwarder“ zu verwenden, trägt man diesen oder auch mehrere, im Abschnitt options unter forwarders ein; die in Beispiel 40.1, „Forwarding-Optionen in named.conf“ verwendeten IP-Adressen sind willkürlich gewählt und müssen entsprechend den eigenen Gegebenheiten angepasst werden.

Beispiel 40.1. Forwarding-Optionen in named.conf

options { 
        directory "/var/lib/named";
        forwarders { 10.11.12.13; 10.11.12.14; };
        listen-on { 127.0.0.1; 192.168.0.99; };
        allow-query { 127/8; 192.168.0/24; };
        notify no;
        };

Nach den options folgen die Einträge für die Zonen, die Einträge für localhost, 0.0.127.in-addr.arpa, sowie . vom type hint sollten immer vorhanden sein. Die zugehörigen Dateien müssen nicht verändert werden, da sie so funktionieren wie sie sind. Beachten muss man auch, dass nach jedem Eintrag ein ; steht und die geschweiften Klammern korrekt gesetzt sind. Hat man nun Änderungen an der Konfigurationsdatei /etc/named.conf oder an den Zonen-Dateien vorgenommen, muss man BIND mit dem Kommando rcnamed reload dazu veranlassen, diese neu einzulesen. Alternativ kann man den Nameserver auch komplett mit dem Befehl rcnamed restart neu starten. Mit dem Kommando rcnamed stop kann man den Nameserver jederzeit komplett beenden.