LINUXMAKER, OpenSource, Tutorials

SOA Resource Record

Üblicherweise werden DNS-Nameserver in Clustern aufgebaut. Der Datenbestand innerhalb eines Clusters wird mittels Zonentransfers synchronisiert. Der SOA-Eintrag in der Zonendatei (also in der Datei zur vollständigen Konfiguration und Beschreibung der Zone) enthält Daten, mit denen der Zonentransfer gesteuert wird. Es handelt sich dabei um die Seriennummer und verschiedene Timer.

Außerdem sind die E-Mail-Adresse des Verantwortlichen für diese Zone sowie der Name des primary Master-Servers aufgeführt. Normalerweise steht ein SOA-Record am Anfang der Datei. Eine Zone ohne diesen Eintrag erfüllt nicht den DNS-Standard und kann nicht transferiert werden.

Beispiel eines SOA-Records in BIND9

mycompany.com. IN SOA ns1.mycompany.com. hosmaster@mycompany.com. (
                                         2017120501    ; Serial
                                                 3H    ; refresh after 3 hours
                                                 1H    ; retry after 1 hour
                                                 1W    ; expire after 1 week
                                                 1D)   ; minimum TTL of 1 day

In diesem Beispiel wird festgelegt, dass sich ein Slave alle 3 Stunden mit seinem Master per Zonentransfer synchronisiert. Ist sein Master nicht erreichbar, wird jede Stunde ein neuer Versuch gestartet. Kann der Master innerhalb von einer Woche nicht kontaktiert werden, so erklärt der Slave die Zone mycompany.com als inaktiv und beantwortet keine weiteren DNS-Requests zu dieser Domain. DNS cached auch fehlgeschlagene Request. Die TTL beträgt 600 Sekunden.

Weiterhin wird definiert, dass der Primary dieser Zone master.mycompany.com ist und dass der Administrator über die E-Mail-Adresse hostmaster@mycompany.com erreichbar ist. Das „@“ wird durch einen „.“ ersetzt und ein „.“ vor dem „@“, z. B. vorname.nachname@mycompany.com, wird mit einem „\“ maskiert (z. B. vorname\.nachname.mycompany.com).

Die Seriennummer ist hier mit 2017120501 angegeben. Bei der nächsten Änderung muss sie (manuell) auf mindestens 2017120502 erhöht werden. Dabei sollte die Seriennummer eine maximal 10-stellige Zahl sein (Minium 1 und Maximum 9999999999). Entsprechend RFC 1912 2.2 setzt sich die Seriennummer aus dem aktuellem Datum und einem zweistelligen Zähler in der Art "JJJJMMDDzz" zusammen.

Das Ändern der Seriennummer geschieht durch das Hochzählen um 1 vor jedem Reload des BIND-Servers.

Zusammensetzung des SOA-Records

Name
    der Zone
IN
    Zonenklasse (meist IN für Internet)
SOA
    Kürzel für Start Of Authority
Primary
    Primary Master für diese Zone, hat in der Praxis nur geringe Bedeutung:
        Definition, an wen dynamische Updates gesendet werden sollen (Dynamisches Update)
        Definition, an wen keine Notifies gesendet werden (Zonentransfer)

Mail-Adresse
    Verantwortlicher für diese Zone.
Seriennummer
    wird bei jeder Änderung inkrementiert.
Refresh
    Sekundenabstand, in dem die Slaves anfragen, ob sich etwas geändert hat.
Retry
    Sekundenabstand, in denen ein Slave wiederholt, falls sein Master nicht antwortet.
Expire
    wenn der Master auf einen Zonentransfer-Request nicht reagiert, deaktiviert ein Slave nach dieser Zeitspanne in Sekunden die Zone.
TTL
    negativ-Caching-TTL (DNS-Caching)