Es gibt eine Reihe von Verknüpfungen, mit denen Sie Ihr Leben einfacher gestalten können:
Wenn Sie Bind oder eine ähnliche Software verwenden, die Dateien zum Speichern der Zonendaten verwendet: Zeigen Sie mit Ihren Zonen auf dieselbe Datei, zum Beispiel:
zone "example.net" {
type master;
file "/etc/bind/zone/default.zone";
};
zone "example.org" {
type master;
file "/etc/bind/zone/default.zone";
};
Da Sie bestimmte DNS-Abkürzungen verwenden können, können Sie eine universelle Zonendatei erstellen:
$TTL 1h ; default expiration time of all resource records without their own TTL value
@ IN SOA ns1.example.com. username.example.com. (
20140218131405 ; Serial number YYYYMMDDHHMMSS
28800 ; Refresh 8 hours
7200 ; Retry 2 hours
604800 ; Expire 7 days
86400 ; Minimum TTL 1 day )
@ IN NS ns1.example.com. ; ns1.example.com is a primary nameserver
@ IN NS ns2.example.com. ; ns2.example.com is a backup nameserver
@ IN MX 10 mail.example.com. ; mail.example.com is the mailserver
@ IN MX 20 mail2.example.com. ; the secondary mailserver
@ IN A 192.0.2.1 ; IPv4 address for the bare domain
IN AAAA 2001:db8:10::1 ; IPv6 address for the bare domain
www IN A 192.0.2.1 ; www.domain
IN AAAA 2001:db8:10::1 ; IPv6 address for www.domain - note by starting the line with a blank it becomes the continuation of the previous record and this IPv6 record applies to www
wwwtest IN CNAME www ; wwwtest is an alias for www
Dies nutzt die Tatsache aus, dass die Hostnamen in Zonendateien, die nicht mit einem Punkt enden, .immer mit dem Punkt erweitert werden, der $ORIGIN
wiederum implizit auf den Zonennamen festgelegt ist. Und @ist eine Abkürzung für den $ ORIGIN.
Aktivieren Sie eine Methode, die programmgesteuert mit Ihren Nameservern interagiert, anstatt einzelne Zonendateien manuell zu verwalten.
Ich habe PowerDNS verwendet, das ein RDMS als Back-End ermöglicht, das sehr gut zu dem LAMP-Stack passt, den wir damals verwendeten. Cloud-Dienste wie Amazon Route 53 stellen auch Web-APIs zur Verfügung.
Aber auch ehrwürdige Bindungen unterstützen auch dynamische Aktualisierungen, bei denen es sich um Methoden zum Hinzufügen, Ersetzen oder Löschen von Einträgen auf einem Masterserver handelt, indem eine spezielle Form von DNS-Nachrichten gesendet wird. Das Format und die Bedeutung dieser Nachrichten sind in RFC 2136 angegeben .
Die dynamische Aktualisierung wird durch Einfügen einer allow-update
oder einer update-policy
Klausel in die Zonenanweisung aktiviert . Weitere Informationen finden Sie im Bind Administrator-Referenzhandbuch .
rndc addzone
Option, aber das ist immer noch hässlich, da am Ende eine Konfigurationsdatei mit einem Hash-Namen im Arbeitsverzeichnis für generiert wird jede hinzugefügte Zone.Kurze Antwort
Wenn Sie in BIND nach einem Setup ohne Konfiguration suchen, ist es nicht vorhanden. Das Einrichten einer Root-Zone (
.
) scheint eine gute Idee zu sein, ist es aber nicht. Sie müssen eine Lösung finden, bei der DNS nicht entsprechend Ihren Anforderungen unterbrochen wird.Lange Antwort
Wir haben im letzten Jahr mehrmals Varianten dieser Frage erhalten.
Die Antwort ist hier ziemlich einfach: Sie können keine einzelne Zonendefinition einrichten. Jede Software, die Sie definieren , oder auf andere Weise synthetisieren mehr kann
SOA
Datensätze in diesem Zusammenhang ist gebrochen Software und gebrochene Dinge zu tun , ist nicht auf Thema für ServerFault. Sie müssen entweder eine DNS-Software auswählen, die diese Verwaltung für Sie vereinfacht, oder Sie müssen eine andere Strategie entwickeln, die diese bestimmte Verknüpfung nicht beinhaltet.Es gibt definitiv einige Tricks, die Sie verwenden können, um das Leben einfacher zu machen. Am Beispiel von BIND ist es ziemlich üblich, mehrere Zonen zu definieren, die alle auf dieselbe Vorlagenzonendatei verweisen. Dies ist völlig legal und Validierungssoftware wird nichts Falsches daran finden: siehe MadHatters Antwort. Die meisten Leute geben diese Lösung weiter, weil es immer noch "zu viel Arbeit" ist, bei jedem Erwerb einer neuen Domain eine Zonendeklaration hinzuzufügen, aber es gibt keine Option "Einmal konfigurieren und weggehen" für diese Art von Hosting.
Neuere Versionen von BIND unterstützen eine Option namens
allow-new-zones
, mit der Sie über die neuerndc addzone
Funktionalität im laufenden Betrieb dynamisch Zonendefinitionen erstellen können. Vielleicht möchten Sie sich das ansehen und sehen, ob es Ihren Anforderungen entspricht.Abgesehen von den vorgeschlagenen Lösungen sind Ihre Optionen etwas eingeschränkt. Manchmal bleibt die Arbeit einfach hängen, wenn die Software die Dinge nicht so macht, wie Sie es möchten.
quelle
Wenn Sie sagen, dass Domänen identisch konfiguriert werden müssen, müssen sie dieselben Ressourceneinträge enthalten? Wäre in diesem Fall eine
DNAME
RR für alle außer einer Domain keine sauberere Lösung?Ich kann den Trick von @MadHatter nicht übertreffen, dieselbe Vorlagendatei zu importieren, während ich mich strikt an Ihre Frage halte. Ich kann nur einen ähnlichen Ansatz für das
LDAP
Backend anbieten (in meinem Fall mit powerDNS verwendet): Fügen Sie dieassociatedDomain
Attribute für die relevanten SOA- und NS-Datensätze wie folgt hinzu :quelle