Verwalten der Zonendaten: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Navigationsleiste)
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
{{Baustelle}}
{{Baustelle}}


Das Zonenfile für eine Domain enthält die Konfiguration für den Domain Name Service (DNS) dieser Domain. Hier ist hinterlegt, welche Hostnamen innerhalb der Domain existieren sollen und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, welches System für die Mails der Domain angesprochen werden soll.
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!}}




== Änderungen ==
== aktives Zonefile ==
 
Das gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).
 
Es sieht standardmäßig in etwa wie folgt aus:
 
<pre><nowiki>
$TTL 4H
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (
1242748945 ; serial secs since Jan 1 1970
6H ; refresh (>=10000)
1H ; retry (>=1800)
1W ; expire
1H ; minimum
)
 
IN NS dns1.hostsharing.net.
IN NS dns2.hostsharing.net.
IN NS dns3.hostsharing.net.
 
IN MX 30 xyz00.hostsharing.net.
IN MX 80 backupmx.hostsharing.net.


Das aktive Zonefile für eine Domain example.com ist in /etc/bind/pri.example.com zu finden.
IN A 83.223.95.30


Eigene Änderungen sind als Domainadmin möglich. Dazu muss ein vollständiges Zonefile im Konfigurationsverzeichnis etc der Domain abgelegt werden, welches dann editiert werden kann. Im ersten Schritt wird man deshalb, falls noch keine eigenen Änderungen vorgenommen wurden, eine Kopie der aktuellen Konfiguration anlegen:
www IN A 83.223.95.30
ftp IN A 83.223.95.30
pop3 IN A 83.223.95.30
mail IN A 83.223.95.30
mysql IN A 83.223.95.30
pgsql IN A 83.223.95.30
*.example.org.  IN A 83.223.95.30
</nowiki></pre>


  xyz00@hopi:~$ cp /etc/bind/pri.example.com /home/doms/example.com/etc
Der erste Block SOA definiert die "Start Of Authority" Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, sonst wird die Änderung nicht vollständig im Internet verbreitet. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die für den Platzhalter {SIO} eigetragen wird.


Das Zonefile sieht normalerweise etwa folgendermaßen aus:
== Änderungen ==


Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis etc der Domain abzulegen.


<pre><nowiki>
Am besten man beginnt mit der folgenden unversellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatsch mit den aktuellen werten ersetzt werden:
$TTL 4H
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (
{SIO}; serial secs since Jan 1 1970
6H ; refresh (=10000)
1H ; retry (=1800)
1W ; expire
1H ; minimum
)


; please read http://www.hostsharing.net/tech/descriptions/domains-zonefile.htm
<pre>
$TTL {TTL}
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (
                {SIO} ; serial secs since Jan 1 1970
                6H              ; refresh (>=10000)
                1H              ; retry (>=1800)
                1W              ; expire
                1H              ; minimum
                        )
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten
                        IN      NS      {HS_DNS1_HOSTNAME}.
                        IN      NS      {HS_DNS2_HOSTNAME}.
                        IN      NS      {HS_DNS3_HOSTNAME}.
                        IN      MX  30  mail
                        IN      MX  80  {MX2_HOSTNAME}.
                        TXT "v=spf1 +a +mx ~all"
; see http://spf.pobox.com/ for details on spf record
                        IN      A      {DOM_IPNUMBER}
www                    IN      A      {DOM_IPNUMBER}
ftp                    IN      A      {FTP_IPNUMBER}
pop3                    IN      A      {POP3_IPNUMBER}
imap                    IN      A      {IMAP_IPNUMBER}
mail                    IN      A      {SMTP_IPNUMBER}
mysql                  IN      A      {MYSQL_IPNUMBER}
pgsql                  IN      A      {PGSQL_IPNUMBER}
*.{DOM_HOSTNAME}.      IN      A      {DOM_IPNUMBER}
</pre>


IN NS dns1.hostsharing.net.
IN NS dns2.hostsharing.net.
IN NS dns3.hostsharing.net.


IN MX 30 mail
IN MX 80 backupmx.hostsharing.net.


IN A 212.42.230.152
Nach jeder Änderung an einem selbstverwalteten Zonefile muss eine Datei /home/doms/example.com/etc/zonefile.upd angelegt, bzw. deren Zeitstempel aktualisiert werden.  


www IN A 212.42.230.152
touch /home/doms/example.com/etc/zonefile.upd
ftp IN A 212.42.230.152
pop3 IN A 212.42.230.152
mail IN A 212.42.230.152
*.example.org. IN A 212.42.230.152
</nowiki></pre>


Der erste Block SOA definiert die Start Of Authority Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, oder die Änderung wird nicht vollständig im Internet sichtbar. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die sich einfach über das Kommando date +%s auf dem Server ermitteln lässt.
Dann dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Servern übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich noch etwas länger dauern. (Entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)


Nach jeder Änderung an einem selbstverwalteten Zonefile muss eine Datei /home/doms/example.com/etc/zonefile.upd angelegt, bzw. deren Zeitstempel aktualisiert werden. Beides kann etwa durch das Kommando touch /home/doms/example.com/etc/zonefile.upd erledigt werden. Dann dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Server übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich etwas länger dauern.
'''Hinweis:'''


Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt im Nameserver der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, kann man ein leeres (= 0 Bytes) Zonefile anlegen:
Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt in den HS Nameservern der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, muss man ein leeres (= 0 Bytes) Zonefile anlegen:


  xyz00@hopi:~$ echo -n >  /home/doms/example.org/etc/pri.example.org
echo -n >  /home/doms/example.org/etc/pri.example.org


Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!
Zeile 58: Zeile 95:
== Logfile ==
== Logfile ==


Im Verzeichnis /var/log/named sind die Logfiles des Nameservers 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 den 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:


   Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567
   Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567
Zeile 69: Zeile 106:
* 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.
* Die Secondaries haben die geänderten Daten abgeholt (pro Secondary jeweils ein Eintrag)  
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)
 
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.


Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls angezeigt, so dass man diese leicht sofort beheben kann.


== Platzhalter für eigene Zonenfiles ==
== Platzhalter für eigene Zonenfiles ==


In eigenen Zonenfiles können jetzt Platzhalter verwendet werden. Diese ermöglichen uns das Ändern von IP#n ohne vorherige Ankündigung. Insbesondere das Verschieben von Paketen zwischen physikalischen Hosts wird damit vereinfacht. Es stehen die folgenden Platzhalter zur Verfügung:
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP Adressen und Hostnamen, ohne das jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.




Zeile 115: Zeile 153:
; {MX2_HOSTNAME}
; {MX2_HOSTNAME}


Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Bei Änderungen von IP#n oder anderen Umstrukturierungen ist hiermit der weitere Betrieb gewährleistet, ohne selbst auf solche Ankündigungen achten zu müssen. Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt.  
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt.  
 
 
== Ein Beispiel-Zonefile von Purodha ==


https://lists.hostsharing.net/archiv/technik/2004-June/030649.html
Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Nur so können Domains bei Änderungen von IP Nummern oder anderen Umstrukturierungen weiter erreichbar bleiben, ohne selbst auf solche Ankündigungen und Ereignisse achten zu müssen und Anpassungen selber vornehmen zu müssen.


<pre>
$TTL {TTL}
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (
                {SIO} ; serial secs since Jan 1 1970
                6H              ; refresh (>=10000)
                1H              ; retry (>=1800)
                1W              ; expire
                1H              ; minimum
                        )
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten
                        IN      NS      {HS_DNS1_HOSTNAME}.
                        IN      NS      {HS_DNS2_HOSTNAME}.
                        IN      NS      {HS_DNS3_HOSTNAME}.
                        IN      MX  30  mail
                        IN      MX  80  {MX2_HOSTNAME}.
                        TXT "v=spf1 +a +mx ~all"
; see http://spf.pobox.com/ for details on spf record
                        IN      A      {DOM_IPNUMBER}
www                    IN      A      {DOM_IPNUMBER}
ftp                    IN      A      {FTP_IPNUMBER}
pop3                    IN      A      {POP3_IPNUMBER}
imap                    IN      A      {IMAP_IPNUMBER}
mail                    IN      A      {SMTP_IPNUMBER}
mysql                  IN      A      {MYSQL_IPNUMBER}
pgsql                  IN      A      {PGSQL_IPNUMBER}
*.{DOM_HOSTNAME}. IN    A      {DOM_IPNUMBER}
</pre>





Version vom 26. Juni 2009, 09:26 Uhr


Diese Seite muss überarbeitet werden

Diese Seite wurde als Baustelle gekennzeichnet, weil sie überarbeitet werden muss. Eine Begründung dafür findest du auf der Diskussionsseite. Bitte hilf mit, diese Seite zu verbessern!

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.

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

Das gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).

Es sieht standardmäßig in etwa wie folgt aus:

$TTL 4H
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (
		1242748945 ; serial secs since Jan 1 1970
		6H		; refresh (>=10000)
		1H		; retry (>=1800)
		1W		; expire
		1H		; minimum
		)

		IN	NS	dns1.hostsharing.net.
		IN	NS	dns2.hostsharing.net.
		IN	NS	dns3.hostsharing.net.

		IN	MX	30 xyz00.hostsharing.net.
		IN	MX	80 backupmx.hostsharing.net.

		IN	A	83.223.95.30

www		IN	A	83.223.95.30
ftp		IN	A	83.223.95.30
pop3		IN	A	83.223.95.30
mail		IN	A	83.223.95.30
mysql		IN	A	83.223.95.30
pgsql		IN	A	83.223.95.30
*.example.org.  IN	A	83.223.95.30

Der erste Block SOA definiert die "Start Of Authority" Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, sonst wird die Änderung nicht vollständig im Internet verbreitet. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die für den Platzhalter {SIO} eigetragen wird.

Änderungen

Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis etc der Domain abzulegen.

Am besten man beginnt mit der folgenden unversellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatsch mit den aktuellen werten ersetzt werden:

$TTL {TTL}
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (
                {SIO} ; serial secs since Jan 1 1970 
                6H              ; refresh (>=10000)
                1H              ; retry (>=1800)
                1W              ; expire
                1H              ; minimum
                        )
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten
                        IN      NS      {HS_DNS1_HOSTNAME}.
                        IN      NS      {HS_DNS2_HOSTNAME}.
                        IN      NS      {HS_DNS3_HOSTNAME}.
                        IN      MX  30  mail
                        IN      MX  80  {MX2_HOSTNAME}.
                        TXT "v=spf1 +a +mx ~all"
; see http://spf.pobox.com/ for details on spf record
                        IN      A       {DOM_IPNUMBER}
www                     IN      A       {DOM_IPNUMBER}
ftp                     IN      A       {FTP_IPNUMBER}
pop3                    IN      A       {POP3_IPNUMBER}
imap                    IN      A       {IMAP_IPNUMBER}
mail                    IN      A       {SMTP_IPNUMBER}
mysql                   IN      A       {MYSQL_IPNUMBER}
pgsql                   IN      A       {PGSQL_IPNUMBER}
*.{DOM_HOSTNAME}.       IN      A       {DOM_IPNUMBER}


Nach jeder Änderung an einem selbstverwalteten Zonefile muss eine Datei /home/doms/example.com/etc/zonefile.upd angelegt, bzw. deren Zeitstempel aktualisiert werden.

touch /home/doms/example.com/etc/zonefile.upd

Dann dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Servern übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich noch etwas länger dauern. (Entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)

Hinweis:

Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt in den HS Nameservern der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, muss man ein leeres (= 0 Bytes) Zonefile anlegen:

echo -n >  /home/doms/example.org/etc/pri.example.org

Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!

Logfile

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.
  • Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)

Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.


Platzhalter für eigene Zonenfiles

Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP Adressen und Hostnamen, ohne das jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.


{PAC_IPNUMBER}
IP NUmmer des Hives in dem sich das Paket befindet
{PAC_HOSTNAME}
Hostname (Hive)
{DOM_IPNUMBER}
IP-Nummer
{DOM_HOSTNAME}
{MYSQL_IPNUMBER}
{MYSQL_HOSTNAME}
{PGSQL_IPNUMBER}
{PGSQL_HOSTNAME}


{FTP_IPNUMBER}
{FTP_HOSTNAME}
{SMTP_IPNUMBER}
{SMTP_HOSTNAME}
{POP3_IPNUMBER}
{POP3_HOSTNAME}
{IMAP_IPNUMBER}
{IMAP_HOSTNAME}
{PAC_DNS_MASTER}
{HS_DNS1_IPNUMBER}
{HS_DNS2_IPNUMBER}
{HS_DNS3_IPNUMBER}
{HS_DNS1_HOSTNAME}
{HS_DNS2_HOSTNAME}
{HS_DNS3_HOSTNAME}
{TTL}
{SIO}
Timestamp (Millisekunden)
{MX1_IPNUMBER}
{MX1_HOSTNAME}
{MX2_IPNUMBER}
{MX2_HOSTNAME}

Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt.

Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Nur so können Domains bei Änderungen von IP Nummern oder anderen Umstrukturierungen weiter erreichbar bleiben, ohne selbst auf solche Ankündigungen und Ereignisse achten zu müssen und Anpassungen selber vornehmen zu müssen.