Interne DNS-Konfiguration sorgen
Okay, ich werde Stand-up-front, diese Frage kann auch sein, beteiligten (Menge an Details, die nicht die Komplexität) für dieses medium. Aber ich dachte, dies war der beste Ort um zu starten.
Ich bin versucht, setup-eine proof-of-concept Projekt und meiner BIND-Konfiguration ist meine erste große Hürde. Ich möchte setup 3 DNS-Servern auf 3 physikalischen Feldern. Keine diese Boxen auflösen muss, öffentlichen Adressen, dies ist die interne nur. Ich habe gelesen, durch die Einrichtung interner Wurzeln in der (meist) hervorragende DNS & BIND 5. ed Buch. Aber meine übersetzung von Ihrem Beispiel ist nicht funktionsfähig. Alle IP-Adressen sind RFC 1918 nicht routingfähig.
Box 1 MAßGEBEND für die Adressen auf die box1.falsche Domäne und Feld 2 MAßGEBEND für die Adressen auf die box2.falsche domain. Box 3 wird als eine interne root und TLD-server für die Domäne Schein.
Aktuelle ungelöste Probleme:
-
Ich habe eine hints-Datei auf box 1 und 2 enthält ein einzelnes NS Datensatz an die NS-definition der root-zone. Zusätzlich gibt es einen Eine Eintrag bedeutet, dass der NS auf die ip des root. wenn ich
dig .
aus box 1 bekomme ich eine Behörde Abschnitt mit der NS-Namen, nicht eine Antwort und zusätzliche Aufzeichnung Abschnitt. Deshalb bin ich nicht eigentlich auflösen der IP des root-server-Feld 1. -
Wenn ich meinen
/etc/resolv.conf
aus box 1 direkt am root server und nicht einedig box1.bogus
bekomme ich den ns.box1.falsche Antwort aufzunehmen und die übersetzung in die zusätzliche Abschnitt. Aber für die nächste iteration (wenn die Einen Datensatz) bekomme ichdig: couldn't get address for ns.box1.bogus
Natürlich sind meine configs sind nicht richtig. Ich sehe nicht einen Weg, um Sie zu befestigen, um diesem post, also, wenn Leute wollen zu Fuß durch diese Schritt für Schritt werde ich cut ' N ' Paste in einen Kommentar für diese Frage. Ansonsten bin ich offen für die Einnahme dieses "offline" mit einer "DNS-Typ", um herauszufinden, wo ich bin, fehlt ein '.' oder haben eines zu viel!
Ich persönlich denke, dass das web das tun könnte, mit einer anderen internen root-Beispiel, die nicht mit der Film-U Beispiel.
OK, wenn wir gehen, um dies zu tun, dann sollten wir nutzen ein konkretes Beispiel, eh? Ich habe 3 Maschinen-setup auf einem eigenen VLAN zum testen. Als sanity check ich gepaart Sie alle meine relevanten configs, kondensiert, wenn Sie in der Lage, umgeschichtet und 2 der namesevers. Ich ausgelassen Kratzig jetzt. Gleiche Ergebnisse wie oben. Hier sind die configs und der ursprüngliche Graben-Ausgänge.
Schein
Machine Name: Bogus (I just realized I should change this...)
Role: Internal Root and TLD Nameserver
IP: 10.0.0.1
BIND: 9.5.0-16.a6.fc8
/etc/named.conf
//Controls who can make queries of this DNS server. Currently only the
//local test bed. When there is a standardized IP addr scheme, we can have
//those addr ranges enabled so that even if firewall rules get broken, the
//public internet can't query the internal DNS.
//
acl "authorized" {
localhost; //localhost
10.0.0.0/24; //Local Test
};
options {
listen-on port 53 {
127.0.0.1;
10.0.0.1;
};
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
pid-file "/var/run/named/named.pid";
allow-query { any; };
recursion no;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//
//The fake root.
//
zone "." {
type master;
file "master/root";
allow-query { authorized; };
};
//
//The TLD for testing
//
zone "bogus" {
type master;
file "master/bogus";
allow-query { authorized; };
allow-transfer { authorized; };
};
/var/named/master/root -
$TTL 3600
. SOA ns.bogustld. hostmaster.internal.bogus. (
2008101601 ; serial
1H ; refresh
2H ; retry
14D ; expire
5M ) ; minimum
;
; Fake root zone servers defined.
;
. NS ns.bogustld.
ns.bogustld. A 10.0.0.1
;
; Testing TLD
;
bogus NS ns1.bogus.
ns1.bogus. A 10.0.0.1
/var/named/master/Schein -
$TTL 3600
@ SOA ns1.internal.bogus. hostmaster.internal.bogus. (
2008102201 ; serial date +seq
1H ; refresh
2H ; retry
14D ; expire
5M) ; min TTL
;
NS ns1.internal.bogus.
;
; Auth servers
;
ns1.internal.bogus. A 10.0.0.1
;
; Customer delegations each customer 2nd level domain has it's
; own zone file.
;
;Modified to be unique nameservers in the bogus domain
itchy NS ns1-itchy.bogus.
ns1-itchy.bogus. A 10.0.0.2
;
scratchy NS ns1-scratchy.bogus.
ns1-scratchy.bogus. A 10.0.0.3
Ausgabe von dig .
; <<>> DiG 9.5.0-P2 <<>> .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57175
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;. IN A
;; AUTHORITY SECTION:
. 300 IN SOA ns.bogustld. hostmaster.internal
.bogus. 2008101601 3600 7200 1209600 300
;; Query time: 1 msec
;; SERVER: 10.0.0.1#53(10.0.0.1)
;; WHEN: Tue Oct 21 12:23:59 2008
;; MSG SIZE rcvd: 88
Ausgabe von dig +trace juckende.gefälschte
; <<>> DiG 9.5.0-P2 <<>> +trace itchy.bogus
;; global options: printcmd
. 3600 IN NS ns.bogustld.
;; Received 57 bytes from 10.0.0.1#53(10.0.0.1) in 1 ms
itchy.bogus. 3600 IN NS ns1-itchy.bogus.
;; Received 69 bytes from 10.0.0.1#53(ns.bogustld) in 0 ms
itchy.bogus. 3600 IN A 10.0.0.2
itchy.bogus. 3600 IN NS ns1.itchy.bogus.
;; Received 79 bytes from 10.0.0.2#53(ns1-itchy.bogus) in 0 ms
Juckende
Machine Name: Itchy
Role: SLD Nameserver (supposed to be owner of itchy.bogus)
IP: 10.0.0.2
BIND: 9.5.0-16.a6.fc8
/etc/named.conf
//Controls who can make queries of this DNS server. Currently only the
//local test bed. When there is a standardized IP addr scheme, we can have
//those addr ranges enabled so that even if firewall rules get broken, the
//public internet can't query the internal DNS.
//
acl "authorized" {
localhost; //localhost
10.0.0.0/24; //LAN Test
};
options {
listen-on port 53 {
127.0.0.1;
10.0.0.2;
};
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
pid-file "/var/run/named/named.pid";
allow-query { any; };
recursion no;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "master/root.hint";
};
zone "itchy.bogus" {
type master;
file "master/itchy.bogus";
allow-query { authorized; };
allow-transfer { authorized; };
};
/var/named/master/juckende.gefälschte
$TTL 3600
@ SOA ns1.itchy.bogus. hostmaster.itchy.bogus. (
2008102202 ; serial
1H ; refresh
2H ; retry
14D ; expire
5M ) ; minimum
;
A 10.0.0.2
NS ns1.itchy.bogus.
ns1 A 10.0.0.2
/var/named/master/root.Tipp
. 3600000 NS ns.bogustld.
ns.bogustld. 3600000 A 10.0.0.1
; End of File
/etc/resolv.conf
nameserver 10.0.0.2
Ausgabe von dig .
; <<>> DiG 9.5.0-P2 <<>> .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31291
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;. IN A
;; AUTHORITY SECTION:
. 3600000 IN NS ns.bogustld.
;; Query time: 0 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Oct 21 17:09:53 2008
;; MSG SIZE rcvd: 41
Ausgabe von dig + trace juckende.gefälschte
; <<>> DiG 9.5.0-P2 <<>> +trace itchy.bogus
;; global options: printcmd
. 3600000 IN NS ns.bogustld.
;; Received 41 bytes from 10.0.0.2#53(10.0.0.2) in 0 ms
dig: couldn't get address for 'ns.bogustld': failure
InformationsquelleAutor JT. | 2008-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch die Verwendung von @, du bist die Definition juckende.falsch. Man kann nicht definieren Sie Sie neu, weiter unten in der zone mit dem Jucken.falsche line.
Versuchen Sie dies:
Da dies die zone-Datei für juckende.falsch, das sollte das richtige zu tun.
InformationsquelleAutor nsayer
Unter der Annahme, dass Sie geprüft haben, all die offensichtlichen Dinge wie dass der bind-Konfiguration-Datei ist, was Sie denken, es ist. Erstens überprüfen Sie, dass die, die denken Sie benannt ist, über die richtigen sind - manchmal ist es einfach zu Bearbeiten, dass eine Datei im falschen Verzeichnis und Frage mich, warum änderungen nicht bemerkt.
Haben auch Sie verwendet named-checkconf und named-prüfzone
Es ist schwer genug, um debug-binden, aber ohne sehen die config-Dateien ist es fast unmöglich, so fügen Sie bitte dem original-post.
(Ich habe dies als Kommentar auf die Frage - habe ich geschrieben, als eine Antwort, denn die OP ist neu hier).
InformationsquelleAutor Richard Harrison
Jeder der 3 Server haben muss, um die gleiche hints-Datei. Es sollte haben Sie einen NS-Eintrag für "." mit dem Namen der root-server und Einen a-Eintrag für diesen Namen.
Root-server sollte die ". " - zone eingerichtet. Die zone "." muss "Schein" mit einem ns-Eintrag für sich selbst. Sollte es dann haben, A-records für box1.falsch gehen, box1 und box2.Schein geht auf box2.
Beachten Sie, dass sollten Sie nicht verwenden box1 und box2 sowohl wie den Hostnamen und den Namen des 2nd-level-domains. Lassen Sie uns sagen, dass die Domänen der zone1.Schein-und zone2.Schein statt.
Also box1 und box2 werden sollte, in der falschen zone, komplett mit A-records. zone1 und zone2 sollte NS-Einträge zeigen auf box1 und box2.
Klar wie Schlamm? 🙂
InformationsquelleAutor nsayer
Ok. Ich sehe, du hast aded deine configs. Ausgezeichnet.
Ich würde die root-zone folgendermassen:
Ich denke, das Problem ist, dass man delegieren juckende.falsch, so Sie können nicht nur die Namen drin.
"Com" name-Server, ich glaube, Verwendung Hinweise, so dass Sie können dienen A-Datensätze für die name-Server für die Delegierte Zone, aber in Ihrem Fall, es ist einfach sauberer zu versichern, dass eine beliebige zone bedient nur die Delegationen, die für die sub-Zonen UND hosts innerhalb der aktuellen zone.
InformationsquelleAutor nsayer
Nun meine delegation Fragen Aussehen gelöst, aber ich bin immer noch Probleme mit dem root-lookup (ich dachte, das wäre soooo einfach.)
Ich denke, das problem ergibt sich aus der Tatsache, dass, wenn ich
dig
von der juckenden Maschine bekomme ich eine Behörde Datensatz, anstatt eine Antwort aufzeichnen. Ich bin mir nur nicht sicher, was ich getan habe (oder nicht) zu verursachen.Wenn Sie "Graben [args]" von einer Maschine mit dem typischen Hinweis-Datei für das internet erhalten Sie einen block von Antworten für die root-Nameserver und die übersetzung in der zusätzliche Abschnitt.
wenn ich das von der falschen Maschine (root und TLD-nameserver) bekomme ich
Wenn ich das von das verflixte Maschine, die ich bekommen
Es ist interessanter, wenn Sie versuchen
dig +trace .
Internet-box
Meine interne root-box (Schein -)
Juckende
Warum funktioniert mein internet-facing-Maschine finden, die eine SOA, aber keiner meiner internen Maschinen?
InformationsquelleAutor JT.
Wie die highlander, es kann nur einen geben.
Durch über den normalen internet-root-hints, Sie sind mehr oder weniger ausgeschlossen von der Nutzung Ihrer eigenen internen root, weil keiner der echten Internet-root-Server wissen über "falsch".
Ihre einzige Wahl wäre, spiegeln die root zone "." in Ihrem ".", aber dann fügen Sie "Schein -". Sie würde dies tun, indem Sie regelmäßig dumping der root-zone und es läuft durch einige der Verarbeitung zum hinzufügen Ihrer benutzerdefinierten zone.
Einige der Alternative DNS-root-Anbieter tun dies, aber Sie liefern Stammhinweise für Ihre "Kunden" zu verwenden ohne Bezug zu der "echten" root-Servern überhaupt.
... Verstehe ich die Frage richtig? Sicher nicht.
InformationsquelleAutor nsayer
Graben . @10.0.0.1 (Schein -) sollte die Rückkehr autorisierenden Einträge für '.', da ist es in der Tat autorisierend für die zone.
Graben . @10.0.0.2 (juckende) sollten nicht zurück autorisierenden Einträge für '.', da ist es nicht. Es kann Rückkehr einer autorisierenden Datensatz das erste mal, wenn Sie eine Abfrage nach einem Namen in der root-zone, weil es rekursiv durchsuchen und Holen sich ein autorisierenden Datensatz aus der autorisierenden server. Aber wenn du es ein 2. mal, bekommen Sie eine zwischengespeicherte Ergebnis und das 'aa -' - flag wird klar sein.
InformationsquelleAutor nsayer
Ihren name-server nicht verwenden Sie den Hinweis zu geben, Antworten zu Graben. Das heißt, es gebe nicht den Hauch zurück, um zu Graben, wie eine Antwort. Es wird darauf bestehen, dass tatsächlich Abfragen 10.0.0.1 für bogustld. Ich glaube nicht, dass Sie bogustld als eine zone, nur Schein.
Sollte man wohl ändern, ns.bogustld zu ns.falsch. Geben Sie 10.0.0.1 dem Namen ns.falsch.
Alternativ könnte man hinzufügen, NS-und SOA-Eintrag . für bogustld.
Wenn Sie Graben, ns1.falsch. @10.0.0.2, dass funktioniert (vorausgesetzt die obige Konfiguration ist noch vorhanden)?
InformationsquelleAutor nsayer