Man benötigt zwei Arten von Zonen-Dateien, die einen dienen dazu, einem Rechnernamen die IP-Adresse zuzuordnen und die anderen gehen den umgekehrten Weg und liefern zu einer gegebenen IP-Adresse den Rechnernamen.
![]() | Der Punkt (.) in Zonendateien |
|---|---|
Eine wichtige Bedeutung hat der Punkt in den Zonendateien.
Werden Rechnernamen, ohne abschließenden | |
Den ersten Fall betrachten wir die Zonendatei
welt.zone, die für die Domain welt.all zuständig ist; vgl. Beispiel 40.6, „Datei /var/lib/named/welt.zone“.
Beispiel 40.6. Datei /var/lib/named/welt.zone
$TTL 2D
welt.all. IN SOA gateway root.welt.all. (
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway
IN MX 10 sonne
gateway IN A 192.168.0.1
IN A 192.168.1.1
sonne IN A 192.168.0.2
mond IN A 192.168.0.3
erde IN A 192.168.1.2
mars IN A 192.168.1.3
www IN CNAME mond
$TTL definiert die Standard-TTL (engl.
Time To Live), also zu deutsch
Gültigkeitsdauer, die für alle Einträge in dieser Datei gilt: hier 2 Tage
(2D = 2 days).
Hier beginnt der SOA control record (SOA = Start of
Authority):
An erster Stelle steht hier der Name der zu verwaltenden Domain
welt.all, diese ist mit einem
. abgeschlossen, da ansonsten die Zone noch einmal
angehängt würde. Alternativ kann man hier ein @
schreiben, dann wird die Zone dem zugehörigen Eintrag in der
/etc/named.conf entnommen.
Nach dem IN SOA steht der Name des Nameservers, der
als Master für diese Zone zuständig ist. In diesem Fall wird der Name
gateway zu gateway.welt.all ergänzt, da er
nicht mit einem . abgeschlossen ist.
Danach folgt eine E-Mail-Adresse, der für diesen Nameserver zuständigen
Person. Da das @-Zeichen bereits eine besondere
Bedeutung hat, ist hier stattdessen einfach ein . zu
setzen, für root@welt.all trägt man hier folglich
root.welt.all. ein. Den . am Ende
darf man hier nicht vergessen, da sonst die Zone noch angehängt würde.
Am Ende folgt eine (, um die folgenden Zeilen, bis
zur ) mit in den SOA-Record einzuschließen.
Die serial number ist eine willkürliche Zahl, die bei
jeder Änderung an dieser Datei erhöht werden sollte. Sie wird benötigt,
um sekundäre Nameserver (Slave-Server) über Änderungen zu informieren.
Eingebürgert hat sich dafür eine zehnstellige Zahl aus Datum und
fortlaufender Nummer in der Form JJJJMMTTNN.
Die refresh rate gibt das Zeitintervall an, in dem
Sekundär-Nameserver die serial number der Zone
überprüfen. In diesem Fall 1 Tag (1D = 1 day).
Die retry rate gibt den Zeitabstand an, in dem ein
sekundärer Nameserver, im Fehlerfall versucht den primären Server erneut
zu kontaktieren. Hier 2 Stunden (2H = 2 hours).
Die expiration time gibt den Zeitraum an, nachdem ein
sekundärer Nameserver die gecacheten Daten verwirft, wenn er keinen
Kontakt zum primären Server mehr bekommen hat. Hier ist das eine Woche
(1W = 1 week).
Der letzte Eintrag im SOA ist die negative caching
TTL. Er sagt aus, wie lange die Ergebnisse von DNS-Anfragen
von anderen Servern gecachet werden dürfen, die nicht aufgelöst werden
konnten.
Das IN NS gibt den Nameserver an, der für diese Domain
zuständig ist. Auch hier gilt, dass gateway wieder zu gateway.welt.all ergänzt wird, weil es
nicht mit einem . abgeschlossen ist. Es kann mehrere
Zeilen dieser Art geben, eine für den primären und jeweils eine für jeden
sekundären Nameserver. Ist für diese Zone notify in
der /etc/named.conf nicht auf no
gesetzt, werden alle hier aufgeführten Nameserver über Änderungen der
Zonendaten informiert.
Der MX-Record gibt den Mailserver an, der für die Domain
welt.all die Mails annimmt und
weiterverarbeitet oder weiterleitet. In diesem Beispiel ist das der
Rechner sonne.welt.all. Die
Zahl vor dem Rechnernamen ist der Präferenz-Wert, gibt es mehrere
MX-Einträge, wird zuerst der Mailserver mit dem kleinsten Wert genommen
und falls die Auslieferung an diesen scheitert, wird der mit dem nächst
höheren Wert versucht.
Das sind jetzt die eigentlichen Adresseneinträge (engl. Address Records),
in denen den Rechnernamen eine oder mehrere IP-Adressen zugeordnet
werden. Die Namen stehen hier ohne abschließenden .,
da sie ohne angehängte Domain eingetragen sind und alle um welt.all ergänzt werden dürfen. Dem
Rechner gateway sind zwei
IP-Adressen zugeordnet, da er über zwei Netzwerkkarten verfügt. Das
A steht jeweils für eine traditionelle Rechneradresse;
mit A6 trägt man IPv6-Adressen ein, und
AAAA ist das obsolete Format für IPv6-Adressen.
Mit dem Alias www kann auch
mond
(CNAME = canonical name)
angesprochen werden.
Für die Rückwärts-Auflösung (engl. reverse lookup) von IP-Adressen in
Rechnernamen wird die Pseudo-Domain in-addr.arpa zu Hilfe genommen. Diese wird
dazu an den in umgekehrter Reihenfolge geschriebenen Netzanteil angehängt.
Aus 192.168.1 wird dann
1.168.192.in-addr.arpa. Siehe
Beispiel 40.7, „Umgekehrte Adressauflösung“.
Beispiel 40.7. Umgekehrte Adressauflösung
$TTL 2D
1.168.192.in-addr.arpa. IN SOA gateway.welt.all. root.welt.all. (
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway.welt.all.
1 IN PTR gateway.welt.all.
2 IN PTR erde.welt.all.
3 IN PTR mars.welt.all.
$TTL definiert die Standard-TTL, die hier für alle
Einträge gilt.
Der „Reverse Lookup“ soll mit dieser Datei für das Netz
192.168.1.0 ermöglicht werden.
Da die Zone hier 1.168.192.in-addr.arpa heißt,
will man dies natürlich nicht an die Rechnernamen anhängen, deshalb sind
diese alle komplett mit Domain und abschließendem .
eingetragen. Der Rest entspricht dem, was im vorangegangenen Beispiel für
welt.all, bereits beschrieben
wurde.
Siehe vorangegangenes Beispiel für welt.all.
Diese Zeile gibt auch hier wieder den Nameserver an, der für diese Zone
zuständig ist, diesmal wird aber der Name komplett mit Domain und
abschließendem . hier eingetragen.
Das sind die Pointer-Records, die zu einer IP-Adresse auf den zugehörigen
Rechnernamen zeigen. Hier steht am Anfang der Zeile nur die letzte Stelle
der IP-Adresse, ohne abschließenden . Wird jetzt die
Zone daran angehängt und man denkt sich das
.in-addr.arpa weg, hat man die komplette
IP-Adresse in umgekehrter Reihenfolge.
Zonentransfers zwischen den verschiedenen Versionen von BIND sollten normalerweise kein Problem darstellen.