In dem Verzeichnis, das wir in der Datei /etc/named.conf angegeben haben (/var/named) liegen jetzt verschiedene Dateien, die die eigentlichen Datenbanken darstellen. Drei Dateien sind für uns zwar wichtig, wir müssen allerdings darin keine Veränderungen vornehmen. Das sind die Dateien root.hint Die Datei, die die Adressen der Wurzelnameserver des Internets enthält. Wir müssen an dieser Datei niemals etwas von Hand ändern. In der Konfigurationsdatei haben wir diese Datei als Referenz der Zone . genannt. localhost.zoneDie Zonenbeschreibung für den localhost. Auch in dieser Datei müssen wir nichts verändern. Die einzige Aufgabe liegt darin, den Namen „localhost“ mit der IP-Adresse 127.0.0.1 zu verbinden. Die Zone, die wir dafür in /etc/named.conf eingerichtet hatten heißt localhost. 127.0.0.zoneDie Datei, die die Information bereitstellt, um die IP-Adresse 127.0.0.1 mit dem Namen localhost zu verbinden (reverse lookup). Auch hier ist nichts drin, was sich jemals ändern würde. Die passende Zone nannten wir 0.0.127.in-addr.arpa. Das ist sozusagen die Adresse umgekehrt geschrieben mit dem Zusatz in-addr (InternetAdresse) .arpa (Advanced Research Project Agency – der Ursprung des Internets wurde von dieser Forschungseinrichtung aufgebaut und hieß damals ARPA-Net).Die einzigen zwei Dateien, die wir wirklich noch erstellen müssen sind die, auf die wir am Ende der /etc/named.conf hingewiesen hatten – mydomain.de.zone für unsere Domain und 10.230.1.zone für das reverse lookup, also die Suche nach Namen anhand von Nummern.
Die Zonendatei mydomain.de.zone
Die erste Datei (mydomain.de.zone) beginnt mit einem etwas kryptischen Block:
$TTL 1D mydomain.de. IN SOA marvin root.marvin.mydomain.de. ( 2001080701 ; serial 1D ; refresh 2H ; retry 1W ; expiry 2D ) ; minimum
Der erste Block ($TTL 2D) gibt die Gültigkeitsdauer (Time to live) dieser Datei an. 1D steht für einen Tag. Änderungen an dieser Datei werden also spätestens nach einem Tag vom Server aktualisiert, wenn er nicht vorher neu gestartet wird (/etc/init.d/named restart).
Die nächste Zeile bzw. der nächste Block bezeichnet den Start Of Authority (SOA) Eintrag der Datei. Hier steht folgendes:
Domainnamen. IN SOA Nameservername Email_des_Verwalters ( Seriennummer Refreshwert Wiederholungsintervall Ablaufzeit Minimum )
Der Eintrag der E-Mail Adresse des Verwalters ist etwas befremdlich, weil das @-Symbol hier durch einen Punkt ersetzt wurde. Der einzige Eintrag, an dem wir hier etwas ändern sollten ist die Seriennummer. Sie besteht aus der Angabe des Datums (JJJJMMTT) und einer angehängten zweistelligen Zahl (01). Mit Hilfe dieser Nummer können sich die Nameserver einer Zone klar machen, wer den neuesten Eintrag besitzt. Alle anderen Werte werden so übernommen.
Als nächstes folgt ein Eintrag, der immer noch zur Domain-Angabe mydomain.de gehört und daher keine erneute Nennung eines Namens hat:
IN NS marvin IN NS golem IN MX 20 hal IN MX 10 golem
Das bedeutet schlicht, dass der erste Nameserver (NS) der Domain der Rechner marvin ist, der zweite Nameserver ist der Rechner golem. Der Mailserver (MX) höherer Priorität (20) ist der Rechner hal und der niedriger Priorität (10) ist golem. Die Angabe der Namen wie marvin erfolgt ohne Angabe der domain. Hätten wir geschrieben marvin.mydomain.de, so hätten wir das mit einem Punkt abschließen müssen, damit der Nameserver es als vollständigen Namen interpretiert.
So, der Rest ist einfach. Jetzt geben wir die entsprechenden Namen der einzelnen Rechner an, samt ihrer Adressen:
marvin IN A 10.230.1.100 golem IN A 10.230.1.101 hal IN A 10.230.1.102 win1 IN A 10.230.1.10 win2 IN A 10.230.1.11 win3 IN A 10.230.1.12
Wir können auch noch zusätzlich Aliase (CNAME) auf bestehende Rechner einrichten und Hardwareinformation (HINFO) eingeben:
www IN CNAME marvin.mydomain.de. marvin IN HINFO P3-600 "Linux 2.2.16"
Damit haben wir ein Alias gesetzt, das www heißt. Jeder Zugriff auf www.mydomain.de landet jetzt bei marvin. Beachten Sie, dass wir hier marvin mit domainnamen angegeben haben und folgerichtig einen Punkt zum Abschluß angefügt haben.
Die ganze Datei mydomain.de.zone ist hier nochmal einsehbar.
Die Zonendatei 10.230.1.zone $TTL 1D 1.230.10.in-addr.arpa. IN SOA mydomain.de. root.mydomain.de. ( 2001080701 1D 2H 1W 2D ) IN NS marvin.mydomain.de. 100 IN PTR marvin.mydomain.de. 101 IN PTR golem.mydomain.de. 102 IN PTR hal.mydomain.de. 10 IN PTR win1.mydomain.de. 11 IN PTR win2.mydomain.de. 12 IN PTR win3.mydomain.de.
Die Zonendatei 10.230.1.zone
Diese Datei enthält im Wesentlichen die selbe Information wie die letzte, nur eben genau umgekehrt. Sie dient zur rückwärtigen Auflösung von Nummern in Namen. Die Domain wird hier in Nummernform angegeben, aber auch wieder verkeht herum und mit dem Begriff in-addr.arpa. abgeschlossen. Ansonsten ähneln sich die Dateien sehr. Zunächst wieder der TTL und SOA Eintrag:
$TTL 1D 1.230.10.in-addr.arpa. IN SOA mydomain.de. root.mydomain.de. ( 2001080701 1D 2H 1W 2D ) IN NS marvin.mydomain.de.
Die ganzen Einträge zur Hardware oder Aliase oder auch nur die MX-Einträge können wir uns hier gerne sparen. Diese Datei dient ja ausschließlich zur rückwärtigen Auflösung von Adressen in Namen. Es folgen jetzt einfach die Nummern und Verweise auf die Namen. Die Nummern sind nur die, die der obigen Adressangabe fehlen, also nur die jeweils letzte der IP-Adresse.
Die Zonendatei 10.230.1.zone $TTL 1D 1.230.10.in-addr.arpa. IN SOA mydomain.de. root.mydomain.de. ( 2001080701 1D 2H 1W 2D ) IN NS marvin.mydomain.de. 100 IN PTR marvin.mydomain.de. 101 IN PTR golem.mydomain.de. 102 IN PTR hal.mydomain.de. 10 IN PTR win1.mydomain.de. 11 IN PTR win2.mydomain.de. 12 IN PTR win3.mydomain.de.
Die ganze Datei 10.230.1.zone kann hier nochmal eingesehen werden.
Die Zonendatei 10.230.1.zone $TTL 1D 1.230.10.in-addr.arpa. IN SOA mydomain.de. root.mydomain.de. ( 2001080701 1D 2H 1W 2D ) IN NS marvin.mydomain.de. 100 IN PTR marvin.mydomain.de. 101 IN PTR golem.mydomain.de. 102 IN PTR hal.mydomain.de. 10 IN PTR win1.mydomain.de. 11 IN PTR win2.mydomain.de. 12 IN PTR win3.mydomain.de.
So, das wars. Jetzt kann der Nameserver gestartet werden und er kann Abfragen beantworten. Starten Sie den Server entweder über /etc/init.d/named start oder einfach direkt durch eingabe des Befehls named.
In der Datei /var/log/messages sollten Sie jetzt eine Erfolgsmeldung lesen können. Falls dort keine Fehlermeldungen mehr zu finden sind, probieren Sie den Server mit
nslookup -localhost
aus. Suchen Sie nach einem Rechnernamen und nach einer IP-Adresse. Beides sollte jetzt funktionieren. Wenn Sie einen Internetanschluß haben, sollte der Server jetzt schon wildfremde Adressen finden können.