DNS / BIND Erstellen Sie eine Basiszonendatei

Eine Zonendatei enthält die DNS-Ressourceneinträge für alle Domänennamen, die der Zone zugeordnet sind. Zonendateien speichern alle Daten, die von einem DNS-Server bereitgestellt werden. Dieses Rezept beschreibt das grundlegende Zonendateiformat ohne Ressourceneinträge, die für einen beliebigen Zonendatentyp geeignet sind.


Die Zonendatei muss im Arbeitsverzeichnis des DNS-Servers erstellt werden. Dateinamen mit Zonendatei sind nicht erforderlich, ein vernünftiger Standard ist db.Domänenname, der Name der Domäne, der db vorangestellt ist.

Das Basisformat der Zonendatei ist ein Time-to-Live-Feld (TTL-Feld), gefolgt von den Start of Authority-Datensätzen (SOA-Datensätzen). Die TTL weist nicht autorisierende DNS-Server an, wie lange Datensätze zwischengespeichert werden sollen, die aus der Zonendatei abgerufen wurden. Je länger dieser Zeitraum ist, desto länger dauert es, Änderungen an den Zonendateien zu verbreiten. Je kürzer die TTL ist, desto schwieriger arbeiten Ihre DNS-Server, da nicht autorisierende Server diese Frage häufiger stellen müssen. Werte von wenigen Stunden bis zu einem Tag sind vernünftig.

Ein ganzzahliger TTL-Wert wird als Sekunden interpretiert, obwohl das Hinzufügen von m am Ende Minuten, Stunden, Tage und Wochen bedeutet. Ein Tag würde durch eine der folgenden Zeilen dargestellt:

TTL 86400
$ TTL 1440m
TTL 24h
$ TTL 1d

Der SOA-Abschnitt ist ein einschüchternder Teil des Codes für Uneingeweihte, aber jedes Feld in der SOA hat einen sinnvollen Zweck. Ein Stück für Stück genommen, ist es einfach. Die SOA beginnt mit dem primären Domänennamen der Zone (in diesem Rezept verwenden wir tech-recipes.com.), Der Klasse der Zone (IN), der SOA und den folgenden sieben Feldern:

MNAME Der Master-DNS-Server für die Zone (z. B. ns1.tech-recipes.com.).

RNAME Eine E-Mail-Adresse für einen für die Domäne Verantwortlichen (wobei das @ durch ein. Ersetzt wird), z. B. nospam.tech-recipes.com.

Ordnungsnummer Dieser Wert ist möglicherweise die größte Quelle für das Kopfkratzen bei DNS. Um Dinge schnell und effizient zu machen, verarbeitet BIND Zonendateien in einem anderen Format. Wenn BIND beim Start eine Zonendatei lädt, überprüft es die Seriennummer und verarbeitet die Zonendatei nur, wenn die Seriennummer größer ist als die zuvor bearbeitete Version. Wenn Sie also die Zonendatei ändern, jedoch nicht die Seriennummer, ignoriert BIND die Änderungen.

Ein allgemeines Format für die Seriennummer enthält das Datum und eine eindeutige Seriennummer (YYYYMMDDNN), z. B. 2004010402 für die zweite Revision (02) der Datei am 4. Januar 2004. Dadurch können 100 Änderungen an der Datei pro Tag vorgenommen werden. Wenn weitere Änderungen erforderlich sind, empfehle ich, für einen guten Schlaf nach Hause zu gehen.

Aktualisierung Sekundäre oder Slave-Server können so konfiguriert werden, dass der Master-Server mit dieser Zeit abgefragt wird, um zu prüfen, ob sich die Seriennummer geändert hat und ob daher die Zonendatei aktualisiert werden muss.

Wiederholen Wenn der Master-DNS-Server für die Zone die Anforderung eines Slave-Servers nach einem Update nicht beantwortet, fragt der Slave-Server dies häufig. Normalerweise eine Stunde oder weniger.

Verfallen Bei einem Ausfall des Master-DNS-Servers verwendet ein Slave-Server seine vorhandenen Daten für diesen Zeitraum weiter. Nach Ablauf der abgelaufenen Zeit gelten die Daten als veraltet und werden nicht verwendet. Zu diesem Zeitpunkt wird die Domäne nicht mehr aufgelöst. Dieser Wert sollte lang genug sein, um Master-Server-Ausfälle in der Größenordnung von Wochen korrigieren zu können.

Negative Zwischenspeicherung TTL Negative Antworten (z. B. wenn ein angeforderter Datensatz nicht vorhanden ist) können auch auf nicht autorisierenden Servern zwischengespeichert werden. Dieses Feld verhält sich wie die gesamte TTL, aber speziell für negative Antworten. Kleine Werte sind angemessen (15m bis 2h).

Die Felder können in Klammern gesetzt werden, wenn sie sich über mehr als eine Zeile erstrecken. Alles in allem ist dies die Zonendatei (ohne jegliche Ressourceneinträge) für die Domäne tech-recipes.com:

$ TTL 1d
tech-recipes.com. IN SOA ns1.tech-recipes.com (
nospam.tech-recipes.com
2004010402
1h
15m
4w
1h)

Die größte gotcha Bei DNS-Zonendateien handelt es sich um die ordnungsgemäße Verwendung der vollständig qualifizierten Domänennamen-Syntax. Dies bedeutet, dass ein vollständiger Domänenname mit einem Punkt endet (tech-recipes.com.). - Ohne diesen Zeitraum geht BIND davon aus, dass Sie eine Kurzform verwenden, und fügt den Standarddomänennamen der Zone am Ende des Namens hinzu (also tech -recipes.com würde eigentlich tech-recipes.com.tech-recipes.com bedeuten.).