[1.0] [2.0] [3.0] [3.1] [4.0] [5.0]
3.1 Zusammenfassung der 12 Regeln für Zonendatei
Quelle : http://de.wikipedia.org/wiki/Zonendatei
Regel 1 – Leerzeilen
Leerzeilen sind zulässig.
Regel 2 – Kommentare
Kommentare werden durch „;“ (Semikolon) eingeleitet. Alles, was rechts von einem „;“ auftaucht, gilt als Kommentar. Kommentare werden beim Zonentransfer nicht mit übertragen.
Regel 3 – mehrzeilige Anweisungen
Soll ein Resource-Record (RR-Record) auf mehrere Zeilen verteilt werden, so müssen Klammern ( ( ) ) verwendet werden.
Beispiel:
example.com. 1800 IN SOA ns1.example.com. mailbox.example.com. ( 100 ; Seriennummer
300 ; Refresh Time
100 ; Retry Time
6000 ; Expire Time
600 ; negative Caching Zeit
)
example.com. 1800 IN NS ns1.example.com.
ns1.example.com. 1800 IN A 172.27.182.17
ns1.example.com. 1800 IN AAAA 2001:db8::f:a
www.example.com. 1800 IN A 192.168.1.2
www.example.com. 1800 IN AAAA 2001:db8::1:2
Regel 4 – @ als Platzhalter für Zonennamen
Erscheint der Name der Zone – der sogenannte Origin – ohne Extension isoliert, so darf er durch ein „@“ ersetzt werden.
Beispiel Datei example.com:
@ 1800 IN SOA ns1.example.com. mailbox.example.com. (
100 ; Seriennummer
300 ; Refresh Time
100 ; Retry Time
6000 ; Expire Time
600 ; negative Caching Zeit
)
@ 1800 IN NS ns1.example.com.
@ 1800 IN A 1.2.3.4
@ 1800 IN AAAA 2001:db8::1:2:3:4
alias.example.com. 1800 IN CNAME @
ns1.example.com. 1800 IN A 172.27.182.17
ns1.example.com. 1800 IN AAAA 2001:db8::53
www.example.com. 1800 IN A 192.168.1.2
www.example.com. 1800 IN AAAA fd00::1:2
Regel 5 – Zonenname darf weggelassen werden
Erscheint der Origin (Name der Zonen) am Ende eines Namens, so darf er weggelassen werden. Man beachte den Unterschied, der durch den weggelassenen Punkt am Ende des Namens entsteht: Namen mit anhängendem Punkt sind vollqualifiziert, und Namen ohne Punkt sind immer relativ zur Origin, wie man an den letzten beiden Beispielen sieht.
Beispiel Zone example.com:
1 2 3 4 5 6 7 8 9 10 11 12 |
@ 1800 IN SOA ns1 mailbox ( <span style="font-size: 10pt;"> 100 ; Seriennummer 300 ; Refresh Time 100 ; Retry Time 6000 ; Expire Time 600 ; negative Caching Zeit </span><span style="font-size: 10pt;"> ) </span><span style="font-size: 10pt;">@ 1800 IN NS ns1 ns1 1800 IN A 172.27.182.17 www 1800 IN A 192.168.1.2 www.abteilung 1800 IN A 192.168.1.3 ; bedeutet www.abteilung.example.com www.example.com 1800 IN A 192.168.1.4 ; bedeutet wegen fehlenden Punkt => www.example.com.example.com</span> |
Regel 6 – nur der erste Name muss angegeben werden
Haben zwei oder mehr aufeinanderfolgende RRs den gleichen Namen, so braucht nur der erste angegeben zu werden.
1 2 3 4 |
<em>ns1.example.com. 1800 IN A 172.27.182.17 </em> 1800 IN AAAA 2001:db8::53 www.example.com. 1800 IN A 192.168.1.2 1800 IN AAAA fd00::1:2 |
Regel 7 – „IN“ muss nur einmal angegeben werden
Das Klassenfeld „IN“ braucht nur beim ersten RR angegeben zu werden.
Beispiel:
@ 1800 IN SOA ns1 mailbox (
100 ; Seriennummer
300 ; Refresh Time
100 ; Retry Time
6000 ; Expire Time
600 ; negative Caching Zeit
)
1800 NS ns1 ; der Name darf weggelassen werden
ns1 1800 A 172.27.182.17
www 1800 A 192.168.1.2
Regel 8 – TTL
Ist in einem RR kein TTL (Time to live) vorhanden, so wird der letzte in der Zonendatei vorher vorhandene TTL-Wert verwendet. Ist vorher kein TTL vorhanden, so wird der Wert aus dem SOA Resource Record genommen.
Beispiel:
@ IN SOA ns1 mailbox 100 300 100 6000 1234
NS ns1 ; TTL=1234 aus SOA
ns1 A 172.27.182.17 ; TTL=1234 aus SOA
www 20 A 192.168.1.2 ; ab hier gilt TTL=20
test A 1.2.3.4 ; TTL=20 aus vorherigem Eintrag
Die Einheit für Zeitangaben wie z.B. TTL ist Sekunden
(ersichtlich in Ripe-203 [1])
Regel 9 – $ORIGIN
Standard-Origin ist der Zonenname, wie er in der Datei named.conf.local definiert wurde. Mit der $ORIGIN-Anweisung können beliebige andere Origins definiert werden. Ein neu definierter Origin ist für alle folgenden Zeilen bis zur nächsten $ORIGIN-Anweisung gültig.
Beispiel Zone example.com:
@ IN SOA ns1 mailbox 100 300 100 6000 1800
NS ns1
ns1 A 172.27.182.17
www A 192.168.1.2
$ORIGIN sub.example.com.
xxx A 1.2.3.4
Regel 10 – $TTL
Mit der $TTL-Anweisung kann ein Default-TTL-Wert vorgegeben werden.
Beispiel:
$TTL 1800
@ IN SOA ns1 mailbox 100 300 100 6000 600
NS ns1
ns1 A 172.27.182.17
Regel 11 – $INCLUDE
Mit $INCLUDE-Anweisungen können weitere Dateien eingebunden werden. Diese müssen natürlich eine korrekte Syntax aufweisen. Die $INCLUDE-Anweisung hat nur lokale Bedeutung. Beim Zonentransfer wird die expandierte Zone übertragen.
Beispiel:
@ IN SOA ns1 mailbox 100 300 100 6000 1800
NS ns1
ns1 A 172.27.182.17
$INCLUDE /var/named/mx-records.txt
$INCLUDE /var/named/a-records.txt
Regel 12 – FQDN – RDNs
Absolute Hostnamen = FDQN (Fully Qualified Domain Name) enden immer auf einem Punkt (.) .
z.B.:
www.ns1.example.com.
ns1.example.com.
Relative Hostname = RDN (Uniqualified Domain Name (UDN) oder auch Relative Distinguished Name) enden niemals auf einem Punkt.
z.B.:
ns1
www
siehe Regel 9