Làm cách nào để định cấu hình đúng vùng chuyển tiếp BIND cho máy chủ DNS nội bộ?


15

Tôi có:

  1. máy chủ DNS nội bộ ns1.internalcó IP 192.168.0.4.
  2. máy chủ DNS bên ngoài với TLD bên ngoài mydns.example.comvà IP bên trong 192.168.0.5. Nó có thể truy cập cả từ Internet (thông qua quy tắc NAT tĩnh) và từ mạng cục bộ.

Tôi đang cố gắng thiết lập máy chủ DNS bên ngoài của mình để chuyển tiếp vùng subzone.mydns.example.comtới máy chủ DNS nội bộ. Máy chủ DNS nội bộ có thẩm quyền cho khu vực này.

Quan trọng: Tôi không thể sửa đổi cấu hình máy chủ DNS nội bộ. Tôi có thể đọc nó, tuy nhiên, nếu cần thiết để chẩn đoán vấn đề.

Tệp /etc/named.conftrên máy chủ DNS bên ngoài:

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; };
};

Tệp /var/named/mydns.example.com.zonetrên máy chủ DNS bên ngoài:

$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.

Vì vậy, bây giờ tôi cố gắng giải quyết một số bản ghi DNS. Vùng máy chủ bên ngoài dường như hoạt động.

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

Nhưng vùng chuyển tiếp không hoạt động:

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

Kết quả giống hệt nhau khi các lệnh này được thực thi trên máy chủ Internet từ xa và trên máy chủ nội bộ.

Nếu tôi cố gắng giải quyết subzone.mydns.example.com.từ máy chủ tên bên ngoài VÀ chỉ định rõ ràng máy chủ nội bộ, tôi nhận được:

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

Chuyện gì vậy? Làm cách nào để định cấu hình vùng DNS chuyển tiếp hoạt động như tôi mong đợi?


Sự nghi ngờ của tôi (tôi không chắc chắn làm thế nào để kiểm tra nó) là máy chủ DNS bên ngoài lấy các bản ghi từ bên trong và không ghi đè lên thực tế rằng ns1.iternal chịu trách nhiệm về vùng này. Vì vậy, trình phân giải của máy khách cố gắng giải quyết tên đó (ns1.iternal) và không thành công.
vadipp

3
hãy thử đào + theo dõi để xem chính xác những gì đang xảy ra. Đồng thời sử dụng nscd để cho phép ghi nhật ký truy vấn và kiểm tra lỗi.
coredump

Đầu tiên, tăng mức độ nhật ký của liên kết bên ngoài để ghi nhật ký các yêu cầu riêng lẻ. Suy đoán của tôi là phải có một phái đoàn của vùng subzone.mydns.example.com đến máy chủ DNS mydns.example.com. Hãy thử thêm phần này vào myfns.example.com zonefile: subzone IN NS mydns.example.com.(tôi giả sử khu vực đó có một bản ghi A cho @ = mydns.example.com, đúng không?)
Nils Toedtmann

Câu trả lời:


14

Thêm một 'chỉ chuyển tiếp;' tuyên bố cho khu vực chuyển tiếp:

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

0

Bạn phải định cấu hình RR cho NS "subzone.mydns.example.com." trên DNS bên ngoài của bạn. Nó được đặt tên là "hồ sơ keo" và sẽ tương ứng với IP của DNS nội bộ của bạn. Hiện tại, DNS bên ngoài của bạn không có khả năng biết IP của DNS bên trong. Trân trọng


0

Tôi đã làm và một bước khác nữa, bước đầu tiên được đề cập bởi @ brandon-xavier:

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

và cái mới:

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

Nhưng tôi không biết tại sao nó lại cần thiết ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.