Dokumentation

Zonefile

Das Zonefile enthält die Konfiguration des Domain Name Service (DNS) einer Domain. Im Zonefile wird hinterlegt, welche Hostnamen innerhalb einer Domain existieren, auf welche IP-Adressen diese zeigen und welches Mailsystem für eine Domain zuständig ist. Das Standardzonefile ist für jede Domain unter /etc/bind/pri.example.com zu finden.

Es ist möglich, ein eigenes Zonefile für eine Domain einzusetzen. Dabei können und sollen Platzhalter verwendet werden, die es ermöglichen, einen jeweils spezifischen Teil eines Zonefile zu ändern.

Das expandierte Standardzonefile

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

example.com.    IN      NS      dns1.hostsharing.net.
example.com.    IN      NS      dns2.hostsharing.net.
example.com.    IN      NS      dns3.hostsharing.net.
example.com.    IN      MX      30 mailin1.hostsharing.net.
example.com.    IN      MX      30 mailin2.hostsharing.net.
example.com.    IN      MX      30 mailin3.hostsharing.net.
example.com.    IN      A       83.223.95.160
example.com.    IN      AAAA    2a01:37:1000::53df:5bfc:0
_imap._tcp.example.com.              IN      SRV     1 0 143 xyz00.hostsharing.net.
_imaps._tcp.example.com.             IN      SRV     2 0 993 xyz00.hostsharing.net.
_pop3._tcp.example.com.              IN      SRV     3 0 110 xyz00.hostsharing.net.
_pop3s._tcp.example.com.             IN      SRV     4 0 995 xyz00.hostsharing.net.
_submission._tcp.example.com.        IN      SRV     0 0 587 xyz00.hostsharing.net.
_autodiscover._tcp.example.com.      IN      SRV     0 0 443 example.com.
autodiscover.example.com.            IN      A       0.0.0.0
autodiscover.example.com.            IN      AAAA    ::
example.com.    IN      TXT     "v=spf1 include:spf.hostsharing.net ?all"
*.example.com.  IN      MX      30 mailin1.hostsharing.net.
*.example.com.  IN      MX      30 mailin2.hostsharing.net.
*.example.com.  IN      MX      30 mailin3.hostsharing.net.
*.example.com.  IN      A       83.223.95.160
*.example.com.  IN      AAAA    2a01:37:1000::53df:5bfc:0
*.example.com.  IN      TXT     "v=spf1 include:spf.hostsharing.net ?all"

Platzhalter

Platzhalter             expandiert zu

{DEFAULT_ZONEFILE}      {HEADER}
                        {SOA_RR}
                        {NS_RR}
                        {MX_RR} 
                        {A_RR}
                        {AAAA_RR}
                        {MAILSERVICES_RR}
                        {AUTODISCOVER_RR}
                        {SPF_RR}
                        {DKIM_RR}
                        {WILDCARD_MX_RR}
                        {WILDCARD_A_RR}
                        {WILDCARD_AAAA_RR}
                        {WILDCARD_SPF_RR}

{HEADER}                $TTL {TTL}

{SOA_RR}                {DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (
                                {SIO}       ; serial secs since Jan 1 1970
                                {REFRESH}   ; refresh (>=10000)
                                {RETRY}     ; retry (>=1800)
                                {EXPIRE}    ; expire
                                {MINIMUM}   ; minimum
                        )   

{NS_RR}                 {DOM_HOSTNAME}.     IN  NS  {DNS1_HOSTNAME}.
                        {DOM_HOSTNAME}.     IN  NS  {DNS2_HOSTNAME}.
                        {DOM_HOSTNAME}.     IN  NS  {DNS3_HOSTNAME}.

{MX_RR}                 {DOM_HOSTNAME}.     IN  MX  30 {MX1_HOSTNAME}.
                        {DOM_HOSTNAME}.     IN  MX  30 {MX2_HOSTNAME}.
                        {DOM_HOSTNAME}.     IN  MX  30 {MX3_HOSTNAME}.

{A_RR}                  {DOM_HOSTNAME}.     IN  A   {DOM_IP4NUMBER}

{AAAA_RR}               {DOM_HOSTNAME}.     IN  AAAA    {DOM_IP6NUMBER}


{MAILSERVICES_RR}       _imap._tcp.{DOM_HOSTNAME}.              IN      SRV     1 0 143 {PAC_HOSTNAME}.
                        _imaps._tcp.{DOM_HOSTNAME}.             IN      SRV     2 0 993 {PAC_HOSTNAME}.
                        _pop3._tcp.{DOM_HOSTNAME}.              IN      SRV     3 0 110 {PAC_HOSTNAME}.
                        _pop3s._tcp.{DOM_HOSTNAME}.             IN      SRV     4 0 995 {PAC_HOSTNAME}.
                        _submission._tcp.{DOM_HOSTNAME}.        IN      SRV     0 0 587 {PAC_HOSTNAME}.

{AUTODISCOVER_RR}       _autodiscover._tcp.{DOM_HOSTNAME}.      IN      SRV     0 0 443 {DOM_HOSTNAME}.
                        autodiscover.{DOM_HOSTNAME}.            IN      A       0.0.0.0
                        autodiscover.{DOM_HOSTNAME}.            IN      AAAA    ::

{SPF_RR}                {DOM_HOSTNAME}.     IN      TXT  "v=spf1 include:spf.hostsharing.net -all"

{WILDCARD_MX_RR}        *.{DOM_HOSTNAME}.   IN  MX  30 {MX1_HOSTNAME}.
                        *.{DOM_HOSTNAME}.   IN  MX  30 {MX2_HOSTNAME}.
                        *.{DOM_HOSTNAME}.   IN  MX  30 {MX3_HOSTNAME}.

{WILDCARD_A_RR}         *.{DOM_HOSTNAME}.   IN  A   {DOM_IP4NUMBER}

{WILDCARD_AAAA_RR}      *.{DOM_HOSTNAME}.   IN  AAAA    {DOM_IP6NUMBER}

{WILDCARD_SPF_RR}       *.{DOM_HOSTNAME}.   IN      TXT  "v=spf1 include:spf.hostsharing.net ?all"

{DKIM_RR}               default._domainkey  IN      TXT  "v=DKIM1; h=sha256; k=rsa; s=email; p=MIIB..."

{TTL}                   6H
{SOA_HOSTNAME}          <HIVE>.hostsharing.net
{SOA_EMAIL}             hostmaster.hostsharing.net
{SIO}                   <SEKUNDEN>
{REFRESH}               6H
{RETRY}                 1H
{EXPIRE}                1W
{MINIMUM}               1H

Folgende Werte werden von Hostsharing verwaltet:

<SEKUNDEN> für die Anzahl der Sekunden, welche seit dem 01.01.1970 vergangen sind

<FQDN> für den vollständigen, qualifizierten Domainnamen der Domain, z.B. example.com

<IPv4> für die der Domain zugewiesene IPv4-Adresse

<IPv6> für die der Domain zugewiesene IPv6-Adresse

<HIVE> für den Server, auf dem die Domain gehostet ist, z.B. h20

<PAC> für das Paket, dem die Domain zugeordnet ist, z.B. xyz00

Expansion der Platzhalter

Der Platzhalter für das Gesamtzonefile {DEFAULT_ZONEFILE} wird in drei Schritten folgendermaßen expandiert. Zunächst werden die komplexen Platzhalter ersetzt. :

{DOM_HOSTNAME}. IN SOA {SOA_HOSTNAME}. {SOA_EMAIL}. (
        {SIO}           ; serial secs since Jan 1 1970
        {REFRESH}       ; refresh (>=10000)
        {RETRY}     ; retry (>=1800)
        {EXPIRE}    ; expire
    {MINIMUM}   ; minimum
    )
{DOM_HOSTNAME}.     IN  NS  {DNS1_HOSTNAME}.
{DOM_HOSTNAME}.     IN  NS  {DNS2_HOSTNAME}.
{DOM_HOSTNAME}.     IN  NS  {DNS3_HOSTNAME}.

{DOM_HOSTNAME}.     IN  MX  30 {MX1_HOSTNAME}.
{DOM_HOSTNAME}.     IN  MX  30 {MX2_HOSTNAME}.
{DOM_HOSTNAME}.     IN  MX  30 {MX3_HOSTNAME}.

{DOM_HOSTNAME}.     IN  A   {DOM_IP4NUMBER}
{DOM_HOSTNAME}.     IN  AAAA    {DOM_IP6NUMBER}

_imap._tcp.{DOM_HOSTNAME}.          IN  SRV 1 0 143 {PAC_HOSTNAME}.
_imaps._tcp.{DOM_HOSTNAME}.         IN  SRV 2 0 993 {PAC_HOSTNAME}.
_pop3._tcp.{DOM_HOSTNAME}.          IN  SRV 3 0 110 {PAC_HOSTNAME}.
_pop3s._tcp.{DOM_HOSTNAME}.         IN  SRV 4 0 995 {PAC_HOSTNAME}.
_submission._tcp.{DOM_HOSTNAME}.    IN  SRV 0 0 587 {PAC_HOSTNAME}.

_autodiscover._tcp.{DOM_HOSTNAME}.  IN  SRV 0 0 443 {DOM_HOSTNAME}.
autodiscover.{DOM_HOSTNAME}.        IN  A   0.0.0.0
autodiscover.{DOM_HOSTNAME}.        IN  AAAA    ::

{DOM_HOSTNAME}.     IN  TXT "v=spf1 include:spf.hostsharing.net ?all"

*.{DOM_HOSTNAME}.   IN  MX  30 {MX1_HOSTNAME}.
*.{DOM_HOSTNAME}.   IN  MX  30 {MX2_HOSTNAME}.
*.{DOM_HOSTNAME}.   IN  MX  30 {MX3_HOSTNAME}.

*.{DOM_HOSTNAME}.   IN  A   {DOM_IP4NUMBER}
*.{DOM_HOSTNAME}.   IN  AAAA    {DOM_IP6NUMBER}

*.{DOM_HOSTNAME}.   IN  TXT "v=spf1 include:spf.hostsharing.net ?all"

Anschließend werden die atomaren Platzhalter ersetzt. :

$TTL 6H

<FQDN>. IN SOA <HIVE>.hostsharing.net. hostmaster.hostsharing.net. (
        <SEKUNDEN>  ; serial secs since Jan 1 1970
        6H      ; refresh (>=10000)
        1H      ; retry (>=1800)
        1W      ; expire
        1H      ; minimum
        )

<FQDN>.     IN  NS  dns1.hostsharing.net.
<FQDN>.     IN  NS  dns2.hostsharing.net.
<FQDN>.     IN  NS  dns3.hostsharing.net.

<FQDN>.     IN  MX  30 mail1.hostsharing.net.
<FQDN>.     IN  MX  30 mail2.hostsharing.net.
<FQDN>.     IN  MX  30 mail3.hostsharing.net.

_imap._tcp.<FQDN>.          IN  SRV 1 0 143 <PAC>.hostsharing.net.
_imaps._tcp.<FQDN>.         IN  SRV 2 0 993 <PAC>.hostsharing.net.
_pop3._tcp.<FQDN>.          IN  SRV 3 0 110 <PAC>.hostsharing.net.
_pop3s._tcp.<FQDN>.         IN  SRV 4 0 995 <PAC>.hostsharing.net.
_submission._tcp.<FQDN>.    IN  SRV 0 0 587 <PAC>.hostsharing.net.

_autodiscover._tcp.<FQDN>.  IN  SRV 0 0 443 <FQDN>.
autodiscover.<FQDN>.        IN  A   0.0.0.0
autodiscover.<FQDN>.        IN  AAAA    \:\:

<FQDN>.     IN  A   <IPv4>
<FQDN>.     IN  AAAA    <IPv6>

<FQDN>.     IN  TXT "v=spf1 include:spf.hostsharing.net ?all"

*.<FQDN>.   IN  MX  30 mail1.hostsharing.net.
*.<FQDN>.   IN  MX  30 mail2.hostsharing.net.
*.<FQDN>.   IN  MX  30 mail3.hostsharing.net.

*.<FQDN>.   IN  A   <IPv4>
*.<FQDN>.   IN  AAAA    <IPv6>

*.<FQDN>.   IN  TXT "v=spf1 include:spf.hostsharing.net ?all"

Eigenes Zonefile

Es kann für jede aufgeschaltete Domain jeweils ein eigenes Zonefiles angelegt werden. In der Regel ist dies nur bei folgenden Anforderungen notwendig:

  • Webseiten zu einer Domain oder Sub-Domain bei einem anderen Hoster oder auf einem eigenen Server anbieten
  • Dienste (z.B. E-Mail) bei einem anderen Anbieter betreiben

In eigenen Zonefiles sollten Platzhalter verwendet werden. Diese Platzhalter ermöglichen das Ändern der DNS-Konfiguration seitens Hostsharing, ohne dass der Domain-Admin sein Zonefile anpassen muss. Das Zonefile für die Domain example.com wird im Verzeichnis ~/doms/example.com/etc/ als Datei pri.example.com abgelegt und einige Minuten nach dem Speichern automatisch aktiv.

Das unsachgemäße Erstellen oder Fehler im eigenen Zonefile können zur Nichterreichbarkeit der Domain und zum Verlust von E-Mails führen!

Im Wiki der Mitglieder finden sich Beispiele für eigene Zonefiles.

Kontrolle der Änderungen

Durchgeführte Änderungen am Zonefile können mit Hilfe der Logdatei named.log überprüft werden:

$ tail -f /var/log/named/named.log 
$ tail -f /var/log/named/named.log | grep example.com

Nach einer erfolgreichen Übertragung der DNS Zone zu den drei DNS-Servern finden sich in der Log-Datei etwa die folgenden sechs Zeilen:

18-Dec-2019 12:06:27.997 info: client 83.223.95.201#53191 (example.com): transfer of 'example.com/IN': AXFR-style IXFR started (serial 1576667187)
18-Dec-2019 12:06:27.998 info: client 83.223.95.201#53191 (example.com): transfer of 'example.com/IN': AXFR-style IXFR ended
18-Dec-2019 12:06:28.517 info: client 83.223.78.230#37959 (example.com): transfer of 'example.com/IN': AXFR-style IXFR started (serial 1576667187)
18-Dec-2019 12:06:28.517 info: client 83.223.78.230#37959 (example.com): transfer of 'example.com/IN': AXFR-style IXFR ended
18-Dec-2019 12:06:28.568 info: client 176.9.242.51#40371 (example.com): transfer of 'example.com/IN': AXFR-style IXFR started (serial 1576667187)
18-Dec-2019 12:06:28.569 info: client 176.9.242.51#40371 (example.com): transfer of 'example.com/IN': AXFR-style IXFR ended

Zur Überprüfung von Änderungen am Zonefile kann zusätzlich die Seriennummer in den DNS-Servern mit der aktuellen Seriennummer im Zonefile verglichen werden:

$ dig -t SOA @dns1.hostsharing.net example.com 
$ cat /etc/bind/pri.example.com

Es findet sich jeweils die Seriennummer (im obigen Log-Auszug die '1576667187') im SOA Record.

Eigenes Zonefile deaktivieren

Im Verzeichnis ~/doms/example.com/etc/ das vorhandene Zonefile (pri.example.com) leeren (0 Bytes). Das leere Zonefile wird durch einen Robot gelöscht und es gilt das Standardzonefile.

Genossenschaftliche IT-Betreuung aus einer Hand
Beratung

Kompetente Beratung bei Auswahl und Anwendung von freier Software

Umsetzung

Tatkräftige Unterstützung bei der Umsetzung Ihrer Pläne.

Betrieb

Dienstleistungen für einen reibungslosen IT-Betrieb

Häufig gebuchte Produkte
Managed Webspace

Nutzen Sie alle Vorteile der Managed Operations Platform preisgünstig im Hostsharing Managed Webspace.

Managed Server

Nutzen Sie die Managed Operations Platform mit exklusiv zugewiesenen Ressourcen für größere Projekte.

Cloud Server

Hochverfügbarer Server mit dem Betriebssystem Ihrer Wahl und Root-Zugriff.