Die Datei /etc/named.conf enthält die Grundeinstellungen für den Nameserver und legt einige wichtige Optionen fest. Dazu zählen

  • Die Angabe des Verzeichnisses, in dem alle weiteren Informationsdateien des Nameservers liegen
  • Definition der Zonen, die dieser Nameserver bedient
  • Zugriffsrechte

Wenn der Nameserver nur für das lokale Netz zugreifbar sein soll, so können wir hier eine Zugriffsliste setzen, die definiert, wer zugreifen darf. Das empfielt sich jedoch nur für Server, die einseitig von innen (LAN) nach außen (Internet) arbeiten. Server, die auch fremden Rechnern Informationen über die intenen Adressen bieten sollen, dürfen natürlich keine Einschränkungen haben.

Eine Zugriffskontroll-Liste (Access Control List – ACL) wird mit dem acl-Befehl erstellt:

  acl unsernetz {10.230.1.0/24; 10.230.4.0/24; };

Jetzt definieren wir wichtige Optionen, die global gültig sind:

  options {
    # Das Verzeichnis für die Zonendateien
    directory "/var/named";

    # Die Datei, die die ProzeßID des Nameservers enthält:
    pid-file "/var/run/named.pid";

    # Sollen rekursive Anfragen an andere DNS-Server erlaubt sein,
    # wenn unser Server eine Anfrage nicht beantworten kann
    recursion yes;

    # Wer darf den Nameserver benutzen? - Bezieht sich auf die oben 
    # angegebene acl.
    allow-query { unsernetz; };

    # Soll der Nameserver abbrechen, wenn der Masterserver etwas nicht
    # beantworten kann (fail) oder nur eine Warnung ausgeben (warn)
    check-names master warn;    
  };

Damit unser Nameserver den Kontakt zu allen anderen Nameservern im Internet aufnehmen kann, definieren wir jetzt eine Zone, die die Verbindung zu den Root-Servern herstellen kann. Diese Informationen stecken in der Datei root.hint in dem Verzeichnis, das wir oben angegeben hatten (/var/named).

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

Als nächstes definieren wir zwei Zonen, die grundsätzlich vorhanden sein müssen, zum einen die für den localhost, zum anderen die für die umgekehrte Namensauflösung für 127.0.0.1

  zone "localhost" IN {
    type master;
    file "localhost.zone";
    check-names fail;
    allow-update { none; };
  };

  zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "127.0.0.zone";
    check-names fail;
    allow-update { none; };
  };

Die Zonen, die für die umgekehrte Auflösung (Nummer->Name) dienen, tragen immer die Endung .in-addr.arpa und die Nummern werden in umgekehrter Reihenfolge angegeben. Daraus entsteht also etwa 0.0.127.in-addr.arpa. Ähnliche Zonen brauchen wir jetzt noch für unsere echten Zonen. Nehmen wir an, wir haben nur ein Netz, 10.230.1.0/24 und dieses Netz trägt den Domain-Namen mydomain.de dann benötigen wir die beiden folgenden Zonendefinitionen:

  zone "mydomain.de" IN {
    type master;
    file "mydomain.de.zone";
  };

  zone "1.230.10.in-addr.arpa" in {
    type master;
    file "10.230.1.zone";
  };

Die beiden Dateien, die wir hier genannt haben (230.10.1.zone und mydomain.de.zone) müssen wir jetzt noch anlegen, dann können wir den Nameserver starten.