Verwalten der Zonendaten: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
(47 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ | {{Kerndoku|https://www.hostsharing.net/doc/managed-operations-platform/zonefile/}} | ||
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service ([[DNS]]), d.h. der [[Nameserver]] der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen. Für einfache und unkomplizierte Änderungen bitte in [[Simple Zonefile Howto]] schauen. | |||
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service (DNS), d.h. der Nameserver der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen. | |||
{{Textkasten|rot|Achtung|Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!}} | {{Textkasten|rot|Achtung|Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!}} | ||
== Aktives Zonefile == | |||
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden ([[Zonefile]]). | |||
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile). | |||
Im Standardfall sieht es vollständig expandiert wie folgt aus: | |||
< | <syntaxhighlight lang=shell line> | ||
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. ( | |||
example.com. IN SOA | |||
1303649373 ; serial secs since Jan 1 1970 | 1303649373 ; serial secs since Jan 1 1970 | ||
6H ; refresh (>=10000) | 6H ; refresh (>=10000) | ||
Zeile 24: | Zeile 18: | ||
1W ; expire | 1W ; expire | ||
1H ; minimum | 1H ; minimum | ||
) | |||
example.com. IN NS dns1.hostsharing.net. | example.com. IN NS dns1.hostsharing.net. | ||
Zeile 35: | Zeile 29: | ||
example.com. IN A 83.223.95.160 | example.com. IN A 83.223.95.160 | ||
example.com. IN AAAA 2a01:37:1000::53df:5fa0:0 | |||
example.com. IN TXT "v=spf1 include:spf.hostsharing.net ?all" | |||
*.example.com. IN MX 30 mailin1.hostsharing.net. | *.example.com. IN MX 30 mailin1.hostsharing.net. | ||
Zeile 41: | Zeile 38: | ||
*.example.com. IN A 83.223.95.160 | *.example.com. IN A 83.223.95.160 | ||
*.example.com. IN AAAA 2a01:37:1000::53df:5fa0:0 | |||
*.example.com. IN TXT "v=spf1 include:spf.hostsharing.net ?all" | |||
</syntaxhighlight> | |||
== Logfile und Kontrolle== | == Logfile und Kontrolle== | ||
Zeile 49: | Zeile 47: | ||
Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt: | Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt: | ||
<syntaxhighlight lang=output> | |||
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567 | |||
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567) | |||
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': | |||
AXFR-style IXFR started | |||
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': | |||
AXFR-style IXFR started | |||
</syntaxhighlight> | |||
Die Zeilen bedeuten jeweils: | Die Zeilen bedeuten jeweils: | ||
Zeile 60: | Zeile 60: | ||
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen | * Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen | ||
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können. | * Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können. | ||
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet. | Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet. | ||
< | <syntaxhighlight lang=output line> | ||
-------- Original-Nachricht -------- | |||
Betreff: [Global] DNS Zonenfile Änderungen | |||
Datum: Thu, 4 Mar 2010 08:30:34 +0100 | |||
Moin Moin, | |||
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein | |||
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen | |||
später dann sind die Domains nicht mehr erreichbar und es heißt "in den | |||
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag | |||
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um | |||
"mal eben schnell noch ... " ging. | |||
< | Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange | ||
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten - | |||
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung, | |||
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen! | |||
Was also tun? Zunächst kann man nach einer Änderung in einer | |||
Shell beobachten, ob es zu Fehlermeldungen kommt: | |||
tail -f /var/log/named/named.log | |||
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com) | |||
vorkommt: | |||
tail -f /var/log/named/named.log | grep example.com | |||
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem | |||
Server lesbar. | |||
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der | |||
aktuellen in der Zonendatei verglichen werden: | |||
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }' | |||
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' | |||
</syntaxhighlight> | |||
== Eigenes Zonenfile == | |||
Wer ein eigenes Zonefile installieren möchte, um diverse Anwendungsfälle zu realisieren (Verweise auf extern gelagerte Subdomains, Anbindung externer Server, Verwendung eigener Mailserver), kann '''pro Domain''' ein eigenes Zonefile erstellen. Dieses befindet sich im Verzeichnis '''~/doms/example.com/etc''' mit den Namen '''pri.example.com''' (example.com steht hier als Beispiel für den wahren Domainnamen). Ein Neuanlegen oder eine Änderung dieser Datei führt zu einer baldigen Änderung der Nameservereinträge für die Domain. | |||
{{Textkasten|rot|Warnung!|Das nicht sachgemäße Erstellen eines eigenen Zonefiles kann zur Nichterreichbarkeit der eigenen Domain und zum Verlust von Mails führen!}} | |||
Eine Anleitung für die eher einfachen und oft gewünschten Änderungen findet sich in [[Simple Zonefile Howto]]. | |||
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern der DNS-Konfiguration, ohne dass der Domain-Admin sein Zonefile anpassen muss. | |||
=== Komplexe Platzhalter === | |||
<syntaxhighlight lang="shell" line> | |||
{DEFAULT_ZONEFILE} := | {DEFAULT_ZONEFILE} := | ||
{HEADER} | {HEADER} | ||
{SOA_RR} | {SOA_RR} | ||
{NS_RR} | {NS_RR} | ||
{MX_RR} | {MX_RR} | ||
{A_RR} | {A_RR} | ||
{WILDCARD_MX_RR} | {WILDCARD_MX_RR} | ||
Zeile 121: | Zeile 128: | ||
$TTL {TTL} | $TTL {TTL} | ||
{SOA_RR} := | {SOA_RR} := | ||
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. ( | {DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. ( | ||
{SIO} ; serial secs since Jan 1 1970 | {SIO} ; serial secs since Jan 1 1970 | ||
Zeile 128: | Zeile 135: | ||
{EXPIRE} ; expire | {EXPIRE} ; expire | ||
{MINIMUM} ; minimum | {MINIMUM} ; minimum | ||
) | |||
{NS_RR} := | {NS_RR} := | ||
Zeile 150: | Zeile 157: | ||
{WILDCARD_A_RR} := | {WILDCARD_A_RR} := | ||
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER} | *.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER} | ||
</syntaxhighlight> | |||
=== Atomare Platzhalter === | |||
<syntaxhighlight lang="shell" line> | |||
{TTL} := 6H | {TTL} := 6H | ||
{SOA_HOSTNAME} := | {SOA_HOSTNAME} := <HIVE>.hostsharing.net | ||
{SOA_EMAIL}:= hostmaster.hostsharing.net | {SOA_EMAIL}:= hostmaster.hostsharing.net | ||
{SIO} := < | {SIO} := <SEKUNDEN> | ||
{REFRESH} := 6H | {REFRESH} := 6H | ||
{RETRY} := 1H | {RETRY} := 1H | ||
Zeile 168: | Zeile 179: | ||
{MX3_HOSTNAME} := mailin3.hostsharing.net | {MX3_HOSTNAME} := mailin3.hostsharing.net | ||
{DOM_HOSTNAME} := <FQDN | {DOM_HOSTNAME} := <FQDN> | ||
{DOM_IPNUMBER} := <IP der Domain> | {DOM_IPNUMBER} := <IP> | ||
</ | |||
{DKIM_RR} := <siehe https://wiki.hostsharing.net/index.php?title=DKIM> | |||
{SPF_RR} := "v=spf1 include:spf.hostsharing.net ?all" | |||
</syntaxhighlight> | |||
Hierbei stehen | |||
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.1970 vergangen sind | |||
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain | |||
* <IP> für die der Domain zugewiesene IP-Adresse | |||
Diese Werte werden von Hostsharing verwaltet. | |||
=== Expansion der Platzhalter === | |||
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird folgermaßen expandiert. | |||
Zunächst werden die komplexen Platzhalter ersetzt: | |||
<syntaxhighlight lang="shell" line> | |||
$TTL {TTL} | |||
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. ( | |||
{SIO} ; serial secs since Jan 1 1970 | |||
{REFRESH} ; refresh (>=10000) | |||
{RETRY} ; retry (>=1800) | |||
{EXPIRE} ; expire | |||
{MINIMUM} ; minimum | |||
) | |||
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}. | |||
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}. | |||
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}. | |||
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}. | |||
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}. | |||
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}. | |||
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER} | |||
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}. | |||
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}. | |||
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}. | |||
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER} | |||
</syntaxhighlight> | |||
Anschließend werden die atomaren Platzhalter ersetzt: | |||
<syntaxhighlight lang="shell" line> | |||
$TTL 6H | |||
<FQDN>. IN SOA <HIVE>.hostsharing.net. hostmaster.hostsharing.net. ( | |||
<SEKUNDEN> ; serial secs since Jan 1 1970 | |||
6H ; refresh (>=10000) | |||
1H ; retry (>=1800) | |||
1W ; expire | |||
1H ; minimum | |||
) | |||
<FQDN>. IN NS dns1.hostsharing.net. | |||
<FQDN>. IN NS dns2.hostsharing.net. | |||
<FQDN>. IN NS dns3.hostsharing.net. | |||
<FQDN>. IN MX 30 mail1.hostsharing.net. | |||
<FQDN>. IN MX 30 mail2.hostsharing.net. | |||
<FQDN>. IN MX 30 mail3.hostsharing.net. | |||
<FQDN>. IN A <IP> | |||
*.<FQDN>. IN MX 30 mail1.hostsharing.net. | |||
*.<FQDN>. IN MX 30 mail2.hostsharing.net. | |||
*.<FQDN>. IN MX 30 mail3.hostsharing.net. | |||
*.<FQDN>. IN A <IP> | |||
</syntaxhighlight> | |||
=== | == Das Zonefile deaktivieren/zurücksetzen == | ||
In ~/doms/example.com/etc das vorhandene Zonefile (pri.example.com) komplett leeren (ist dann 0 Bytes groß). Dann kommt der Robot vorbei, löscht pri.example.com und setzt alles auf Standardwerte zurück. | |||
---- | ---- | ||
[[Kategorie:HSDoku]] | [[Kategorie:HSDoku]] | ||
[[Kategorie:Domains]] | [[Kategorie:Domains]] | ||
[[Kategorie: | [[Kategorie:Zonefile]] | ||
[[Kategorie:DNS]] |
Aktuelle Version vom 20. Juni 2024, 13:26 Uhr
Dieses Thema in der technischen Dokumentation (Kerndoku)
https://www.hostsharing.net/doc/managed-operations-platform/zonefile/
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service (DNS), d.h. der Nameserver der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen. Für einfache und unkomplizierte Änderungen bitte in Simple Zonefile Howto schauen.
Achtung
Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!
Aktives Zonefile
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).
Im Standardfall sieht es vollständig expandiert wie folgt aus:
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. (
1303649373 ; serial secs since Jan 1 1970
6H ; refresh (>=10000)
1H ; retry (>=1800)
1W ; expire
1H ; minimum
)
example.com. IN NS dns1.hostsharing.net.
example.com. IN NS dns2.hostsharing.net.
example.com. IN NS dns3.hostsharing.net.
example.com. IN MX 30 mailin1.hostsharing.net.
example.com. IN MX 30 mailin2.hostsharing.net.
example.com. IN MX 30 mailin3.hostsharing.net.
example.com. IN A 83.223.95.160
example.com. IN AAAA 2a01:37:1000::53df:5fa0:0
example.com. IN TXT "v=spf1 include:spf.hostsharing.net ?all"
*.example.com. IN MX 30 mailin1.hostsharing.net.
*.example.com. IN MX 30 mailin2.hostsharing.net.
*.example.com. IN MX 30 mailin3.hostsharing.net.
*.example.com. IN A 83.223.95.160
*.example.com. IN AAAA 2a01:37:1000::53df:5fa0:0
*.example.com. IN TXT "v=spf1 include:spf.hostsharing.net ?all"
Logfile und Kontrolle
Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt:
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN':
AXFR-style IXFR started
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN':
AXFR-style IXFR started
Die Zeilen bedeuten jeweils:
- Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen
- Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.
-------- Original-Nachricht --------
Betreff: [Global] DNS Zonenfile Änderungen
Datum: Thu, 4 Mar 2010 08:30:34 +0100
Moin Moin,
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen
später dann sind die Domains nicht mehr erreichbar und es heißt "in den
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um
"mal eben schnell noch ... " ging.
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!
Was also tun? Zunächst kann man nach einer Änderung in einer
Shell beobachten, ob es zu Fehlermeldungen kommt:
tail -f /var/log/named/named.log
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)
vorkommt:
tail -f /var/log/named/named.log | grep example.com
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem
Server lesbar.
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der
aktuellen in der Zonendatei verglichen werden:
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'
grep serial /etc/bind/pri.example.com | awk '{ print $1 }'
Eigenes Zonenfile
Wer ein eigenes Zonefile installieren möchte, um diverse Anwendungsfälle zu realisieren (Verweise auf extern gelagerte Subdomains, Anbindung externer Server, Verwendung eigener Mailserver), kann pro Domain ein eigenes Zonefile erstellen. Dieses befindet sich im Verzeichnis ~/doms/example.com/etc mit den Namen pri.example.com (example.com steht hier als Beispiel für den wahren Domainnamen). Ein Neuanlegen oder eine Änderung dieser Datei führt zu einer baldigen Änderung der Nameservereinträge für die Domain.
Warnung!
Das nicht sachgemäße Erstellen eines eigenen Zonefiles kann zur Nichterreichbarkeit der eigenen Domain und zum Verlust von Mails führen!
Eine Anleitung für die eher einfachen und oft gewünschten Änderungen findet sich in Simple Zonefile Howto.
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern der DNS-Konfiguration, ohne dass der Domain-Admin sein Zonefile anpassen muss.
Komplexe Platzhalter
{DEFAULT_ZONEFILE} :=
{HEADER}
{SOA_RR}
{NS_RR}
{MX_RR}
{A_RR}
{WILDCARD_MX_RR}
{WILDCARD_A_RR}
{HEADER} :=
$TTL {TTL}
{SOA_RR} :=
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (
{SIO} ; serial secs since Jan 1 1970
{REFRESH} ; refresh (>=10000)
{RETRY} ; retry (>=1800)
{EXPIRE} ; expire
{MINIMUM} ; minimum
)
{NS_RR} :=
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.
{MX_RR} :=
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.
{A_RR} :=
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}
{WILDCARD_MX_RR} :=
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.
{WILDCARD_A_RR} :=
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}
Atomare Platzhalter
{TTL} := 6H
{SOA_HOSTNAME} := <HIVE>.hostsharing.net
{SOA_EMAIL}:= hostmaster.hostsharing.net
{SIO} := <SEKUNDEN>
{REFRESH} := 6H
{RETRY} := 1H
{EXPIRE} := 1W
{MINIMUM} := 1H
{DNS1_HOSTNAME} := dns1.hostsharing.net
{DNS2_HOSTNAME} := dns2.hostsharing.net
{DNS3_HOSTNAME} := dns3.hostsharing.net
{MX1_HOSTNAME} := mailin1.hostsharing.net
{MX2_HOSTNAME} := mailin2.hostsharing.net
{MX3_HOSTNAME} := mailin3.hostsharing.net
{DOM_HOSTNAME} := <FQDN>
{DOM_IPNUMBER} := <IP>
{DKIM_RR} := <siehe https://wiki.hostsharing.net/index.php?title=DKIM>
{SPF_RR} := "v=spf1 include:spf.hostsharing.net ?all"
Hierbei stehen
- <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.1970 vergangen sind
- <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain
- <IP> für die der Domain zugewiesene IP-Adresse
Diese Werte werden von Hostsharing verwaltet.
Expansion der Platzhalter
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird folgermaßen expandiert.
Zunächst werden die komplexen Platzhalter ersetzt:
$TTL {TTL}
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (
{SIO} ; serial secs since Jan 1 1970
{REFRESH} ; refresh (>=10000)
{RETRY} ; retry (>=1800)
{EXPIRE} ; expire
{MINIMUM} ; minimum
)
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}
Anschließend werden die atomaren Platzhalter ersetzt:
$TTL 6H
<FQDN>. IN SOA <HIVE>.hostsharing.net. hostmaster.hostsharing.net. (
<SEKUNDEN> ; serial secs since Jan 1 1970
6H ; refresh (>=10000)
1H ; retry (>=1800)
1W ; expire
1H ; minimum
)
<FQDN>. IN NS dns1.hostsharing.net.
<FQDN>. IN NS dns2.hostsharing.net.
<FQDN>. IN NS dns3.hostsharing.net.
<FQDN>. IN MX 30 mail1.hostsharing.net.
<FQDN>. IN MX 30 mail2.hostsharing.net.
<FQDN>. IN MX 30 mail3.hostsharing.net.
<FQDN>. IN A <IP>
*.<FQDN>. IN MX 30 mail1.hostsharing.net.
*.<FQDN>. IN MX 30 mail2.hostsharing.net.
*.<FQDN>. IN MX 30 mail3.hostsharing.net.
*.<FQDN>. IN A <IP>
Das Zonefile deaktivieren/zurücksetzen
In ~/doms/example.com/etc das vorhandene Zonefile (pri.example.com) komplett leeren (ist dann 0 Bytes groß). Dann kommt der Robot vorbei, löscht pri.example.com und setzt alles auf Standardwerte zurück.