Linux Server - DNS


Die Zonendatenbanken

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

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

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.


[Zurück zur BIND-Seite]