2013-03-11 9 views
5

Ich verwende Bind9 als DNS-Server für mein Büro.So leiten Sie eine Unterzone weiter

Wir haben eine Zone: example.com. welches von unserem DNS-Server als autorisierend aufgelöst werden muss.

Auf der anderen Seite haben wir ein sub.example.com. Zone, die an einen anderen DNS-Server weitergeleitet werden muss.

Bindet Antworten propery, wenn wir auf example.com nach einem beliebigen Datensatz suchen. Zone. Aber es schlägt bei Abfragen über sub.example.com fehl. wie es die Weiterleitung nicht macht. Es sucht weiter lokal nach der Antwort.

Dies ist die Datei named.conf

zone "sub.example.com" IN { type forward; 
     forwarders {172.21.238.229;172.21.238.230;}; 
     forward only; 
}; 


zone "example.com" { 
     type master; 
     forwarders {}; 
     file "/etc/named/example.com.db"; 
}; 

Dies ist der example.com.db Dateiinhalt:

$ORIGIN example.com. 
$TTL 1W 
@ IN SOA  dnsldes.example.com. postmaster.example.com. (
           6   ; serial number 
           3600   ; refresh [1h] 
           600   ; retry  [10m] 
           86400  ; expire [1d] 
           3600)  ; min TTL [1h] 
; 


     IN  NS  dnsldes.example.com. 

bdred   IN  A  172.22.2.150 
dnsldes IN  A  172.21.229.159 

Dies ist die Ausgabe für bdred.example.com Abfrage dig-Client (das ist ok):

; <<>> DiG 9.8.1-P1 <<>> bdred.sub.example.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 9764 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 

;; QUESTION SECTION: 
;bdred.sub.example.com.   IN  A 

;; AUTHORITY SECTION: 
example.com.   3600 IN  SOA  dnsldes.example.com. postmaster.example.com. 6 3600 600 86400 3600 

;; Query time: 4 msec 
;; SERVER: 172.21.229.159#53(172.21.229.159) 
;; WHEN: Mon Mar 11 12:55:02 2013 
;; MSG SIZE rcvd: 94 

Und das ist die Antwort für die dig-Abfrage, die nicht propery funktioniert:

; <<>> DiG 9.8.1-P1 <<>> bdred.sub.example.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26555 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 

;; QUESTION SECTION: 
;bdred.sub.example.com.   IN  A 

;; AUTHORITY SECTION: 
example.com.   3600 IN  SOA  dnsldes.example.com. postmaster.example.com. 6 3600 600 86400 3600 

;; Query time: 4 msec 
;; SERVER: 172.21.229.159#53(172.21.229.159) 
;; WHEN: Mon Mar 11 13:09:07 2013 
;; MSG SIZE rcvd: 94 

Bitte, was machen wir falsch?

+0

Ist das überhaupt eine Programmierfrage? – Dave

+0

Offenbar fehlt die Delegierung (NS RRset) für 'sub.example.com' in der Zone' example.com'. Ich sehe auch nicht, warum du hier eine 'type forward'-Zone brauchst. Sowieso, wie @DaveRook erwähnt, ist dies nicht Thema für SO. – Celada

Antwort

7

Die Lösung ist Nein, um eine Zone in der named.conf zu erstellen. Die Lösung ist Zonendelegierung wie folgt zu verwenden:

$ORIGIN example.com. 
$TTL 1W 
@ IN SOA  dnsldes.example.com. postmaster.example.com. (
           6   ; serial number 
           3600   ; refresh [1h] 
           600   ; retry  [10m] 
           86400  ; expire [1d] 
           3600)  ; min TTL [1h] 
; 


     IN  NS  dnsldes.example.com. 


dnsldes IN A XXX.XXX.XXX.XXX 
bahamas IN CNAME bdred 



; Delegations and Glue 
$ORIGIN sub.example.com. 
@  IN  NS  lmzdns1.sub.example.com. 

     IN  NS  lmzdns2.sub.example.com. 

lmzdns1 IN  A  XXX.XXX.XXX.XXX 
lmzdns2 IN  A  XXX.XXX.XXX.XXX 
2

Dies ist ein Sub-Domain Delegation Problem:

hinzufügen NS-Einträge zu Ihrer Zone Datendatei der Sub-Domain an den Nameserver zu delegieren.

Beispiel:

Domain: one.domain Subdomain: sub.one.domain

Ich brauche nur mit dem Google Public DNS sub.one.domain zu lösen.

Um die sub.one.domain an den Nameserver externalns.one.domain zu delegieren, können Sie diese NS-Datensatz zur one.domain Zonendatendatei hinzufügen:

sub.one.domain. IN NS externalns.one.domain. 

Sie werden auch müssen fügen Sie einen A-Eintrag für externals.one.domain hinzu:

externalns.one.domain IN A 8.8.8.8