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.
|