it-swarm.com.de

Wie konfiguriere ich die BIND-Weiterleitungszone für einen internen DNS-Server richtig?

Ich habe:

  1. interner DNS-Server ns1.internal mit IP 192.168.0.4.
  2. externer DNS-Server mit externer TLD mydns.example.com und interner IP 192.168.0.5. Der Zugriff erfolgt sowohl über das Internet (über eine statische NAT -Regel) als auch über das lokale Netzwerk.

Ich versuche, meinen externen DNS-Server so einzurichten, dass die Zone subzone.mydns.example.com An den internen DNS-Server weitergeleitet wird. Der interne DNS-Server ist für diese Zone autorisierend.

Wichtig: Ich kann die interne DNS-Serverkonfiguration nicht ändern. Ich kann es jedoch lesen, wenn dies zur Diagnose des Problems erforderlich ist.

Datei /etc/named.conf Auf dem externen DNS-Server:

options {
  directory "/var/named";
  version "get lost";

  recursion yes;
  allow-transfer {"none";};
  allow-query { any; };
  allow-recursion { any; };
};

logging{
  channel example_log{
   file "/var/log/named/named.log" versions 3 size 2m;
   severity info;
   print-severity yes;
   print-time yes;
   print-category yes;
 };
 category default{
  example_log;
 };
};

// Zones:

zone "mydns.example.com" {
  type master;
  file "mydns.example.com.zone";
  allow-update{none;};
};

zone "subzone.mydns.example.com" {
  type forward;
  forwarders { 192.168.0.4; };
};

Datei /var/named/mydns.example.com.zone Auf dem externen DNS-Server:

$TTL 1
$Origin mydns.example.com.
@             IN      SOA   mydns.example.com. root.mydns.example.com. (
                        2003080800 ; se = serial number
                        60         ; ref = refresh
                        60         ; ret = update retry
                        60         ; ex = expiry
                        60         ; min = minimum
                        )

@             IN      NS      mydns.example.com.

Also versuche ich jetzt einige DNS-Einträge aufzulösen. Die externe Serverzone scheint zu funktionieren.

workstation$ Dig mydns.example.com NS +tcp +short
mydns.example.com.

Die weitergeleitete Zone funktioniert jedoch nicht:

workstation$ Dig subzone.mydns.example.com NS +tcp

; <<>> Dig 9.8.1-P1 <<>> subzone.mydns.example.com NS +tcp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36887
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;subzone.mydns.example.com.        IN      NS

;; AUTHORITY SECTION:
mydns.example.com.    1       IN      SOA     mydns.example.com. root.mydns.example.com. 2003080800 60 60 60 60

;; Query time: 3 msec
;; SERVER: 91.144.182.3#53(91.144.182.3)
;; WHEN: Thu Jul 19 17:27:54 2012
;; MSG SIZE  rcvd: 108

Die Ergebnisse sind identisch, wenn diese Befehle auf einem Remote-Internet-Host und einem internen Host ausgeführt werden.

Wenn ich versuche, subzone.mydns.example.com. Vom externen Nameserver aufzulösen UND den internen Server explizit anzugeben, erhalte ich:

mydns$ Dig @192.168.0.4 subzone.mydns.example.com NS

; <<>> Dig 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> @192.168.0.4 subzone.mydns.example.com NS
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 87
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3

;; QUESTION SECTION:
;subzone.mydns.example.com.        IN      NS

;; ANSWER SECTION:
subzone.mydns.example.com. 3600 IN NS      ns1.internal.

;; ADDITIONAL SECTION:
ns1.internal.      3600    IN      A       192.168.0.4

;; Query time: 613 msec
;; SERVER: 192.168.0.4#53(192.168.0.4)
;; WHEN: Thu Jul 19 18:20:55 2012
;; MSG SIZE  rcvd: 163

Was ist falsch? Wie konfiguriere ich die Weiterleitungs-DNS-Zone so, dass sie wie erwartet funktioniert?

15
vadipp

Fügen Sie ein "nur vorwärts" hinzu. Anweisung an die weitergeleitete Zone:

zone "subzone.mydns.example.com" {
    type forward;
    forward only;
    forwarders { 192.168.0.4; };
};
14
Brandon Xavier

Sie müssen die A RR für NS "subzone.mydns.example.com." Auf Ihrem externen DNS konfigurieren. Sie heißt "Kleberdatensatz" und entspricht der IP Ihres internen DNS Derzeit kann Ihr externes DNS die IP des internen DNS nicht kennen

0
Fabaxx

Ich habe einen weiteren Schritt getan, den ersten, der von @ brandon-xavier erwähnt wurde:

zone "subzone.mydns.example.com" {
    type forward;
    forward only;
    forwarders { 192.168.0.4; };
};

und der neue:

$Origin subzone.mydns.example.com.
@             IN      NS      ns1.subzone.mydns.example.com.

Aber ich weiß nicht, warum es notwendig ist ...

0
Rfraile