Tôi có:
- máy chủ DNS nội bộ
ns1.internal
có IP192.168.0.4
. - máy chủ DNS bên ngoài với TLD bên ngoài
mydns.example.com
và IP bên trong192.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.com
tớ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.conf
trê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.zone
trê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?
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?)