https://wiki.hostsharing.net/api.php?action=feedcontributions&user=Hsh00-edv&feedformat=atomHostsharing Wiki - Benutzerbeiträge [de]2024-03-28T10:01:46ZBenutzerbeiträgeMediaWiki 1.35.14https://wiki.hostsharing.net/index.php?title=HS-Mailrouting&diff=3544HS-Mailrouting2012-10-29T08:17:03Z<p>Hsh00-edv: /* Mail Relay mit eigenen Mailservern */</p>
<hr />
<div>== Ausgehende Mails ==<br />
<br />
Mails, die lokal erzeugt werden (Kommandozeile, Anwendung) auf einem<br />
HS-Server, werden an [[mailout]]{1,2,3}.hostsharing.net weitergeleitet. Von<br />
dort werden sie weiter zugestellt.<br />
<br />
Entsprechendes gilt für Mails, die per SMTP-Auth auf den Hives<br />
eingeliefert werden:<br />
<br />
* (Benutzer =>) Hive => mailout{1,2,3} => extern<br />
<br />
== Eingehende Mails ==<br />
<br />
Mails, die von extern für einen Empfänger bei Hostsharing eingeliefert<br />
werden, werden von [[mailin]]{1,2,3}.hostsharing.net entgegen genommen, an<br />
den [[Hive]] des Empfängers weitergeleitet und dort zugestellt.<br />
<br />
Auf dem Hive können die Mails weitergeleitet, verarbeitet oder abgelegt<br />
und per POP3 oder IMAP abgeholt werden.<br />
<br />
* extern => mailin{1,2,3} => Hive (=> Benutzer)<br />
<br />
(Sonderfall: Ist keine E-Mail-Adresse für die Empänger-Domain konfiguriert, aber ein MX mit höherer Priorität (10) als<br />
{1,2,3}.hostsharing.net durch ein eigenes [[Verwalten der Zonendaten|Zonefile]] für die Domain spezifiziert, so wird die E-Mail<br />
an den Mailserver mit höherer Priorität weitergeleitet. Dies bietet interessante Gestaltungsmöglichkeiten für Betreiber eigener Mailserver.)<br />
<br />
* extern => externer Mailserver<br />
* extern => mailin{1,2,3} => externer Mailserver (BackupMX-Funktion)<br />
<br />
== Grundsätze ==<br />
<br />
* Nur der Hive (xyz00.hostsharing.net) des Benutzers nimmt Mails per SMTP-Auth an (Postausgangsserver).<br />
* Nur der Hive (xyz00.hostsharing.net) des Benutzers bietet eingegangene Mails per POP3 oder IMAP an (Posteingangsserver).<br />
* Alle Mails von extern an Domains, die bei Hostsharing gehostet sind, erreichen Hostsharing über mailin{1,2,3}.<br />
* Alle Mails nach extern verlassen Hostsharing über mailout{1,2,3}.<br />
<br />
Noch nicht vollständig implementiert (Stand 20. September 2011):<br />
* Interne Mails gehen über mailout{1,2,3} nach mailin{1,2,3}.<br />
<br />
== Mail Relay mit eigenen Mailservern ==<br />
<br />
In der Konfiguration des Mailservers der Hostname des Webpakets (xyz00.hostsharing.net im Falle des Pakets xyz00) eingetragen werden.<br />
Ferner ist sicherzustellen, dass der einliefernde Mailserver keinen MX Lookup für diesen Hostnamen vornimmt.<br />
<br />
Ist dies nicht gewährleistet, so wird der eigene Mailserver versuchen, ausgehende E-Mails für externe Domains an unsere Maileingangsserver zu übergeben, welche diese mit "Relay access denied" abweisen werden.<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:E-Mail]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=HS-Mailrouting&diff=3543HS-Mailrouting2012-10-29T08:15:03Z<p>Hsh00-edv: /* Grundsätze */</p>
<hr />
<div>== Ausgehende Mails ==<br />
<br />
Mails, die lokal erzeugt werden (Kommandozeile, Anwendung) auf einem<br />
HS-Server, werden an [[mailout]]{1,2,3}.hostsharing.net weitergeleitet. Von<br />
dort werden sie weiter zugestellt.<br />
<br />
Entsprechendes gilt für Mails, die per SMTP-Auth auf den Hives<br />
eingeliefert werden:<br />
<br />
* (Benutzer =>) Hive => mailout{1,2,3} => extern<br />
<br />
== Eingehende Mails ==<br />
<br />
Mails, die von extern für einen Empfänger bei Hostsharing eingeliefert<br />
werden, werden von [[mailin]]{1,2,3}.hostsharing.net entgegen genommen, an<br />
den [[Hive]] des Empfängers weitergeleitet und dort zugestellt.<br />
<br />
Auf dem Hive können die Mails weitergeleitet, verarbeitet oder abgelegt<br />
und per POP3 oder IMAP abgeholt werden.<br />
<br />
* extern => mailin{1,2,3} => Hive (=> Benutzer)<br />
<br />
(Sonderfall: Ist keine E-Mail-Adresse für die Empänger-Domain konfiguriert, aber ein MX mit höherer Priorität (10) als<br />
{1,2,3}.hostsharing.net durch ein eigenes [[Verwalten der Zonendaten|Zonefile]] für die Domain spezifiziert, so wird die E-Mail<br />
an den Mailserver mit höherer Priorität weitergeleitet. Dies bietet interessante Gestaltungsmöglichkeiten für Betreiber eigener Mailserver.)<br />
<br />
* extern => externer Mailserver<br />
* extern => mailin{1,2,3} => externer Mailserver (BackupMX-Funktion)<br />
<br />
== Grundsätze ==<br />
<br />
* Nur der Hive (xyz00.hostsharing.net) des Benutzers nimmt Mails per SMTP-Auth an (Postausgangsserver).<br />
* Nur der Hive (xyz00.hostsharing.net) des Benutzers bietet eingegangene Mails per POP3 oder IMAP an (Posteingangsserver).<br />
* Alle Mails von extern an Domains, die bei Hostsharing gehostet sind, erreichen Hostsharing über mailin{1,2,3}.<br />
* Alle Mails nach extern verlassen Hostsharing über mailout{1,2,3}.<br />
<br />
Noch nicht vollständig implementiert (Stand 20. September 2011):<br />
* Interne Mails gehen über mailout{1,2,3} nach mailin{1,2,3}.<br />
<br />
== Mail Relay mit eigenen Mailservern ==<br />
<br />
In der Konfiguration des Mailservers der Hostname des Webpakets (xyz00.hostsharing.net im Falle des Pakets xyz00) eingetragen werden.<br />
Ferner ist sicherzustellen, dass der einliefernde Mailserver keinen MX-Lookup für diesen Hostnamen vornimmt.<br />
<br />
Ist dies nicht gewährleistet, so wird der eigene Mailserver versuchen, ausgehende E-Mails für externe Domains an unsere Maileingangsserver zu übergeben, welche diese mit "Relay access denied" abweisen werden.<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:E-Mail]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verzeichnis-Struktur&diff=3361Verzeichnis-Struktur2012-07-02T13:07:55Z<p>Hsh00-edv: Anpassung der Paket-Subdomain, diverse Korrekturen</p>
<hr />
<div>== Verzeichnis-Struktur [[~/]] ==<br />
<br />
Es folgt eine Übersicht der Verzeichnisstruktur in HS Paketen. <br />
(Paket-Admin, Domain-Admin sowie DW/SW - Pakete)<br />
<br />
=== eines Paket-Admins ===<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5" <br />
!Verzeichniss !!Datei!! Beschreibung<br />
|-<br />
| xyz00@h01:~ || || Home Verzeichnis des Paketes<br />
|-<br />
| xyz00@h01:~/.bak || || Sicherungsdateien (cron/doms/dbs)<br />
|-<br />
| xyz00@h01:~/etc || || Verzeichnis für zb.: config.ini, dom-order.upd, dom-users, event-handler <br />
|-<br />
| xyz00@h01:~/users || || Die Benutzer (user) des Pakets<br />
|-<br />
| xyz00@h01:~/var || || des Pakets<br />
|-<br />
| xyz00@h01:~/Maildir || || des Pakets<br />
|}<br />
<br />
=== eines DomainAdmin-Users ===<br />
<br />
Der PaketAdmin hat einem User des Pakets eine Domain zugeordnet. So ergibt sich folgende Verzeichnisstruktur:<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5" <br />
!Verzeichniss !!Datei!! Beschreibung<br />
|-<br />
| xyz00-abc@h01:~ || || Home Verzeichnis des Users<br />
|-<br />
| xyz00-abc@h01:~/Maildir || || Alles rund um Mail<br />
|-<br />
| xyz00-abc@h01:~/doms || || Hier liegen die Domains des Users<br />
|}<br />
<br />
=== Verzeichnisaufbau je Domain ===<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5" <br />
!Verzeichniss !!Datei!! Beschreibung<br />
|-<br />
| xyz00-abc@h01:~/doms/example.com || || Für jede Domain ein Verzeichnis<br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/cgi || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/cgi-ssl || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/etc || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/fastcgi || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/fastcgi-ssl || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/htdocs || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/htdocs-ssl || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/subs || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/subs-ssl || || <br />
|-<br />
| xyz00-abc@h01:~/doms/example.com/var || || <br />
|}<br />
<br />
=== weiter Verzeichnisse / Dateien ===<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5"<br />
!Verzeichnis!! Datei!! Bemerkung<br />
|-<br />
|~/.bak/ || ||Komprimierte Backups der Datenbanken und Cronjobs. Siehe Nächtliche Paket-Backups <br />
|-<br />
|~/ ||.forward ||In dieser Datei im Homeverzeichnis eines beliebigen Benutzers können eine oder mehrere E-Mail-Adressen stehen. Alle eingehenden E-Mails für den User werden an die Mailboxen oder E-Mail-Adressen weitergeleitet, die in der Datei sind. Außerdem wird die Datei für den Einsatz von Mailfilterprogrammen wie [[Managesieve]] oder [[Procmail|procmail]] verwendet.<br />
|-<br />
|~/doms || ||Verzeichnis, in dem die Verzeichnisse für Domains angelegt sind.<br />
|-<br />
|~/ftp || ||für anonymous FTP<br />
|-<br />
|~/var|| ||web.log aktuelles logfile aller domains des Paketes<br />
|-<br />
| ||web-example.com.gz|| derzeit alle gesplitteten Domain-Logfiles<br />
|-<br />
| ||config.err|| Logfile der Fehlermeldungen, die beim Bearbeiten vonKonfigurations-Dateien aufgefallen sind. Hier sollte man reinsehen,wenn Änderungen anscheinend nicht vom Robot übernommen werden.<br />
|-<br />
| ||web.err|| Dies ist das Logfile des Apache-Webservers. Es enthält die Fehlermeldungen für alle Domains im Paket.<br />
|}<br />
<br />
----<br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]<br />
[[Kategorie:Einstieg bei Hostsharing]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Diskussion:Test_auf_eigenes_Zonefile&diff=3213Diskussion:Test auf eigenes Zonefile2012-04-23T07:02:57Z<p>Hsh00-edv: Die Seite wurde neu angelegt: „Wenn jemand ein individuelles Zonfile pri.example.com anlegt und die Änderungen vom Robot übenommen worden sind, kann pri.example.com gelöscht werden und di…“</p>
<hr />
<div>Wenn jemand ein individuelles Zonfile pri.example.com anlegt und die Änderungen vom Robot übenommen worden sind, kann pri.example.com gelöscht werden und die Änderungen bleiben scharf.<br />
<br />
Der Reset erfolgt, wie richtig dargestellt, mit Hilfe eines leeren Zonefiles.<br />
<br />
Das Nichtvorhandensein von pri.example.com gibt also '''keinen''' Aufschluss darüber, ob für die Domain eine individuelle DNS-Konfiguration aktiv ist.</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=3200Verwalten der Zonendaten2012-02-21T15:52:31Z<p>Hsh00-edv: /* Expansion der Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Eigenes Zonenfile ==<br />
<br />
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.<br />
<br />
{{Textkasten|rot|Warnung!|Das nicht sachgemäße Erstellen eines eigenen Zonefiles kann zur Nichterreichbarkeit der eigenen Domain und zum Verlust von Mails führen!}}<br />
<br />
Eine Anleitung für die eher einfachen und oft gewünschten Änderungen findet sich in [[Simple Zonefile Howto]].<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := <HIVE>.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <SEKUNDEN><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird folgermaßen expandiert.<br />
<br />
Zunächst werden die komplexen Platzhalter ersetzt:<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt:<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA <HIVE>.hostsharing.net. hostmaster.hostsharing.net. (<br />
<SEKUNDEN> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Das Zonefile deaktivieren/zurücksetzen ==<br />
<br />
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.<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:Zonefile]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Simple_Zonefile_Howto&diff=3125Simple Zonefile Howto2012-02-10T10:36:52Z<p>Hsh00-edv: Kleine Korrekturen, den Rest macht Christof.</p>
<hr />
<div>In diesem Howto werden einfachere Standardanwendungen für eigene Zonefiles behandelt. Tiefer gehende Erläuterungen finden sich in [[Verwalten der Zonendaten]].<br />
<br />
Das Hostsharing-Standardzonefile ist einer angepassten Lösung grundsätzlich vorzuziehen. Es entlastet den Anwender von Pflicht, sein Zonefile bei technischen Änderungen anzupassen. Sollte dennoch ein benutzerspezifisches Zonefile erforderlich sein, so verringert der Einsatz möglichst mächtiger Platzhalter den späteren Anpassungsbedarf. In vielen Fällen genügt es, den Platzhalter für das Standardzonefile um eigene Einträge zu ergänzen.<br />
<br />
Ist die Verwendung eines angepassten Zonefiles erforderlich, z.B. zur Realistation von DNS-Verweisen auf extern gelagerte Subdomains, der Anbindung externer Server oder der Verwendung eigener Mailserver, kann '''pro Domain''' ein eigenes Zonefile erstellen. Dieses befindet sich im Verzeichnis '''~/doms/example.com/etc''' und trägt den Namen '''pri.example.com''' (example.com steht hier als Beispiel für den wahren Domainnamen). Das Neuanlegen oder eine Änderung dieser Datei führt zu einer baldigen Änderung der Nameservereinträge für die Domain.<br />
<br />
{{Textkasten|rot|Warnung!|Das nicht sachgemäße Erstellen eines eigenen Zonefiles kann zur Nichterreichbarkeit der eigenen Domain und zum Verlust von Mails führen! Insbesondere sei auf die Fehlerquelle gesetzter bzw. nicht gesetzter abschließender Punkte hingewiesen.}}<br />
<br />
== www soll auf externe IP-Adresse verweisen ==<br />
<br />
Das komplette Zonefile sieht so aus, dadurch wird die Standardkonfiguration um einen weiteren Eintrag ergänzt:<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
www.{DOM_HOSTNAME}. IN A 1.2.3.4<br />
</pre><br />
<br />
== Subdomain zuhause.example.com über Anbieter wie dyndns ==<br />
<br />
Die Subdomain zuhause.example.com soll über einen Anbieter à la dyndns laufen. Das komplette Zonefile sieht so aus:<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
zuhause.{DOM_HOSTNAME}. IN CNAME example.dyndns.org.<br />
</pre><br />
<br />
== Externer Mailserver ==<br />
<br />
Wir wollen einen Mailserver extern betreiben, z.B. bei einem Cloud-Anbieter (Mails, Kontakte und Termine schon gecloudt?) oder im Büro. Wir übernehmen also erstmal alles, was {DEFAULT_ZONFILE} liefern würde, außer den MX Resource Records:<br />
<br />
<pre><br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{A_RR}<br />
{WILDCARD_A_RR}<br />
</pre><br />
<br />
Nun definieren wir den Mailserver:<br />
<br />
<pre><br />
mail.{DOM_HOSTNAME}. IN CNAME my.cloud.anderedomain.org.<br />
</pre><br />
<br />
Oder per fester IP:<br />
<br />
<pre><br />
mail.{DOM_HOSTNAME}. IN A 1.2.3.4<br />
</pre><br />
<br />
Dann legen wir die MX-Konfiguration fest, die besagt, welcher Mailserver für diese Domain zuständig ist:<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN MX 30 mail.{DOM_HOSTNAME}.<br />
</pre><br />
<br />
Wenn wir Mails auch für Subdomains wollen, brauchen wir zusätzlich:<br />
<br />
<pre><br />
*.{DOM_HOSTNAME}. IN MX 30 mail.{DOM_HOSTNAME}.<br />
</pre><br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Zonefile]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Simple_Zonefile_Howto&diff=3124Simple Zonefile Howto2012-02-10T09:01:17Z<p>Hsh00-edv: </p>
<hr />
<div>In diesem Howto werden einfachere Standardanwendungen für eigene Zonefiles behandelt. Tiefer gehende Erläuterungen finden sich in [[Verwalten der Zonendaten]].<br />
<br />
Das Hostsharing-Standardzonefile ist einer angepassten Lösung grundsätzlich vorzuziehen. Es entlastet den Anwender von Pflicht sein Zonefile bei technischen nachzupflegen. Sollte dennoch ein angepasstes Zonfile erforderlich sein, so verringert der Einsatz von möglichst mächtigen Platzhaltern den späteren Anpassungsbedarf. In vielen Fällen genügt es, das Standardzonefile um eigene Einträge zu ergänzen. Dies ist nach der Verwendung des Standardzonefiles die zweitbeste Lösung.<br />
<br />
Ist nun ein angepasstes Zonefile erforderlich, z.B. zur Realistation von DNS-Verweisen auf extern gelagerte Subdomains, der Anbindung externer Server oder der Verwendung eigener Mailserver, kann '''pro Domain''' ein eigenes Zonefile erstellen. Dieses befindet sich im Verzeichnis '''~/doms/example.com/etc''' und trägt den Namen '''pri.example.com''' (example.com steht hier als Beispiel für den wahren Domainnamen). Das Neuanlegen oder eine Änderung dieser Datei führt zu einer baldigen Änderung der Nameservereinträge für die Domain.<br />
<br />
{{Textkasten|rot|Warnung!|Das nicht sachgemäße Erstellen eines eigenen Zonefiles kann zur Nichterreichbarkeit der eigenen Domain und zum Verlust von Mails führen! Insbesondere sei auf die Fehlerquelle gesetzter bzw. nicht gesetzter abschließender Punkte hingewiesen.}}<br />
<br />
== www soll auf externe IP-Adresse verweisen ==<br />
<br />
Das komplette Zonefile sieht so aus, dadurch wird die Standardkonfiguration um einen weiteren Eintrag ergänzt:<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
www.{DOM_HOSTNAME}. IN A 1.2.3.4<br />
</pre><br />
<br />
== Subdomain zuhause.example.com über Anbieter wie dyndns ==<br />
<br />
Die Subdomain zuhause.example.com soll über einen Anbieter à la dyndns laufen. Das komplette Zonefile sieht so aus:<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
zuhause.{DOM_HOSTNAME}. IN CNAME example.dyndns.org.<br />
</pre><br />
<br />
== Externer Mailserver ==<br />
<br />
Wir wollen einen Mailserver extern betreiben, z.B. bei einem Cloud-Anbieter (Mails, Kontakte und Termine schon gecloudt?) oder im Büro. Wir übernehmen also erstmal alles, was {DEFAULT_ZONFILE} liefern würde, außer den MX Resource Records:<br />
<br />
<pre><br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{A_RR}<br />
{WILDCARD_A_RR}<br />
</pre><br />
<br />
Nun definieren wir den Mailserver:<br />
<br />
<pre><br />
mail.{DOM_HOSTNAME}. IN CNAME my.cloud.anderedomain.org.<br />
</pre><br />
<br />
Oder per fester IP:<br />
<br />
<pre><br />
mail.{DOM_HOSTNAME}. IN A 1.2.3.4<br />
</pre><br />
<br />
Dann legen wir die MX-Konfiguration fest, die besagt, welcher Mailserver für diese Domain zuständig ist:<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN MX 30 mail.{DOM_HOSTNAME}.<br />
</pre><br />
<br />
Wenn wir Mails auch für Subdomains wollen, brauchen wir zusätzlich:<br />
<br />
<pre><br />
*.{DOM_HOSTNAME}. IN MX 30 mail.{DOM_HOSTNAME}.<br />
</pre><br />
<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Zonefile]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=3091Verwalten der Zonendaten2012-02-04T09:15:36Z<p>Hsh00-edv: /* Das Zonefile deaktivieren/zurücksetzen */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := <HIVE>.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <SEKUNDEN><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA <HIVE>.hostsharing.net. hostmaster.hostsharing.net. (<br />
<SEKUNDEN> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Das Zonefile deaktivieren/zurücksetzen ==<br />
<br />
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.<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2982Verwalten der Zonendaten2011-09-08T16:26:03Z<p>Hsh00-edv: </p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := <HIVE>.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <SEKUNDEN><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA <HIVE>.hostsharing.net. hostmaster.hostsharing.net. (<br />
<SEKUNDEN> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2981Verwalten der Zonendaten2011-09-08T16:24:23Z<p>Hsh00-edv: /* Atomare Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := <hive>.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2980Verwalten der Zonendaten2011-09-08T16:23:48Z<p>Hsh00-edv: /* Aktives Zonefile */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA h00.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2979Verwalten der Zonendaten2011-09-05T09:38:22Z<p>Hsh00-edv: /* Logfile und Kontrolle */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2978Verwalten der Zonendaten2011-09-05T09:37:55Z<p>Hsh00-edv: /* aktives Zonefile */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== Aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Im Standardfall sieht es vollständig expandiert wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2977Verwalten der Zonendaten2011-09-05T09:34:00Z<p>Hsh00-edv: </p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2951Verwalten der Zonendaten2011-05-10T14:50:23Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
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.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2950Verwalten der Zonendaten2011-05-10T14:37:36Z<p>Hsh00-edv: /* Atomare Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Hierbei stehen<br />
* <Sekunden> für die Anzahl der Sekunden, welche seit dem 01.01.9170 vergangen sind<br />
* <FQDN> für den vollständigen, qualifizierten Domainnamen der Domain<br />
* <IP> für die der Domain zugewiesene IP-Adresse<br />
<br />
Diese Werte werden von Hostsharing verwaltet.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2949Verwalten der Zonendaten2011-05-10T14:32:50Z<p>Hsh00-edv: /* Expansion der Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in drei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2948Verwalten der Zonendaten2011-05-10T14:31:23Z<p>Hsh00-edv: /* Atomare Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN><br />
{DOM_IPNUMBER} := <IP><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben, ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2947Verwalten der Zonendaten2011-05-10T14:30:42Z<p>Hsh00-edv: /* Komplexe Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR} <br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben, ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2946Verwalten der Zonendaten2011-05-10T14:29:18Z<p>Hsh00-edv: /* Komplexe Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR] :=<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben, ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2945Verwalten der Zonendaten2011-05-10T14:27:20Z<p>Hsh00-edv: /* Expansion der Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
$TTL {TTL}<br />
<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben, ersetzt.<br />
<br />
<pre><br />
$TTL 6H<br />
<br />
<FQDN>. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
<Sekunden> ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
<FQDN>. IN NS dns1.hostsharing.net.<br />
<FQDN>. IN NS dns2.hostsharing.net.<br />
<FQDN>. IN NS dns3.hostsharing.net.<br />
<br />
<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
<FQDN>. IN A <IP><br />
<br />
*.<FQDN>. IN MX 30 mail1.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail2.hostsharing.net.<br />
*.<FQDN>. IN MX 30 mail3.hostsharing.net.<br />
<br />
*.<FQDN>. IN A <IP><br />
</pre><br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2944Verwalten der Zonendaten2011-05-10T14:20:40Z<p>Hsh00-edv: /* Expansion der komplexen und atomaren Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
$TTL {TTL}<br />
<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben, ersetzt.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2943Verwalten der Zonendaten2011-05-10T14:20:13Z<p>Hsh00-edv: /* Expansion der Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
$TTL {TTL}<br />
<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben, ersetzt.<br />
<br />
=== Expansion der komplexen und atomaren Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird somit im ersten und zweiten Schritt folgermaßen expandiert.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2942Verwalten der Zonendaten2011-05-10T14:19:31Z<p>Hsh00-edv: /* Expansion der Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
$TTL {TTL}<br />
<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in zwei Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben ersetzt.<br />
<br />
=== Expansion der komplexen und atomaren Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird somit im ersten und zweiten Schritt folgermaßen expandiert.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2941Verwalten der Zonendaten2011-05-10T14:19:09Z<p>Hsh00-edv: /* Expansion der komplexen Platzhalter */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
$TTL {TTL}<br />
<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird in Schritten folgermaßen expandiert.<br />
Zunächst werden die komplexen Platzhalter ersetzt.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Anschließend werden die atomaren Platzhalter, welche sich aus dem vorstehenden Zwischenschritt ergeben ersetzt.<br />
<br />
=== Expansion der komplexen und atomaren Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird somit im ersten und zweiten Schritt folgermaßen expandiert.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2940Verwalten der Zonendaten2011-05-10T14:16:18Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
=== Komplexe Platzhalter ===<br />
<br />
<pre><br />
$TTL {TTL}<br />
<br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Atomare Platzhalter ===<br />
<br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
=== Expansion der komplexen Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird somit im ersten Schritt folgermaßen expandiert.<br />
<br />
<pre><br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
=== Expansion der komplexen und atomaren Platzhalter ===<br />
<br />
Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONFILE} wird somit im ersten und zweiten Schritt folgermaßen expandiert.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2939Verwalten der Zonendaten2011-05-10T14:05:56Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} := <br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
</pre><br />
<pre><br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2938Verwalten der Zonendaten2011-05-10T14:01:07Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} := <br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2937Verwalten der Zonendaten2011-05-10T13:51:33Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE} :=<br />
{HEADER}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{HEADER} :=<br />
$TTL {TTL}<br />
<br />
{SOA_RR} := <br />
{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
<br />
{NS_RR} :=<br />
{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
<br />
{MX_RR} :=<br />
{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{A_RR} :=<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{WILDCARD_MX_RR} :=<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX1_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX2_HOSTNAME}.<br />
*.{DOM_HOSTNAME}. IN MX 30 {MX3_HOSTNAME}.<br />
<br />
{WILDCARD_A_RR} :=<br />
{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
{TTL} := 6H<br />
{SOA_HOSTNAME} := dns.hostsharing.net<br />
{SOA_EMAIL}:= hostmaster.hostsharing.net<br />
{SIO} := <Sekunden seit 01.01.1970><br />
{REFRESH} := 6H<br />
{RETRY} := 1H<br />
{EXPIRE} := 1W<br />
{MINIMUM} := 1H<br />
<br />
{DNS1_HOSTNAME} := dns1.hostsharing.net<br />
{DNS2_HOSTNAME} := dns2.hostsharing.net<br />
{DNS3_HOSTNAME} := dns3.hostsharing.net<br />
<br />
{MX1_HOSTNAME} := mailin1.hostsharing.net<br />
{MX2_HOSTNAME} := mailin2.hostsharing.net<br />
{MX3_HOSTNAME} := mailin3.hostsharing.net<br />
<br />
{DOM_HOSTNAME} := <FQDN der Domain><br />
{DOM_IPNUMBER} := <IP der Domain><br />
</pre><br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2936Verwalten der Zonendaten2011-05-10T13:49:09Z<p>Hsh00-edv: /* aktives Zonefile */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2931Verwalten der Zonendaten2011-04-29T06:43:52Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2930Verwalten der Zonendaten2011-04-28T13:07:48Z<p>Hsh00-edv: /* Domain Delegation */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{PAC_IPNUMBER}<br />
{PAC_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.{DOM_HOSTNAME}. IN NS {DNS1_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS2_HOSTNAME}.<br />
pic.{DOM_HOSTNAME}. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2929Verwalten der Zonendaten2011-04-28T12:46:59Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{PAC_IPNUMBER}<br />
{PAC_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.example.org. IN NS {DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2928Verwalten der Zonendaten2011-04-28T12:46:28Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{PAC_IPNUMBER}<br />
{PAC_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.example.org. IN NS {DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2927Verwalten der Zonendaten2011-04-28T12:45:58Z<p>Hsh00-edv: /* Domain Delegation */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{PAC_IPNUMBER}<br />
{PAC_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
{DEFAULT_ZONEFILE}<br />
pic.example.org. IN NS {DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {DNS3_HOSTNAME}.<br />
</pre><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2926Verwalten der Zonendaten2011-04-28T12:45:04Z<p>Hsh00-edv: /* Platzhalter für eigene Zonenfiles */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muss.<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
{HEADER}<br />
<br />
{SOA_RR} <br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_MX_RR}<br />
{WILDCARD_A_RR}<br />
<br />
{TTL}<br />
{SIO}<br />
{PAC_DNS_MASTER}<br />
<br />
{DNS1_HOSTNAME}<br />
{DNS2_HOSTNAME}<br />
{DNS3_HOSTNAME}<br />
<br />
{MX1_HOSTNAME}<br />
{MX2_HOSTNAME}<br />
{MX3_HOSTNAME}<br />
<br />
{PAC_IPNUMBER}<br />
{PAC_HOSTNAME}<br />
<br />
{DOM_IPNUMBER}<br />
{DOM_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
[...]<br />
pic.example.org. IN NS {HS_DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS3_HOSTNAME}.<br />
</pre><br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2925Verwalten der Zonendaten2011-04-28T12:39:00Z<p>Hsh00-edv: /* Änderungen */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.<br />
<br />
<br />
; {PAC_IPNUMBER} : IP-Nummer des [[Paket]]s<br />
; {PAC_HOSTNAME} : Hostname des ([[Paket]])s<br />
; {DOM_IPNUMBER} : IP-Nummer der [[Domain]]<br />
; {DOM_HOSTNAME} : Hostname der [[Domain]]<br />
<br />
; {PAC_DNS_MASTER}<br />
; {HS_DNS1_HOSTNAME}<br />
; {HS_DNS2_HOSTNAME}<br />
; {HS_DNS3_HOSTNAME}<br />
<br />
; {TTL}<br />
; {SIO} : Timestamp (Millisekunden)<br />
<br />
; {MX_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
[...]<br />
pic.example.org. IN NS {HS_DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS3_HOSTNAME}.<br />
</pre><br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2924Verwalten der Zonendaten2011-04-28T12:37:55Z<p>Hsh00-edv: /* aktives Zonefile */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.com. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1303649373 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
example.com. IN NS dns1.hostsharing.net.<br />
example.com. IN NS dns2.hostsharing.net.<br />
example.com. IN NS dns3.hostsharing.net.<br />
<br />
example.com. IN MX 30 mailin1.hostsharing.net.<br />
example.com. IN MX 30 mailin2.hostsharing.net.<br />
example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
example.com. IN A 83.223.95.160<br />
<br />
*.example.com. IN MX 30 mailin1.hostsharing.net.<br />
*.example.com. IN MX 30 mailin2.hostsharing.net.<br />
*.example.com. IN MX 30 mailin3.hostsharing.net.<br />
<br />
*.example.com. IN A 83.223.95.160<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Änderungen ==<br />
<br />
Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis <tt>etc</tt> der Domain abzulegen.<br />
<br />
Am besten man beginnt mit der folgenden universellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatisch durch die aktuellen Werte ersetzt werden:<br />
<br />
<pre><br />
$TTL {TTL}<br />
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (<br />
{SIO} ; serial secs since Jan 1 1970 <br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
IN NS {HS_DNS1_HOSTNAME}.<br />
IN NS {HS_DNS2_HOSTNAME}.<br />
IN NS {HS_DNS3_HOSTNAME}.<br />
<br />
IN MX 30 {MX_HOSTNAME}.<br />
* IN MX 30 {MX_HOSTNAME}.<br />
<br />
IN A {DOM_IPNUMBER}<br />
* IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Man speichert diese Vorlage unter /home/doms/example.com/etc/pri.example.com und kann sie dann bearbeiten und eigene Einträge ergänzen.<br />
<br />
Beispiele:<br />
; externe Server per "CNAME Record" eintragen<br />
wackelserver IN CNAME server0815.massenhoster-domain.tld<br />
homeip IN CNAME mein-nick.dyn-ip-service.tld<br />
<br />
; www Domaindelegation (Freigabe zur Aufschaltung in separatem Dynamic-Web Paket)<br />
; (Bestehender "A Record" der www Domain muss zudem entfernt werden.)<br />
www IN NS {HS_DNS1_HOSTNAME}.<br />
www IN NS {HS_DNS2_HOSTNAME}.<br />
www IN NS {HS_DNS3_HOSTNAME}.<br />
<br />
soll statt www eine subdomain deligiert werden muss dieser Eintrag am Ende der pri.example.com Datei stehen, also nach:<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
Danach legt man im Zielpaket die Subdomain an:<br />
hsadmin -c domain.add -s name=subdomain.example.tld -s user=xyz12<br />
<br />
Nach einer Änderung an einem selbstverwalteten Zonefile 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. (Mindestens entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)<br />
<br />
'''Hinweis:'''<br />
<br />
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:<br />
<br />
echo -n > /home/doms/example.org/etc/pri.example.org<br />
<br />
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.<br />
<br />
<br />
; {PAC_IPNUMBER} : IP-Nummer des [[Paket]]s<br />
; {PAC_HOSTNAME} : Hostname des ([[Paket]])s<br />
; {DOM_IPNUMBER} : IP-Nummer der [[Domain]]<br />
; {DOM_HOSTNAME} : Hostname der [[Domain]]<br />
<br />
; {PAC_DNS_MASTER}<br />
; {HS_DNS1_HOSTNAME}<br />
; {HS_DNS2_HOSTNAME}<br />
; {HS_DNS3_HOSTNAME}<br />
<br />
; {TTL}<br />
; {SIO} : Timestamp (Millisekunden)<br />
<br />
; {MX_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
[...]<br />
pic.example.org. IN NS {HS_DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS3_HOSTNAME}.<br />
</pre><br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Diskussion:Verwalten_der_Zonendaten&diff=2917Diskussion:Verwalten der Zonendaten2011-04-23T10:48:43Z<p>Hsh00-edv: /* Grundlegende Überarbeitung */</p>
<hr />
<div>Die Platzhalter müssen beschrieben werden, das File Beispiel sollte konsequenterweise dann auch die Platzhalter verwenden. --[[Benutzer:Jgp00-mail|Jgp00-mail]] 14:02, 7. Mär. 2009 (UTC)<br />
<br />
Konkrete Beispiele müssen entweder hier oder auf entsprechenden Unterseiten beschreiben werden --[[Benutzer:Jgp00-mail|Jgp00-mail]] 14:02, 7. Mär. 2009 (UTC)<br />
<br />
== Anfrage auf technik@hs ==<br />
<br />
Hi,<br />
<br />
habe mal auf technik@hs um Korrektur lesen gebeten.<br />
--[[Benutzer:Chg00-hsdoku|Chg00-hsdoku]] 19:11, 2. Jun. 2009 (UTC)<br />
<br />
Das schaut gut aus soweit.<br><br />
Alles Gute wünscht Ihr Hostsharing-Team<br><br />
Steffen Freund<br><br />
Ok dann nehme ich die Baustelle raus.<br />
--[[Benutzer:Chg00-hsdoku|Chg00-hsdoku]] 15:32, 1. Jul. 2009 (CEST)<br />
<br />
<br />
<br />
== Kontrollbefehl klappt nicht ==<br />
<br />
Der Befehl aus der Announce an 'Global' führt bei mir in der Konsole zu keiner Ausgabe<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
(example.com hatte ich durch meine Domain ersetzt!)<br />
Ggfs. bitte korrigieren- danke!<br />
<br />
: Das kann ich nicht nachvollziehen:<br />
<br />
phi00-doms@h01:~$ dig -t SOA @dns1 cruxwan.de | grep '^cruxwan.de.*SOA' | awk '{ print $7 }'<br />
1267175276<br />
phi00-doms@h01:~$<br />
<br />
: Was geben denn in deinem (nicht funktionierenden) Fall die ersten Pipeline-Elemente allein aus? Also:<br />
<br />
dig -t SOA @dns1 example.com<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA'<br />
<br />
: --[[Benutzer:Phi00-wiki|Paul Hink]] 21:44, 22. Apr. 2010 (CEST)<br />
<br />
::dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }' gibt bei mir 1268206804. Funktioniert also. --[[Benutzer:Deg00-m.website|ChristofT]] 22:47, 28. Apr. 2010 (CEST)<br />
<br />
== Grundlegende Überarbeitung ==<br />
<br />
Ich bin der Ansicht, der Artikel benötigt eine grundlegende Überarbeitung.<br />
<br />
Das Konzept mehrstufiger Platzhalterersetzung wird nicht deutlich, insbesondere wird folglich das einfachste und sicherste Verfahren für Ergänzungen des Standard-Zonefiles nicht vorgestellt.<br />
<br />
Es findet eine mehrstufige Ersetzung von Platzhaltern statt:<br />
<br />
{DEFAULT_ZONEFILE}<br />
<br />
wird zu<br />
<br />
{HEADER}<br />
{NS_RR}<br />
{MX_RR}<br />
{A_RR}<br />
{WILDCARD_RR}<br />
<br />
wird zu<br />
<br />
$TTL {TTL}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR}<br />
{WILDCARD_MX_RR}<br />
{A_RR}<br />
{WILDCARD_A_RR}<br />
<br />
wird zu<br />
<br />
$TTL {TTL}<br />
{DOM_HOSTNAME}. IN SOA {DNS1_HOSTNAME}. {SOA_EMAIL}. (<br />
{SIO} ; serial secs since Jan 1 1970<br />
{REFRESH} ; refresh (>=10000)<br />
{RETRY} ; retry (>=1800)<br />
{EXPIRE} ; expire<br />
{MINIMUM} ; minimum<br />
)<br />
IN NS {DNS1_HOSTNAME}.<br />
IN NS {DNS2_HOSTNAME}.<br />
IN NS {DNS3_HOSTNAME}.<br />
IN MX 30 {MX_HOSTNAME}. <br />
* IN MX 30 {MX_HOSTNAME}. <br />
IN A {DOM_IPNUMBER}<br />
* IN A {DOM_IPNUMBER}<br />
<br />
Im abschließenden Schritt werden dann die verbliebenen Platzhalter durch Werte ersetzt.<br />
<br />
Wer nur Ergänzungen am Zonefile vornehmen möchte, was in fast allen Fälle genügt, schreibt also:<br />
<br />
{DEFAULT_ZONEFILE}<br />
<Ergänzung><br />
<Ergänzung><br />
<Ergänzung><br />
<usw.><br />
<br />
Wer an den vorgegebenen Einstellungen Änderungen vornehmen möchte, z.B. sollte die Platzhalter verwenden, die möglichst umfassend wirken.<br />
Eine gute Basis stellt etwa die folgende Ersetzungsstufe dar:<br />
<br />
$TTL {TTL}<br />
{SOA_RR}<br />
{NS_RR}<br />
{MX_RR}<br />
{WILDCARD_MX_RR}<br />
{A_RR}<br />
{WILDCARD_A_RR}<br />
<br />
Dann entfernt man den Standardplatzhalter, der unpassend ist, und ersetzt ihn in geeigneter Weise.<br />
<br />
Es sollte '''niemals''' erforderlich sein oder werden, Hostsharing-IP-Adressen oder -Hostnames hart in das Zonefile zu schreiben.<br />
<br />
--[[Benutzer:Hsh00-edv|Hsh00-edv]] 14:08, 7. Apr. 2011 (CEST)</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&diff=2916Verwalten der Zonendaten2011-04-23T10:47:27Z<p>Hsh00-edv: </p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
<br />
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.<br />
<br />
{{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!}}<br />
<br />
<br />
{{Textkasten|rot|Achtung|Das Standardzonefile und die gültigen Platzhalter ändern sich in Kürze. Die Dokumentation wird derzeit aktualisiert.}}<br />
<br />
<br />
== aktives Zonefile ==<br />
<br />
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).<br />
<br />
Es sieht standardmäßig in etwa wie folgt aus:<br />
<br />
<pre><nowiki><br />
$TTL 6H<br />
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (<br />
1242748945 ; serial secs since Jan 1 1970<br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
IN NS dns1.hostsharing.net.<br />
IN NS dns2.hostsharing.net.<br />
IN NS dns3.hostsharing.net.<br />
<br />
IN MX 30 mailin.hostsharing.net.<br />
* IN MX 30 mailin.hostsharing.net.<br />
<br />
IN A 83.223.95.30<br />
* IN A 83.223.95.30<br />
<br />
</nowiki></pre><br />
<br />
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} (s. unten) eingetragen wird.<br />
<br />
== Änderungen ==<br />
<br />
Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis <tt>etc</tt> der Domain abzulegen.<br />
<br />
Am besten man beginnt mit der folgenden universellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatisch durch die aktuellen Werte ersetzt werden:<br />
<br />
<pre><br />
$TTL {TTL}<br />
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (<br />
{SIO} ; serial secs since Jan 1 1970 <br />
6H ; refresh (>=10000)<br />
1H ; retry (>=1800)<br />
1W ; expire<br />
1H ; minimum<br />
)<br />
<br />
IN NS {HS_DNS1_HOSTNAME}.<br />
IN NS {HS_DNS2_HOSTNAME}.<br />
IN NS {HS_DNS3_HOSTNAME}.<br />
<br />
IN MX 30 {MX_HOSTNAME}.<br />
* IN MX 30 {MX_HOSTNAME}.<br />
<br />
IN A {DOM_IPNUMBER}<br />
* IN A {DOM_IPNUMBER}<br />
</pre><br />
<br />
Man speichert diese Vorlage unter /home/doms/example.com/etc/pri.example.com und kann sie dann bearbeiten und eigene Einträge ergänzen.<br />
<br />
Beispiele:<br />
; externe Server per "CNAME Record" eintragen<br />
wackelserver IN CNAME server0815.massenhoster-domain.tld<br />
homeip IN CNAME mein-nick.dyn-ip-service.tld<br />
<br />
; www Domaindelegation (Freigabe zur Aufschaltung in separatem Dynamic-Web Paket)<br />
; (Bestehender "A Record" der www Domain muss zudem entfernt werden.)<br />
www IN NS {HS_DNS1_HOSTNAME}.<br />
www IN NS {HS_DNS2_HOSTNAME}.<br />
www IN NS {HS_DNS3_HOSTNAME}.<br />
<br />
soll statt www eine subdomain deligiert werden muss dieser Eintrag am Ende der pri.example.com Datei stehen, also nach:<br />
*.{DOM_HOSTNAME}. IN A {DOM_IPNUMBER}<br />
<br />
Danach legt man im Zielpaket die Subdomain an:<br />
hsadmin -c domain.add -s name=subdomain.example.tld -s user=xyz12<br />
<br />
Nach einer Änderung an einem selbstverwalteten Zonefile 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. (Mindestens entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)<br />
<br />
'''Hinweis:'''<br />
<br />
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:<br />
<br />
echo -n > /home/doms/example.org/etc/pri.example.org<br />
<br />
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!<br />
<br />
== Logfile und Kontrolle==<br />
<br />
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:<br />
<br />
Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567<br />
Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)<br />
Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of 'example.org/IN': <br />
AXFR-style IXFR started<br />
<br />
Die Zeilen bedeuten jeweils:<br />
<br />
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen<br />
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.<br />
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)<br />
<br />
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.<br />
<br />
<code><br />
-------- Original-Nachricht --------<br />
Betreff: [Global] DNS Zonenfile Änderungen<br />
Datum: Thu, 4 Mar 2010 08:30:34 +0100<br />
<br />
Moin Moin,<br />
<br />
aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein<br />
Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen<br />
später dann sind die Domains nicht mehr erreichbar und es heißt "in den<br />
letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert". Das mag<br />
auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um<br />
"mal eben schnell noch ... " ging.<br />
<br />
Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange<br />
die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -<br />
noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,<br />
sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!<br />
<br />
Was also tun? Zunächst kann man nach einer Änderung in einer<br />
Shell beobachten, ob es zu Fehlermeldungen kommt:<br />
<br />
tail -f /var/log/named/named.log <br />
<br />
oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)<br />
vorkommt:<br />
<br />
tail -f /var/log/named/named.log | grep example.com<br />
<br />
Diese Log-Datei ist daher genau aus diese Grunde auch auf dem<br />
Server lesbar.<br />
<br />
Auch sollte die in den DNS-Servern befindliche Seriennummer mit der<br />
aktuellen in der Zonendatei verglichen werden:<br />
<br />
dig -t SOA @dns1 example.com | grep '^example.com.*SOA' | awk '{ print $7 }'<br />
<br />
grep serial /etc/bind/pri.example.com | awk '{ print $1 }' <br />
</code><br />
<br />
== Platzhalter für eigene Zonenfiles ==<br />
<br />
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.<br />
<br />
<br />
; {PAC_IPNUMBER} : IP-Nummer des [[Paket]]s<br />
; {PAC_HOSTNAME} : Hostname des ([[Paket]])s<br />
; {DOM_IPNUMBER} : IP-Nummer der [[Domain]]<br />
; {DOM_HOSTNAME} : Hostname der [[Domain]]<br />
<br />
; {PAC_DNS_MASTER}<br />
; {HS_DNS1_HOSTNAME}<br />
; {HS_DNS2_HOSTNAME}<br />
; {HS_DNS3_HOSTNAME}<br />
<br />
; {TTL}<br />
; {SIO} : Timestamp (Millisekunden)<br />
<br />
; {MX_HOSTNAME}<br />
<br />
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. <br />
<br />
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.<br />
<br />
== Beispiele ==<br />
<br />
=== Domain Delegation ===<br />
HowTo: erläutern.<br />
<br />
<pre><br />
[...]<br />
pic.example.org. IN NS {HS_DNS1_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS2_HOSTNAME}.<br />
pic.example.org. IN NS {HS_DNS3_HOSTNAME}.<br />
</pre><br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:ToDo-Kerndoku]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Domains&diff=2911Domains2011-04-20T08:00:48Z<p>Hsh00-edv: Änderung 2865 von Chg00-hsdoku (Diskussion) rückgängig gemacht. (Es gibt kein dom-order-Formlar mehr.)</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
Die Domainverwaltung bei Hostsharing ist in zwei unabhängige Bereiche aufgeteilt:<br />
* Das "Domain-Bestellsystem" zur Vergabe von Aufträgen an Registrierungstellen, die über HS abgerechnet werden.<br />
* Die Domaineinrichtung in den HS-Paketen, zur Aufschaltung von Domains auf HS Name-, Mail- und Webserver.<br />
<br />
Bei anderen Hostern ist eine Domainbestellung teilweise eine feste Kopplung der Registrierung einer Domain mit Konnektierung und Aufschaltung auf bestimmte Nameserver und Webpakete. HS ist hier wesentlich flexibler. Der über HS angebotene Zugang zur Registrierungsverwaltung "Domain-Bestellsystem" (Domain-Robot Webfrontend) erlaubt es registrierte Domains auf frei wählbare DNS-Server zu konnektieren. Auf den HS Nameservern und Paketen lassen sich gleichzeitig beliebige weltweit registrierbare Domains einrichten. Hostsharing unterstützt damit die Einrichtetung und den Betrieb von Domains die von beliebigen (auch sehr exotischen) Registrierungsstellen verwaltet und abgerechnet werden können.<br />
<br />
Typische Domainaktionen beinhalten daher ein paar koordinierte Änderungen in der Domainregistrierung und HS-Einrichtung, wie folgend aufgezeigt. <br />
<br />
{{Textkasten|gruen||Der verbreitete Ausdruck KK (Konnektivitätskoordination) ist eigentlich veraltet, neu heißt es CHPROV (change provider).}}<br />
<br />
= FAQ =<br />
<br />
Zu Domains gibt es [[FAQ#Domains|hier]].<br />
<br />
= Domainregistrierung oder eingehender Transfer (KK) =<br />
<br />
Soll eine neue Domain registriert oder eingehend transferiert werden, sollte die Domain bei Hostsharing eingerichtet werden, bevor die Registrierung letztlich eingeleitet bzw. aktualisiert wird.<br />
<br />
'''1. ggf. bereits registrierte Domain zum Transfer freischalten'''<br />
<br />
: Dem vorherigen Provider muss die Transfer-Absicht mitgeteilt werden. Dafür gibt es bei den jeweiligen Providern etablierte Verfahren, die dort zu erfragen sind. Bspw. bekommt man dort eine AuthCode für die Domain mitgeteilt. Gibt es dort kein etabliertes Verfahren, so kann man wie folgt verfahren:<br />
<br />
:* Formlos per Brief/Fax den Transfer ankündigen und um Zustimmung bitten, z.B.:<br />
:::"Hiermit kündige ich als Owner/Admin-C den Transfer (KK) der Domain example.com zur Hostsharing eG, vertreten durch den Registrar Internetwire, an. <br />
::: Ich bitte, dem folgenden Transferantrag zuzustimmen." <br />
:* Nach Absendung der Transfer-Ankündigung 3-4 Tage warten, um dem alten Provider Zeit zu geben auf den Transferantrag zu reagieren. <br />
:* Wenn dem Transfer nicht stattgegeben wird, den Registrar der Domain herausfinden (z.B. über die Nameserver oder zuständige Registry) und bitten den Transfer zuzulassen.<br />
<br />
<br />
'''2. Einrichten der Domain auf den HS Servern'''<br />
<br />
Auf der [[Shell|Kommandozeile]]:<br />
hsadmin -c domain.add --set:user="<xyz00-admin>" --set:name="<example.com>"<br />
<br />
oder mit dem [[WebFrontend | HSadmin Webfrontend ]].<br />
<br />
Bei diesem Vorgang werden die Verzeichnisse für die Domain im eigenen Paket angelegt und die Nameserver von HS erhalten die notwendigen Updates. Letzteres ist Voraussetzung für den nächsten Schritt.<br />
<br />
{{Textkasten|gruen|Bei Fehler ... | Bei in [[hsadmin]] hängenden Domainaufträgen bitte Mail an mailto://service@hostsharing.net}}<br />
<br />
'''3. Neuregistrierung oder Transfer (KK) einleiten'''<br />
<br />
:* Im [http://www.domain-bestellsystem.de Domainbestellsystem] mit dem über HS vergebenen Account anmelden. Es handelt sich dabei nicht um den xyz00 Nutzer sondern der Nutzername ist hs-xyz.<br />
<br />
:* Neuregistrierung/Transfer(KK) einleiten. (Für den Transfer ist hier i.d.R. der zuvor in Erfahrung gebrachte AuthCode notwendig.)<br />
<br />
:* Bei der allerersten Domainregistrierung im Domainbestellsystem müssen die Hostsharing Nameserver noch manuell eingegeben werden. Es sind dies:<br />
<br />
dns1.hostsharing.net<br />
dns2.hostsharing.net<br />
dns3.hostsharing.net<br />
<br />
<br />
'''4. E-Mail-Adressen der neu eingerichteten Domain'''<br />
<br />
Ist die Domain bei Hostsharing aufgeschaltet, sind standardmäßig nur die E-Mail-Adressen webmaster@..., postmaster@... und abuse@... eingerichtet. Weitere Adressen können mit [[Hsadmin-mail]] konfiguriert werden.<br />
<br />
= Abgehender Transfer (KK) oder Domainkündigung/-löschung =<br />
<br />
Ausgehende Domaintransfers sind unabhängig von den Domaineinrichtungen bei HS möglich. Eine Domainregistrierung kann also über eine andere Registrierungsverwaltung abgerechnet werden und weiter bei HS eingerichtet und betrieben werden. Falls bei einem ausgehendem Transfer eine Domain jedoch auch nicht mehr weiter bei Hostsharing gehostet werden soll aber eine möglichst durchgehende Erreichbarkeit sichergestellt werden soll, ist es wichtig, dass die neuen (externen) DNS-Konnektierungen und Webserveraufschaltungen in Betrieb sind und alle alten DNS Caches ausgelaufen sind, bevor die Einrichtung bei HS entfernt wird.<br />
<br />
'''1. Domainlöschung beauftragen bzw. den Transfer freischalten'''<br />
<br />
:* Im [http://www.domain-bestellsystem.de Domainbestellsystem] mit dem über HS vergebenen Account anmelden.<br />
<br />
:* Die gewünschte Aktion einleiten (Löschung/Transit bzw. Domain für den Transfer freigeben/AuthCode erstellen lassen).<br />
<br />
'''2. ggf. Domaintransfer (KK) im externen Abrechnungssystem beauftragen (mit oder ohne externe DNS/Webserver Aufschaltung)'''<br />
<br />
:* Hierfür ist i.d.R. der zuvor erstellte AuthCode notwendig.<br />
<br />
'''3. ggf. Domaineinrichtung auf den HS Servern entfernen'''<br />
<br />
:::<pre>hsadmin -c domain.delete "<example.com>"</pre> oder mit dem HSadmin Webfrontend. Dies entfernt die Domainverzeichnisse aus dem Webserverpaket und die Domain aus dem DNS- und Mailservern bei Hostsharing.<br />
<br />
<br />
= "Handles" in der Registrierungsverwaltung =<br />
<br />
Die verschiednenen Registrierungstellen vergeben i.d.R. automatisch Registrierschlüssel -die sog. "Handles"- für jeden neuen Kontaktdatensatz (owner, admin-c, tech-c, zone-c Datensätze). Diese kann man bei weiteren Registrierungen verwenden um sich auf die gleichen Kontaktdaten zu beziehen. Die Internetwire-internen Handles im Domain-Bestellsystem beginnen mit einer Buchstaben/Zahlenkombination und enden mit @HANDLES.DE. Sie dienen dazu auch Kontaktdatensätze, die bei verschiedenen Registrierungsstellen hinterlegt sind unter einem Handle im Internetwire-System zu verwalten.<br />
<br />
= Weitere Domaineinrichtungs-Aktionen =<br />
<br />
== eigene Verwaltung der Zonefiles ==<br />
<br />
Siehe [[Verwalten der Zonendaten]].<br><br />
<br />
== lokale Subdomains aufschalten ==<br />
<br />
Lokale Subdomains können:<br />
<br />
* vom Domainadmin selbst unter ~/doms/example.net/subs/ durch das Anlegen eines Verzeichnisses erzeugt werden<br />
* vom Paketadmin einem anderen Domainadmin aufgeschaltet werden, auch in einem anderen Paket<br />
<br />
:: Es ist empfehlenswert vor Änderungen am Zonefile die Seite [[Verwalten_der_Zonendaten]] aufmerksam zu lesen '''und''' zu verstehen!<br />
<br />
:::Die Subdomain muss vom Paket-Admin/Domain-Admin durch folgende Ergänzung '''am Ende''' des Zonefile der Domain delegiert werden:<br />
<br />
:::<pre><br />
:::[...]<br />
:::pic IN NS {HS_DNS1_HOSTNAME}.<br />
:::pic IN NS {HS_DNS2_HOSTNAME}.<br />
:::pic IN NS {HS_DNS3_HOSTNAME}.<br />
:::</pre><br />
<br />
<br />
:::Prüfen, ob die Änderung des Zonefiles erfolgreich war:<br />
<br />
:::<pre>xyz00-abc@h01> dig @dns1.hostsharing.net "pic.example.org" NS | grep '^pic.example.org'</pre><br />
<br />
:::Bei Ausgabe<br />
<br />
:::<pre><br />
:::pic.example.org. 14400 IN NS dns1.hostsharing.net.<br />
:::pic.example.org. 14400 IN NS dns2.hostsharing.net.<br />
:::pic.example.org. 14400 IN NS dns3.hostsharing.net.<br />
:::</pre><br />
<br />
:::kann mit "Einrichten der Domain auf den HS Servern" per hsadmin oder WebFrontend fortgesetzt werden.<br />
<br />
== Domains neu zuordnen (Domain-Admin ändern, Paketzuordnung ändern) ==<br />
<br />
Domain-Verschiebungen (neu zuordnen) wird auch über die DNS Delegation gemacht und erfolgen grundsätzlich über HSAdmin durch Löschen und Neuanlegen der Domain vom Paketadmin bzw. den<br />
Paketadmins . <br />
<br />
(Die Verschiebungen innerhalb eines Pakets werden in absehbarer Zeit<br />
auch direkt, d.h. ohne Löschung, von HSAdmin unterstützt werden.)<br />
<br />
'''Achtung:''' Datenbanken und E-Mail Postfächer müssen selber vor Löschung '''gesichert''' werden! <br />
<br />
Verschiebungen über den HS-Service (service@hostsharing.net), etwa zur Verkürzung des<br />
Ausfallzeiten, sind gemäß Hostmaster-Stundensatz kostenpflichtig.<br />
<br />
== Status der Domaineinrichtung ==<br />
<br />
Der Domaineinrichtungs-Status kann mit unserem hsadmin-[[WebFrontend]] eingesehen werden oder mit [[hsadmin]] auf der Kommandozeile der [[Shell]]:<br />
<br />
<pre><br />
hsadmin -c domain.search<br />
</pre><br />
<br />
<br />
== Adresse von Owner / Admin-C ändern ==<br />
<br />
Die Änderung der Adressdaten erfolgt, indem die Adressdaten des zugehörigen Handles im [https://www.domain-bestellsystem.de Domain-Bestellsystem] aktualisiert werden. Die Logindaten <br />
sind im Februar 2010 an alle HS-Mitglieder versand worden.<br />
<br />
= Weiterführende Links =<br />
<br />
[[Verzeichnis-Struktur]]<br><br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Domains]]<br />
[[Kategorie:Hsadmin]]<br />
[[Kategorie:Glossar]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=TLS_/_SSL&diff=2887TLS / SSL2011-04-13T20:05:55Z<p>Hsh00-edv: /* Eigene SSL Zertifikate */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
Hostsharing besitzt ein SSL-Zertifikat, das von den Mitgliedern für https:// Zugriffe genutzt werden kann (Voreinstellung). Wenn es außerhalb der Paketdomain verwendet wird muss dieses Zertifikat im Browser jedoch explizit akzeptiert werden, da es für die Domain *.hostsharing.net ausgestellt ist. Der Browser meldet dann, dass das Zertifikat nicht zur aufgerufenen Domain passt.<br />
<br />
<br />
== Standardkonfiguration ==<br />
<br />
Neu aufgeschaltete Domains haben standardmäßig für die Verzeichnisse htdocs, subs, cgi und fastcgi getrennte *-ssl Ordner. (Ebenso beim /web Verzeichnis des Paketadmins.) Damit sind SSL-Inhalte sauber und sicher von Nicht-SSL Inhalten getrennt. <br />
<br />
Bei Domains, die schon vor der Einführung des SSL Features bestanden, sind die Verzeichnisse subs-ssl, cgi-ssl und fastcgi-ssl standardmäßig als symbolische Links auf die entsprechenden nicht-ssl Verzeichnisse angelegt worden. Diese Symlinks stellen die Kompatibilität mit der früheren SSL Option her. Damals gab es nur einen Ordner für http und https.<br />
<br />
Wer SSL und Nicht-SSL nun sauber trennen möchte oder ganz andere Inhalte anbieten möchte kann die Symlinks löschen und durch Verzeichnisse ersetzen. Im Paketweb ist dabei zu beachten, dass die Rechte neu angelegter Verzeichnisse noch anzupassen sind, wenn die SSL Verzeichnisse nicht für alle User zugänglich sein sollen. <br />
<br />
Wer hingegen SSL und Nicht-SSL Seiten innerhalb eines Verzeichnisbaums verwalten möchte, kann umgekehrt die SSL Verzeichnisse löschen und (ggf. auch nur selektiv für einige Unterverzeichnisse) Symlinks auf die Nicht-SSL Verzeichnisse anlegen.<br />
<br />
Die Symlinks erlauben es die Seiten sowohl mit als auch ohne SSL abzurufen. Konfigurations- bzw. Administrationsseiten z.B. lassen sich dadurch sehr einfach manuell auch per https:// erreichen.<br />
<br />
Möchte man den Zugriff auf bestimmte Seiten nur mit SSL erlauben und automatisch auf SSL umschalten, muss dies noch durch entsprechende [[.htaccess]] Dateien für die betroffenen Verzeichnisse konfiguriert werden.<br />
<br />
== Eigene SSL Zertifikate ==<br />
<br />
Möchte man, dass eine eigene Domain ohne Fehlermeldungen per SSL erreichbar ist, benötigt man ein eigenes Zertifikat von einer Zertifizierungsstelle, die von den Browsern standardmäßig anerkannt wird. <br />
<br />
Zudem benötigt man in seinem Paket eine eigene IP-Nummer, da dies die Voraussetzung zur Nutzung von ssl-Verschlüsselung ist. Deshalb ist auch nur ein Zertifikat pro Paket möglich.<br />
<br />
Zunächst muss man als Paket-Admin einen Private Key erzeugen und dann einen CSR (Certificate Signing Request - mit dem Private Key erzeugte Anforderung für ein Zertifikat). Wie das genau funktioniert, ist meistens von Seiten der Zertifizierungsstelle beschrieben.<br />
<br />
Man kann aber auch ein kleines Skript nutzen, das Michael Hierweck aufgrund von einer Anleitung von Michaels Hönnig zur Erzeugung von Zertifikaten geschrieben hat:<br />
<br />
<pre><nowiki><br />
#! /bin/sh<br />
<br />
#Nur Zugriffe für den Owner erlauben<br />
umask u=rwx,g=,o=<br />
<br />
#Zertifikat erzeugen<br />
openssl req -new -x509 -keyout ~/etc/cakey.pem -out ~/etc/careq.pem $*<br />
openssl rsa <~/etc/cakey.pem >~/etc/https.new<br />
cat ~/etc/careq.pem >>~/etc/https.new<br />
<br />
#Temporäre Dateien löschen<br />
rm ~/etc/cakey.pem<br />
rm ~/etc/careq.pem<br />
<br />
#Altes Zertifikat sichern<br />
cp ~/etc/https.pem ~/etc/https.old<br />
</nowiki></pre><br />
<br />
Es können weitere Parameter angeben werden, z.B. -days 370.<br />
<br />
Die Domain oder Wildcard (*.domain.TLD) für die das Zertifikat gilt, wird auf die Frage als Common Name angegeben.<br />
<br />
Anschließend wird der Zertifizierungsstelle der csr übermittelt. Die Datei, die man dann von der Zertifizierungsstelle erhält, muss in das Verzeichnis /etc des Paketadmins kopiert werden. Das neue Zertifikat muss dann noch manuell aktiviert werden, d.h. in https.pem umbenannt werden. Damit kann man dies zu einem beliebigen späteren Zeitpunkt tun und das Zertifikat vorher prüfen.<br />
<br />
''' Per Auftrag an service@ muss um Aktivierung des neuen Zertifikats gebeten werden. '''<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:WWW]]<br />
[[Kategorie:Glossar]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Die_wichtigsten_Unix-Kommandos&diff=2886Die wichtigsten Unix-Kommandos2011-04-13T18:45:27Z<p>Hsh00-edv: </p>
<hr />
<div>Ab jetzt wirst du immer wieder die UNIX (Linux) Shell benutzen. Genau genommen die bash (bourne again shell). Diese Shell bietet einige Möglichkeiten mehr als die vielleicht bekannte DOS-Shell command.com. <br />
<br />
Was wir zunächst einmal sehen, wenn wir uns per ssh (z.B. mit [http://www.openssh.org/de/ OpenSSH] oder [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]) in einen unserer Shell-Accounts (z.b. xyz00) eingeloggt haben, ist eine Begrüßungsmeldung gefolgt von einem so genannten Prompt:<br />
<br />
<pre><nowiki><br />
xyz00@hopi:~$ █<br />
</nowiki></pre><br />
<br />
Dort blinkt üblicherweise, statt des hier dargestellten schwarzen Rechtecks, ein Cursor. Und hier können wir unsere Kommandos eingeben. Üblicherweise tun UNIX-Kommandos nur genau das, was man ihnen sagt, keine Antwort bedeutet also: Kommando ausgeführt. Bei DOS hingegen wird meist auch die erfolgreiche Ausführung eines Kommandos gemeldet. Wenn man aber Kommandos miteinander in so genannten Skripten (Batch-Programmen) verknüpfen möchte, und das kann man mit der Shell hervorragend, wären diese zusätzlichen Ausgaben nur störend. <br />
<br />
Wichtig zu wissen ist außerdem, dass UNIX i.d.R. zwischen Groß- und Kleinschreibung unterscheidet, sowohl bei den Kommandos als auch bei den Dateinamen. Zudem werden die Verzeichnisnamen in Pfaden unter UNIX mit einem Slash "/" statt einem Backslash "\" getrennt. Laufwerke kennt UNIX außerdem nicht, stattdessen werden andere Medien an bestimmten Stellen in den einen Verzeichnisbaum, dessen Wurzel "/" ist, eingehängt. <br />
<br />
Hier eine Liste von Kommandos:<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5"<br />
! Befehl !! zu Deutsch !! Kommentar<br />
|-<br />
| apt-get moo || Muh! || Gibt eine Kuh aus.<br />
|-<br />
| ls|| list || Anzeige der Dateinamen und Verzeichnisse<br />
|-<br />
| ls -l || -l lang || Rechte, Besitzer, Größe, Datum Infos<br />
|-<br />
| ls -a || -a || Anzeige der Dateien die mit . beginnen<br />
|-<br />
| cd || Wechsel Verzeichnis || damit wird immer ins Home Verzeichnis gewechselt<br />
|-<br />
| cd DIR|| gehe in DIR Verzeichnis || wechselt in das mit DIR angegebene Verzeichnis<br />
|-<br />
| mkdir DIR || Verzeichnis erstellen || <br />
|-<br />
| rmdir DIR || Verzeichnis löschen || es werden nur leere Verzeichnisse gelöscht<br />
|-<br />
| pwd || privatesArbeitsVerzeichnis || Anzeige des aktuelles Arbeitsverzeichnis von / ausgehend<br />
|-<br />
| rm DATEI || lösche Datei|| <br />
|-<br />
| rm -r DIR || lösche Verzeichnis|| und alle Unterverzeichnisse ohne Rückfrage <br />
|-<br />
| cp QUELLDATEI ZIELDATEI || Kopiere Datei A - B || <br />
|-<br />
| cp -r QUELLDIR ZIELDIR || kopiert Verzeichnis mit Unterverzeichnissen || <br />
|-<br />
| mv QUELLE ZIEL || move - verschieben || umbenenne von Datei oder Verzeichnis<br />
|-<br />
| ln -s QUELLE ZIEL || legt 2ten Namen für Datei/Verzeichnis an || eine symbolischen Link<br />
|-<br />
| su USER || wechsel des Benutzers || <br />
|-<br />
| chmod RIGHTS DATEI || Datei Rechte ändern || siehe unten<br />
|-<br />
| exit || Ende || beendet die Shell die Sitzung <br />
|}<br />
<br />
<br />
== Rechte unter UNIX: Zahlencode ==<br />
<br />
Für die Rechtevergabe existiert ein einfacher Zahlencode von drei Ziffern. Die erste Ziffer bezieht sich auf den Besitzer der Datei/des Verzeichnisses, die zweite auf die Gruppe und die dritte auf alle anderen, also andere User, aber auch den Webserver.<br />
<br />
*Lesen<br />
*Schreiben<br />
*Ausführen<br />
<br />
Weist man einer Datei z.B. die Rechte 764 zu, so bedeutet das, dass der Besitzer die Datei lesen, schreiben und ausführen darf (4+2+1=7), die Gruppe lesen und schreiben (4+2=6) darf und alle anderen nur lesen (4) dürfen.<br />
<br />
Weitere Informationen über UNIX-Kommandos geben die Kommandos '''man''' (Manual), '''info''' und '''apropos'''. Ein guter Anfang wäre:<br />
<br />
<pre><nowiki><br />
xyz00@hopi$ man apropos<br />
</nowiki></pre><br />
<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
Eine weitere Quelle für Informationen über Linux ist http://www.selflinux.org. <br />
<br />
Und über UNIX im Allgemeinen gibt es ein OpenBook speziell für Anfänger geschrieben: http://www.galileocomputing.de/openbook/unix_guru/<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Einstieg bei Hostsharing]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Die_wichtigsten_Unix-Kommandos&diff=2885Die wichtigsten Unix-Kommandos2011-04-13T18:43:47Z<p>Hsh00-edv: </p>
<hr />
<div>Ab jetzt wirst du immer wieder die UNIX (Linux) Shell benutzen. Genau genommen die bash (bourne again shell). Diese Shell bietet einige Möglichkeiten mehr als die vielleicht bekannte DOS-Shell command.com. <br />
<br />
Was wir zunächst einmal sehen, wenn wir uns per ssh (z.B. mit [http://www.openssh.org/de/ OpenSSH] oder [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]) in einen unserer Shell-Accounts (z.b. xyz00) eingeloggt haben, ist eine Begrüßungsmeldung gefolgt von einem so genannten Prompt:<br />
<br />
<pre><nowiki><br />
xyz00@hopi:~$ █<br />
</nowiki></pre><br />
<br />
Dort blinkt üblicherweise, statt des hier dargestellten schwarzen Rechtecks, ein Cursor. Und hier können wir unsere Kommandos eingeben. Üblicherweise tun UNIX-Kommandos nur genau das, was man ihnen sagt, keine Antwort bedeutet also: Kommando ausgeführt. Bei DOS hingegen wird meist auch die erfolgreiche Ausführung eines Kommandos gemeldet. Wenn man aber Kommandos miteinander in so genannten Skripten (Batch-Programmen) verknüpfen möchte, und das kann man mit der Shell hervorragend, wären diese zusätzlichen Ausgaben nur störend. <br />
<br />
Wichtig zu wissen ist außerdem, dass UNIX i.d.R. zwischen Groß- und Kleinschreibung unterscheidet, sowohl bei den Kommandos als auch bei den Dateinamen. Zudem werden die Verzeichnisnamen in Pfaden unter UNIX mit einem Slash "/" statt einem Backslash "\" getrennt. Laufwerke kennt UNIX außerdem nicht, stattdessen werden andere Medien an bestimmten Stellen in den einen Verzeichnisbaum, dessen Wurzel "/" ist, eingehängt. <br />
<br />
Hier eine Liste von Kommandos:<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5"<br />
! Befehl !! zu Deutsch !! Kommentar<br />
|-<br />
| apt-get moo || Muh! || Gub eine Kuh aus.<br />
|-<br />
| ls|| list || Anzeige der Dateinamen und Verzeichnisse<br />
|-<br />
| ls -l || -l lang || Rechte, Besitzer, Größe, Datum Infos<br />
|-<br />
| ls -a || -a || Anzeige der Dateien die mit . beginnen<br />
|-<br />
| cd || Wechsel Verzeichnis || damit wird immer ins Home Verzeichnis gewechselt<br />
|-<br />
| cd DIR|| gehe in DIR Verzeichnis || wechselt in das mit DIR angegebene Verzeichnis<br />
|-<br />
| mkdir DIR || Verzeichnis erstellen || <br />
|-<br />
| rmdir DIR || Verzeichnis löschen || es werden nur leere Verzeichnisse gelöscht<br />
|-<br />
| pwd || privatesArbeitsVerzeichnis || Anzeige des aktuelles Arbeitsverzeichnis von / ausgehend<br />
|-<br />
| rm DATEI || lösche Datei|| <br />
|-<br />
| rm -r DIR || lösche Verzeichnis|| und alle Unterverzeichnisse ohne Rückfrage <br />
|-<br />
| cp QUELLDATEI ZIELDATEI || Kopiere Datei A - B || <br />
|-<br />
| cp -r QUELLDIR ZIELDIR || kopiert Verzeichnis mit Unterverzeichnissen || <br />
|-<br />
| mv QUELLE ZIEL || move - verschieben || umbenenne von Datei oder Verzeichnis<br />
|-<br />
| ln -s QUELLE ZIEL || legt 2ten Namen für Datei/Verzeichnis an || eine symbolischen Link<br />
|-<br />
| su USER || wechsel des Benutzers || <br />
|-<br />
| chmod RIGHTS DATEI || Datei Rechte ändern || siehe unten<br />
|-<br />
| exit || Ende || beendet die Shell die Sitzung <br />
|}<br />
<br />
<br />
== Rechte unter UNIX: Zahlencode ==<br />
<br />
Für die Rechtevergabe existiert ein einfacher Zahlencode von drei Ziffern. Die erste Ziffer bezieht sich auf den Besitzer der Datei/des Verzeichnisses, die zweite auf die Gruppe und die dritte auf alle anderen, also andere User, aber auch den Webserver.<br />
<br />
*Lesen<br />
*Schreiben<br />
*Ausführen<br />
<br />
Weist man einer Datei z.B. die Rechte 764 zu, so bedeutet das, dass der Besitzer die Datei lesen, schreiben und ausführen darf (4+2+1=7), die Gruppe lesen und schreiben (4+2=6) darf und alle anderen nur lesen (4) dürfen.<br />
<br />
Weitere Informationen über UNIX-Kommandos geben die Kommandos '''man''' (Manual), '''info''' und '''apropos'''. Ein guter Anfang wäre:<br />
<br />
<pre><nowiki><br />
xyz00@hopi$ man apropos<br />
</nowiki></pre><br />
<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
Eine weitere Quelle für Informationen über Linux ist http://www.selflinux.org. <br />
<br />
Und über UNIX im Allgemeinen gibt es ein OpenBook speziell für Anfänger geschrieben: http://www.galileocomputing.de/openbook/unix_guru/<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Einstieg bei Hostsharing]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Die_wichtigsten_Unix-Kommandos&diff=2884Die wichtigsten Unix-Kommandos2011-04-13T18:43:06Z<p>Hsh00-edv: </p>
<hr />
<div>Ab jetzt wirst du immer wieder die UNIX (Linux) Shell benutzen. Genau genommen die bash (bourne again shell). Diese Shell bietet einige Möglichkeiten mehr als die vielleicht bekannte DOS-Shell command.com. <br />
<br />
Was wir zunächst einmal sehen, wenn wir uns per ssh (z.B. mit [http://www.openssh.org/de/ OpenSSH] oder [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]) in einen unserer Shell-Accounts (z.b. xyz00) eingeloggt haben, ist eine Begrüßungsmeldung gefolgt von einem so genannten Prompt:<br />
<br />
<pre><nowiki><br />
xyz00@hopi:~$ █<br />
</nowiki></pre><br />
<br />
Dort blinkt üblicherweise, statt des hier dargestellten schwarzen Rechtecks, ein Cursor. Und hier können wir unsere Kommandos eingeben. Üblicherweise tun UNIX-Kommandos nur genau das, was man ihnen sagt, keine Antwort bedeutet also: Kommando ausgeführt. Bei DOS hingegen wird meist auch die erfolgreiche Ausführung eines Kommandos gemeldet. Wenn man aber Kommandos miteinander in so genannten Skripten (Batch-Programmen) verknüpfen möchte, und das kann man mit der Shell hervorragend, wären diese zusätzlichen Ausgaben nur störend. <br />
<br />
Wichtig zu wissen ist außerdem, dass UNIX i.d.R. zwischen Groß- und Kleinschreibung unterscheidet, sowohl bei den Kommandos als auch bei den Dateinamen. Zudem werden die Verzeichnisnamen in Pfaden unter UNIX mit einem Slash "/" statt einem Backslash "\" getrennt. Laufwerke kennt UNIX außerdem nicht, stattdessen werden andere Medien an bestimmten Stellen in den einen Verzeichnisbaum, dessen Wurzel "/" ist, eingehängt. <br />
<br />
Hier eine Liste von Kommandos:<br />
<br />
{| class="wikitable"<br />
|- class="hintergrundfarbe5"<br />
! Befehl !! zu Deutsch !! Kommentar<br />
|-<br />
apt-get moo || Muh! || Muh!<br />
|-<br />
| ls|| list || Anzeige der Dateinamen und Verzeichnisse<br />
|-<br />
| ls -l || -l lang || Rechte, Besitzer, Größe, Datum Infos<br />
|-<br />
| ls -a || -a || Anzeige der Dateien die mit . beginnen<br />
|-<br />
| cd || Wechsel Verzeichnis || damit wird immer ins Home Verzeichnis gewechselt<br />
|-<br />
| cd DIR|| gehe in DIR Verzeichnis || wechselt in das mit DIR angegebene Verzeichnis<br />
|-<br />
| mkdir DIR || Verzeichnis erstellen || <br />
|-<br />
| rmdir DIR || Verzeichnis löschen || es werden nur leere Verzeichnisse gelöscht<br />
|-<br />
| pwd || privatesArbeitsVerzeichnis || Anzeige des aktuelles Arbeitsverzeichnis von / ausgehend<br />
|-<br />
| rm DATEI || lösche Datei|| <br />
|-<br />
| rm -r DIR || lösche Verzeichnis|| und alle Unterverzeichnisse ohne Rückfrage <br />
|-<br />
| cp QUELLDATEI ZIELDATEI || Kopiere Datei A - B || <br />
|-<br />
| cp -r QUELLDIR ZIELDIR || kopiert Verzeichnis mit Unterverzeichnissen || <br />
|-<br />
| mv QUELLE ZIEL || move - verschieben || umbenenne von Datei oder Verzeichnis<br />
|-<br />
| ln -s QUELLE ZIEL || legt 2ten Namen für Datei/Verzeichnis an || eine symbolischen Link<br />
|-<br />
| su USER || wechsel des Benutzers || <br />
|-<br />
| chmod RIGHTS DATEI || Datei Rechte ändern || siehe unten<br />
|-<br />
| exit || Ende || beendet die Shell die Sitzung <br />
|}<br />
<br />
<br />
== Rechte unter UNIX: Zahlencode ==<br />
<br />
Für die Rechtevergabe existiert ein einfacher Zahlencode von drei Ziffern. Die erste Ziffer bezieht sich auf den Besitzer der Datei/des Verzeichnisses, die zweite auf die Gruppe und die dritte auf alle anderen, also andere User, aber auch den Webserver.<br />
<br />
*Lesen<br />
*Schreiben<br />
*Ausführen<br />
<br />
Weist man einer Datei z.B. die Rechte 764 zu, so bedeutet das, dass der Besitzer die Datei lesen, schreiben und ausführen darf (4+2+1=7), die Gruppe lesen und schreiben (4+2=6) darf und alle anderen nur lesen (4) dürfen.<br />
<br />
Weitere Informationen über UNIX-Kommandos geben die Kommandos '''man''' (Manual), '''info''' und '''apropos'''. Ein guter Anfang wäre:<br />
<br />
<pre><nowiki><br />
xyz00@hopi$ man apropos<br />
</nowiki></pre><br />
<br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
Eine weitere Quelle für Informationen über Linux ist http://www.selflinux.org. <br />
<br />
Und über UNIX im Allgemeinen gibt es ein OpenBook speziell für Anfänger geschrieben: http://www.galileocomputing.de/openbook/unix_guru/<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Einstieg bei Hostsharing]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Login_mit_SSH&diff=2883Login mit SSH2011-04-13T18:40:01Z<p>Hsh00-edv: /* welcher Editor in der shell */</p>
<hr />
<div>Um sich einloggen zu können, brauchst Du natürlich die Daten, die Dir von Hostsharing in einer Mail nach der Anmeldung zugeschickt wurden: <br />
<br />
Hostname: '''xyz00.hostsharing.net''' (wenn eine eigene Domain konnektiert ist auch <eigene-domain>.<tld>)<br />
<br />
Username: '''xyz00''' <br />
<br />
Passwort: '''(wie in der automatischen Mail mitgeteilt)''' <br />
<br />
<br />
Bei xyz00 handelt es sich um den Account des Paket-Admins. Initial ist für jedes neue Paket nur ein Admin-Account eingerichtet, dessen Benutzername die Form '''xyz00''' besitzt. <br />
<br />
Da dieser Account sehr viel Macht über das Paket hat, darf er nur über sichere Protokolle wie SSH benutzt werden. Unsichere Protokolle wie direktes FTP dürfen nicht verwendet werden, da diese die Passwörter im Klartext übertragen. Jeder Administrator auf der Übertragungsstrecke könnte mitlesen. <br />
<br />
Gleich vorab: Seine Website kann man später freilich über einen separaten Account per ftps, sftp, scp (und zur Not auch ftp) hochladen, doch dazu später mehr.<br />
<br />
Linux Systeme haben meist ssh, scp und sftp Clients vorinstalliert. Eine Freie Software zum sicheren Dateitransfer für Windows ist z.B. [http://winscp.net WinSCP] und ein Shell Zugang mit [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]. <br />
<br />
Nach der ggf. nötigen Installation eines ssh Clients, die hier nicht beschrieben werden, da sie nicht Hostsharing-spezifisch ist, kann der erste Login erfolgen.<br />
<br />
<br />
== Login ==<br />
<br />
Mit OpenSSH ist der Aufruf auf der Kommandozeile z.B. folgender: <br />
<br />
ssh xyz00@xyz00.hostsharing.net<br />
<br />
Nach Aufbau der Verbindung wird dann das [[Passwort]] erfragt.<br />
Danach erscheint in etwa folgende Bildschirmausgabe:<br />
<br />
<pre><nowiki><br />
Last login: Fri Apr 19 06:43:45 2002 from p5081f0c7.dip.t-dialin.net on pts/7<br />
<br />
Linux hopi 2.4.17 #2 SMP Thu Jan 17 14:35:38 CET 2002 i686 unknown<br />
<br />
<br />
+----------------------------------------------------------------+<br />
| hopi.hostsharing.net |<br />
| Bei Fragen oder Problemen bitte E-Mail an: |<br />
| support@hostsharing.net (öffentliche Mailingliste) |<br />
+----------------------------------------------------------------+<br />
<br />
Last login: Fri Apr 19 09:36:34 2002 from 62.156.160.59<br />
<br />
<br />
xyz0@hopi:~$ █<br />
</nowiki></pre><br />
<br />
Es macht durchaus Sinn, die ganz oben genannte "Last Login" Zeile zu prüfen, ob man dies auch selbst war (Uhrzeit und Provider), unten die "Last Login" Zeile gibt genau genommen das aktuelle Login aus, weil der Programmteil nach dem eigentlichen Login ausgeführt wird. <br />
<br />
Als nächstes ändern wir gleich unser [[Passwort]], da dieses schließlich unverschlüsselt per E-Mail versendet wurde. Dies geschieht unter UNIX mit dem Kommando passwd<br />
<br />
== Passwort ändern ==<br />
<br />
Eine Änderung des Passwortes geht dem Befehl passwd:<br />
<br />
<pre><nowiki><br />
xyz00@hopi:~$ passwd<br />
<br />
Changing password for xyz00<br />
<br />
(current) UNIX password: ALTESPASSWORT<br />
<br />
Enter new UNIX password: NEUESPASSWORT<br />
<br />
Retype new UNIX password: NEUESPASSWORT<br />
<br />
passwd: password updated successfully<br />
<br />
xyz00@hopi:~$ █<br />
<br />
</nowiki></pre><br />
<br />
Die Platzhalter '''NEUESPASSWORT''' und '''ALTESPASSWORT''' müssen dabei selbstverständlich gegen die entsprechenden [[Passworte]] ausgetauscht werden. Dabei sollte jedes Passwort mindestens 6 Zeichen lang sein, besser 8 Zeichen, und aus Buchstaben, Ziffern und ggf. Sonderzeichen bestehen. Allerdings sollte auf Umlaute verzichtet werden, da diese je nach verwendetem Zugangsweg nicht verwendet werden könnten. <br />
<br />
Ggf. kommt es zu Fehlermeldungen, z.B. wenn das neue [[Passwort]] zu simpel ist, oder bei der Wiederholung nicht identisch mit dem ersten Passwort ist. In dem Fall, den Vorgang einfach wiederholen. Solange das neue Passwort nicht erfolgreich übernommen wurde, bleibt das alte gültig. <br />
<br />
Es gibt User, denen der Paket-Admin nur das Recht eingeräumt hat, das eigene Passwort zu ändern, indem er ihnen die "Shell" /usr/bin/passwd zugewiesen hat. Diese User können durch einen Shell-Login nur ihr Passwort ändern, da das Programm passwd an Stelle einer Shell gestartet wird. Sie werden nach dem Einloggen automatisch auf diesen Dialog geführt.Mehr dazu unter [[User#Rechte]].<br />
<br />
==Sitzung beenden==<br />
<br />
Um die Sitzung zu beenden, sich also auszuloggen, gibt man exit ein. Das sieht dann so aus: <br />
<br />
<pre><nowiki><br />
xyz00@hopi:~$ exit <br />
logout <br />
Connection to xyz00.hostsharing.net closed.<br />
</nowiki></pre><br />
<br />
== Zusätzliche Möglichkeiten ==<br />
<br />
== Bestimmte Shell Kommandos automatisch ausführen ==<br />
<br />
Lege in dem Verzeichnis, in dem Du direkt nach dem Login landest, mit dem Editor Deiner Wahl die Datei .bash_profile mit folgendem Inhalt an:<br />
<pre><br />
# Get the aliases and functions<br />
if [ -f ~/.bashrc ]; then<br />
. ~/.bashrc<br />
fi<br />
# User specific environment and startup programs<br />
PATH=$PATH:$HOME/bin<br />
BASH_ENV=$HOME/.bashrc<br />
</pre><br />
<br />
Und nun kannst du in der Datei .bashrc shell Kommandos eingeben. z.B.: quota -g<br />
<br />
== welcher Editor in der shell ==<br />
<br />
1. manuell Einloggen und:<br />
<pre><br />
VISUAL=nano<br />
export VISUAL<br />
EDITOR=nano<br />
export EDITOR<br />
</pre><br />
<br />
2. in der bash geht es auch kürzer:<br />
<pre>export EDITOR=nano<br />
export VISUAL=nano<br />
<br />
3. automatisch bei jedem Login<br />
<br />
Mit obigen Kommandos in der ~/.bash_profile-Datei.<br />
</pre><br />
<br />
==Weiterführende Links==<br />
<br />
[[HS-Server:SSH-Hostkeys]]<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Einstieg bei Hostsharing]]<br />
[[Kategorie:SSH]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Gr%C3%B6%C3%9Fenbeschr%C3%A4nkung_von_E-Mails&diff=2875Größenbeschränkung von E-Mails2011-04-13T18:07:59Z<p>Hsh00-edv: </p>
<hr />
<div>Die maximale Größe von E-Mails ist bei Hostsharing auf 32 MB festgelegt. Weil Dateianhänge in E-Mails sehr ineffizient kodiert werden – als Faustregel kann man rechnen, dass die Größe beim Versand um etwas mehr als 1/3 größer als die Dateigröße ist – bedeutet das in der Praxis, dass man keine Dateianhänge versenden oder empfangen kann, die größer als ca. 23 MB sind.<br />
<br />
{{Textkasten|gruen|Größenbeschränkung in Kurzform|Mails mit Anhängen sollten nicht größer als 23 MB sein, damit sie sicher durchkommen. Andere E-Mail-Anbieter haben möglicherweise abweichende Größenbeschränkungen.}}<br />
<br />
== Versandgröße von Dateianhängen ==<br />
<br />
Dateianhänge werden in E-Mails mit Hilfe des [http://de.wikipedia.org/wiki/Base64 Base64]-Verfahrens kodiert. Dieses Verfahren verwendet nur 64 Zeichen (6 Bit Informationsgehalt) statt die vollen 8 Bit (256 Werte) pro Byte. Daher wächst eine Datei für den Versand um ca. 8/6 (bzw. 4/3, daher die Faustformel "1/3 mehr") in der Größe an. Der Hintergrund dieses Verfahrens ist, dass mit den für E-Mail verwendeten Übertragungsverfahren nicht jeder beliebige Byte-Wert zuverlässig übertragen werden, sondern nur "lesbare Zeichen" (vereinfacht gesagt nur das, was man auch auf einer US-Tastatur tippen könnte). Die Base64-Kodierung bildet die Byte-Werte einer Binärdatei daher auf einen kleineren Satz von Zeichen ab, wobei für jeweils 3 Byte der Datei 4 Zeichen benötigt werden.<br />
<br />
Für den Versand per E-Mail werden anschließend noch Zeilenumbrüche eingefügt, und zwar immer nach 76 Zeichen ein Zeilenumbruch, der nochmal zwei Byte benötigt. Damit wächst die Versandgröße noch einmal um 78/76 an, die Gesamtgröße für den Versand ist also sogar etwas größer als 4/3, nämlich 8/6 * 78/76 = 26/19 der ursprünglichen Dateigröße.<br />
<br />
Rückwärts gerechnet ergibt sich so aus der maximalen Versandgröße einer E-Mail von 32 MB die maximale Dateigröße für angehängte Dateien: 32 MB * 19/26 = 23,38 MB. Davon abgezogen werden müssen noch die Kopfdaten (die bei jedem Kodierungsverfahren nötig wären) und natürlich der Platz für den Text der eigentlichen Nachricht, an die man den Anhang anhängt. In der Praxis empfiehlt es sich daher, von einer Maximalgröße von 23 MB auszugehen.<br />
<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:E-Mail]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=E-Mail&diff=2871E-Mail2011-04-13T17:59:39Z<p>Hsh00-edv: /* E-Mail-Infrastruktur */</p>
<hr />
<div>{{HSDoku-Links}}<br />
<br />
== E-Mail empfangen und senden ==<br />
<br />
Jeder Benutzer, für den ein [[user|Benutzerkonto]] in einem Hostsharing-Paket eingerichtet ist, besitzt automatisch ein Postfach und kann E-Mail über Hostsharing empfangen und senden. Dafür kann entweder unser [[Webmail]]-System oder ein beliebiger anderer Mailclient verwendet werden, zum Beispiel [http://www.mozilla-europe.org/de/products/thunderbird/ Thunderbird]. Wie der Mailclient einzurichten ist, ist unter [[Mailclient einrichten]] beschrieben.<br />
<br />
Damit ein Benutzer Nachrichten empfangen kann, muss natürlich außerdem eine [[E-Mail-Adressen]] entsprechend eingerichtet werden, sodass Nachrichten an diese Adresse in das Postfach des Benutzers ausgeliefert werden. Jeder Paketadmin hat automatisch einige [[E-Mail-Adressen#Standard_Adressen|Standard-Adressen]].<br />
Die Hostsharing-Server akzeptieren Mail-Nachrichten nur bis zu einer [[Größenbeschränkung von E-Mails|maximalen Größe]] von netto 32 MB. In der Praxis bedeutet das, dass Dateianhänge eine maximale Größe von ca. 23 MB haben dürfen.<br />
<br />
== Weitergehende Konfigurationsmöglichkeiten ==<br />
<br />
Durch das Anlegen von Benutzerkonten und E-Mail-Adressen lassen sich die meisten Anwendungsfälle gut abdecken. Für speziellere Anforderungen bietet Hostsharing aber noch eine ganze Reihe weiterer Konfigurationsmöglichkeiten, die im Folgenden beschrieben werden.<br />
<br />
* Mit [[aliases|Aliasen]] und [[procmail]] kann die Zustellung von Nachrichten in die Postfächer der Benutzer genauer gesteuert werden.<br />
<br />
* [[hsadmin-mail]] bietet viele Optionen beim Einrichten von E-Mail-Adressen.<br />
<br />
* Es können [[Mailinglisten]] eingerichtet werden.<br />
<br />
== E-Mail-Infrastruktur ==<br />
<br />
Wir nutzen [http://www.postfix.org/ Postfix] als MTA ("mail transfer agent") bzw. Mailserver. Er dient dazu, eingehende Mails den lokalen Usern des Servers zuzuordnen und an externe Server zuzustellen.<br />
<br />
E-Mails werden vom Mailsystem im Verzeichnis Maildir des jeweiligen User-Accounts abgelegt (der Name ist systemweit eingestellt und kann nicht verändert werden). <br />
<br />
Damit sind die Mails im normalen Backup enthalten und gehen auch in die Quota des Paketes ein. Das Verzeichnis wird automatisch angelegt, wenn die erste E-Mail dort abgelegt wird. <br />
<br />
Ist das Verzeichnis Maildir nicht angelegt, liefern E-Mail-Clients oder Webmail-Clients aufgrund des fehlenden Verzeichnisses eine Fehlermeldung. <br />
Dies kann verhindert werden, indem auf der Shell in dem entsprechenden User-Account folgender Befehl ausführt wird:<br />
<br />
<pre> maildirmake Maildir</pre><br />
<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:E-Mail]]<br />
[[Kategorie:Glossar]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Der_Editor_Vim&diff=2869Der Editor Vim2011-04-13T17:55:09Z<p>Hsh00-edv: hat „Der Editor Vim“ nach „Editor: Vim“ verschoben</p>
<hr />
<div>#WEITERLEITUNG [[Editor: Vim]]</div>Hsh00-edvhttps://wiki.hostsharing.net/index.php?title=Vim&diff=2868Vim2011-04-13T17:55:09Z<p>Hsh00-edv: hat „Der Editor Vim“ nach „Editor: Vim“ verschoben</p>
<hr />
<div>Um Configdateien und sonstige Textdateien zu bearbeiten ist grundsätzlich jeder Text-Editor geeignet, z.B. pico. Wir nutzen in der Regel vim, er ist ebenfalls auf unseren Servern installiert, somit kann man auch direkt auf dem Server Dateien bearbeiten. Vim ist ein sehr vielseitiger Editor, der auch in einer Version für Windows existiert, dessen Möglichkeiten darzustellen den Rahmen dieses Handbuches sprengt. Wer mehr über vim wissen möchte, sei auf die man-page verwiesen, oder auf <br />
http://www.vim.org. <br />
<br />
Wichtig zu wissen ist, dass vim (wie der Original-vi) in verschiedenen Modi arbeitet:<br />
<br />
# dem Kommando-Modus (das ist der Modus nach dem Start)<br />
# dem Einfüge- bzw. Anhänge-Modus (um Texte zu schreiben und zu ändern)<br />
# dem Ex-Modus (benannt nach dem Editor Ex)<br />
<br />
Zum Bearbeiten einer Datei genügen wenige Kommandos: <br />
<br />
Datei zum Editieren aufrufen:<br />
<br />
<pre><nowiki><br />
xyz00@hopi:~$ vim datei.xy<br />
</nowiki></pre><br />
<br />
Damit hat man die Datei in vim geöffnet und kann sie bearbeiten. Gab es die Datei nicht, startet vim mit einer leeren, neuen Datei. <br />
<br />
Nach dem Öffnen ist vim im Kommando-Modus. Man kann sich zwar mit den Pfeiltasten in der Datei bewegen, aber man kann nichts verändern. Deshalb mit <code>'''i'''</code> in den (i)nsert oder Einfügemodus wechseln. <br />
<br />
Nun kann man hinzufügen oder löschen, wie gewohnt. Will man dann die Datei abspeichern, muss man durch ESC das Editieren beenden (in den Komandomodus gehen). Tippt man jetzt etwas in die Tastatur ein, wird dies am unteren Bildschirmrand in der Kommandozeile abgebildet. Mit der RETURN-Taste führt man das Kommando dann aus. <br />
<br />
Die beiden wichtigsten Kommandos sind: <br />
<br />
<code>'''wq'''</code> aktuelle Datei speichern und vim verlassen <br />
<br />
<code>'''q!'''</code> vim verlassen, Änderungen verwerfen <br />
<br />
Diese wenigen Befehle genügen für den Anfang, um Dateien bearbeiten zu können. <br />
<br />
<br />
== Weiterführende Links ==<br />
<br />
http://tnerual.eriogerg.free.fr/vimqrc-ge.pdf<br />
<br />
----<br />
[[Kategorie:HSDoku]]<br />
[[Kategorie:Einstieg bei Hostsharing]]<br />
[[Kategorie:Editoren]]</div>Hsh00-edv