Nameserver BIND

Wenn sich im lokalen Netzwerk mehrere Rechner befinden, ist es sinnvoll, auf dem Linux-Server einen Nameserver einzurichten. Dies hat den Vorteil, dass man die Namen für die verschiedenen Rechner des lokalen Netzes zentral und nur einmal einzutragen braucht. Ohne Nameserver müsste man diese Einträge in den "hosts"-Dateien jedes einzelnen Rechners vornehmen.

Der Nameserver beantwortet alle Anfragen, die er selber beantworten kann. Alle anderen Anfragen leitet er an andere, äußere Nameserver weiter. Dies sind zumeist die Nameserver des eigenen Providers.

Damit der Nameserver Anfragen beantworten kann, wird für jede Domäne eine Zonendatei und eine zugehörige Datei für das Revers-Lookup benötigt. In diesen Dateien sind dann die Namen und IP-Adressen der Hosts der Domäne verzeichnet. Für das hier beschriebene lokale Netz soll beispielhaft der Name der Domäne "local.netw" lauten. Es kann aber auch jeder andere Name verwendet werden.


    Einrichtung des Nameservers

  • Mit YaST Paket bind9 (n) installieren. BIND ist der Standard-Nameserver.

  • Die Konfigurationsdatei /etc/named.conf wird um die externen Nameserver und die Einträge für die Zonen- und Revers-Dateien erweitert. (siehe Anhang 1).

    Wenn man einen Router zur Verbindung zum Internet verwendet, und auf diesem ein Nameserver läuft, kann man auch den Router als externen Nameserver eintragen. Der Router holt sich die Adressen der Nameserver des Providers bei der Einwahl selbst, so dass der Router immer die aktuellen Nameserveradressen hat. Der Eintrag des externen Nameservers in der Datei /etc/named.conf kann dann fest auf den Router eingestellt bleiben.

  • Im Verzeichnis /var/named werden die zusätzlichen Zonen- und Reversdateien angelegt.

    • Die Datei /var/named/localnetw.zone wird für die Domäne local.netw für die Namensauflösung eingerichtet. (siehe Anhang 2).

    • Die Datei /var/named/localnetw.rev wird für die Domäne local.netw für das Revers-Lookup eingerichtet. (siehe Anhang 3).

    • Die Dateinamen "localnetw" können dabei beliebig gewählt werden, müssen aber mit den Bezeichnungen in der Datei /etc/named.conf übereinstimmen.

    • Die Dateien *.zone und *.rev müssen sorgfältig erstellt werden, da sie offenbar etwas empfindlich gegen falsche Zeichen sind. Auszuprobieren ist ggf. auch, Tabs statt Spaces zu verwenden.

    • Im Verzeichnis /var/lib/named sind bereits die Zonen- und Revers-Dateien für "localhost", /var/named/localhost.zone und /var/named/127.0.0.zone vorhanden.

    • In der Datei /var/named/root.hint stehen die Root-Nameserver. An diese Root-Nameserver wendet sich der lokale Nameserver, wenn er die Anfragen weder selbst beantworten kann noch Antworten von den eingetragenen externen Nameservern bekommmt.

    Anhand der Zonendateien wird augenfällig, dass die Namen www, irc, ftp, mail usw., die man so oft im Browser eingibt, nichts anderes sind als Alias-Namen für Hosts.

  • Bei der Netzwerkkonfiguration des Linux-Servers, auf dem der Nameserver läuft, wird nun der eigene Server als Nameserver eingetragen. Damit richtet dieser Rechner alle Nameserveranfragen zunächst an den eigenen Nameserver (also an den, der auf ihm selber läuft).

  • Mit dem Kommando "insserv named" wird der Nameserver beim Booten bereits mit gestartet.

  • Der Nameserver kann über folgende Kommandos gesteuert werden:

    • rcnamed start (Start des Nameservers)
    • rcnamed stop (Stop des Nameservers)
    • rcnamed restart (Restart des Nameservers)
    • rcnamed status (Status des Nameservers ausgeben)

    Nach einer Änderung der Konfiguration des Nameservers muss dieser neu gestartet werden.

  • Ein Test, z.B. mit "ping" zu einem bekannten Internethost, sollte nun zeigen, ob der so eingerichtete Nameserver wie gewünscht funktioniert.

  • Wenn im LAN ein Nameserver läuft, brauchen die Rechner des LAN nicht in die Hosts-Dateien der einzelnen Rechner eingetragen zu werden. Wenn man jedoch Namen in die Hosts-Dateien einträgt, werden diese bei der Namensauflösung vorrangig vor dem Nameserver verwendet. Man kann also die Hosts-Datei auf dem eigenen PC verwenden, um die im Nameserver eingetragenen Namen zu "überschreiben".

    Auf einem Windows-PC ist die Hosts-Datei c:\windows\hosts, auf einem Linux-PC /etc/hosts. Beispiel für die zusätzlichen Einträge in einer Hosts-Datei:

      192.168.0.1   winpc.local.netw     winpc
      192.168.0.2   linuxpc.local.netw   linuxpc
      192.168.0.3   otherpc.local.netw   hugo

    In der dritten Spalte der Hosts-Dateien stehen die Aliasnamen, die beliebig sein können.


    Nameserver-Einstellungen im lokalen Netz:

Auf den anderen Rechnern des lokalen Netzes wird nun der Linux-Server, auf dem der Nameserver läuft, als Nameserver eingetragen. Wenn auf dem Linux-Server auch ein DHCP-Server läuft, kann die Nameserveradresse auch automatisch bezogen werden.

Unter Windows ist die Nameserverkonfiguration unter "Systemeinstellungen / Netzwerkverbindungen" zu finden.


    Links

Internet Software Consortium ... BIND ... Domain Name System Server


Anhang 1: Datei /etc/named.conf (Auszug)

# File /etc/named.conf

options {

  directory "/var/named";
  # ...

  forwarders {
	
     # Dieser Abschnitt enthält die IP-Adressen der Nameserver,
     # an die der lokale Nameserver diejenigen Anfragen
     # weiterschickt, die er nicht selbst beantworten kann.
     # In der Regel sind dies die Nameserver des Providers.

     # Externe Nameserver (Bsp.)
     123.123.123.123;
     234.234.234.234;

     # Wenn ein Router zur Einwahl ins Internet verwendet wird,
     # auf dem ein Nameserver läuft, kann dieser auch als
     # externer Nameserver eingetragen werden (Bsp.):
     # 192.168.0.100

     # ...

  };

};

# zone files (standardmäßig)

zone "." IN {
        type hint;
        file "root.hint";
};

zone "localhost" IN {
	type master;
	file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "127.0.0.zone";
};

# Weitere zone files (für das lokale Netz)

zone "local.netw" IN {
	type master;
        file "localnetw.zone";
};

zone "168.192.in-addr.arpa" IN {
	type master;
        file "localnetw.rev";
};


Anhang 2: Datei /var/named/localnetw.zone

; File /var/named/localnetw.zone
;
; $ORIGIN local.netw
;
$TTL      1D
@         IN SOA      linuxpc.local.netw. root.local.netw. (
                      3       ; serial (bei Aenderungen inkrementieren)
                      3H      ; refresh
                      15M     ; retry
                      1W      ; expire
                      1D )    ; minimum
;
;name server
          IN NS       linuxpc.local.netw.
;
;mail
          IN MX 10    linuxpc.local.netw.
;
;host addresses
;
winpc     IN A        192.168.0.1
linuxpc   IN A        192.168.0.2
otherpc   IN A        192.168.0.3
;
;
;aliases
;
www       IN CNAME    linuxpc
irc       IN CNAME    linuxpc
mail      IN CNAME    linuxpc
ftp       IN CNAME    linuxpc
news      IN CNAME    linuxpc
ntp       IN CNAME    linuxpc

Anhang 3: Datei /var/named/localnetw.rev

; File /var/named/localnetw.rev
;
$TTL      1D
@         IN SOA      linuxpc.local.netw. root.local.netw. (
                      3       ; serial (bei Aenderungen inkrementieren)
                      3H      ; refresh
                      15M     ; retry
                      1W      ; expire
                      1D )    ; minimum
;
; $ORIGIN 168.192.in-addr.arpa.
;
          IN NS       linuxpc.local.netw.
;
1.0       IN PTR      winpc.local.netw.
2.0       IN PTR      linuxpc.local.netw.
3.0       IN PTR      otherpc.local.netw.

Nach oben

© 1996-2022 Alfred Fokken