Ich versuche, BIND so einzurichten, dass es alle an ihn gerichteten Anforderungen auffängt und sie auf einen bestimmten Satz von NS-Servern und einen bestimmten A-Datensatz verweist.
Ich habe ungefähr 500 Domains und füge täglich 10-15 neue hinzu. Daher möchte ich nicht explizit für jede Domain eine Zone hinzufügen.
Mein aktuelles Setup ist: In meiner named.conf habe ich eine Ansicht (external) mit der folgenden Zone:
zone "." {
type master;
file "ext.zone";
};
Dies entspricht allen Anforderungen.
ext.zone ist:
3600 US-Dollar
@ IN SOA. root.nsdomain.com. (
1; Seriell
3600; Aktualisierung
300; Wiederholen
3600; Verfallen
300); Negative Cache-TTL
IN NS ns1.example.com
IN NS ns2.example.com
ns1 IN A 192.0.2.4
ns2 IN A 192.0.2.5
*. IN A 192.0.2.6
Das Ziel ist also: Für alle NS-Anforderungen kehren Sie zurück ns1.example.comund ns2.example.com
für alle A-Anforderungen, außer wenn es sich um ns1.example.comoder handelt ns2.example.com, kehren Sie zurück 192.0.2.6. Zur ns1.example.comRückkehr 192.0.2.4, zur ns2.example.comRückkehr 192.0.2.5.
Das funktioniert fast, das einzige Problem ist, dass ich beim Graben Folgendes bekomme:
dig @localhost somedomain.example ; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example ; (1 Server gefunden) ;; globale Optionen: printcmd ;; Antwort bekommen: ;; Befehlscode: QUERY, Status: NOERROR, ID: 37733 ;; Flags: qr aa rd; FRAGE: 1, ANTWORT: 1, BEHÖRDE: 2, ZUSÄTZLICH: 2 ;; FRAGE ABSCHNITT: ; somedomain.example. IN EINEM ;; ANTWORT ABSCHNITT: somedomain.example. 3600 IN A 192.0.2.6 // wie erwartet ;; BEHÖRDEN ABSCHNITT: . 3600 IN NS ns1.example.com. // erwartet, ich weiß nicht ob das "." am anfang ist es allerdings schlecht. . 3600 IN NS ns2.example.com. // siehe oben. ;; ZUSÄTZLICHER ABSCHNITT: ns1.example.com. 3600 IN A 192.0.2.6 // nicht zu erwarten, sollte dies 192.0.2.4 sein ns2.example.com. 3600 IN A 192.0.2.6 // nicht zu erwarten, sollte dies 192.0.2.5 sein
Wie behebe ich das? Mache ich etwas Schreckliches? Gibt es einen besseren Weg, dies zu tun?