El *_*tÓn 6 subdomain dns forward
我正在使用Bind9作为我办公室的DNS服务器.
我们有一个区域:example.com.必须从我们的DNS服务器解析为权威.
另一方面,我们有一个sub.example.com.zone,必须转发到其他DNS服务器.
当我们在example.com上查询任何记录时绑定答案.区.但是对于sub.example.com的查询失败了.因为它不做转发.它一直在寻找当地的答案.
这是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";
};
Run Code Online (Sandbox Code Playgroud)
这是example.com.db文件内容:
$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
Run Code Online (Sandbox Code Playgroud)
这是使用dig客户端的bdred.example.com查询的输出(可以):
; <<>> 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
Run Code Online (Sandbox Code Playgroud)
这是挖掘查询的答案,它不起作用:
; <<>> 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
Run Code Online (Sandbox Code Playgroud)
拜托,我们做错了什么?
El *_*tÓn 12
解决方法是不在named.conf中创建区域.解决方案是使用区域委派如下:
$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
Run Code Online (Sandbox Code Playgroud)