DNS区域转移到solaris奴隶

我运行bind9作为Debian GNU / Linux上的专用区域的主要DNS服务器,一切都很开心。 namserver工作在IP XXXX1

 $ dig foo.zoneA @dns.zoneA ; <<>> DiG 9.7.3 <<>> foo.zoneA @XXXX1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21295 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2 ;; QUESTION SECTION: ;foo.zoneA. IN A ;; ANSWER SECTION: foo.zoneA. 604800 IN A 192.168.171.Y ;; AUTHORITY SECTION: zoneA. 604800 IN NS ns2.mycompany.net. zoneA. 604800 IN NS dns.zoneA. zoneA. 604800 IN NS dns.mycompany.net. ;; ADDITIONAL SECTION: dns.mycompany.net. 306 IN A XXXX2 dns.zoneA. 604800 IN A XXXX1 ;; Query time: 0 msec ;; SERVER: XXXX1#53(XXXX1) ;; WHEN: Thu Jul 26 17:04:14 2012 ;; MSG SIZE rcvd: 142 

最近我们必须将我们的一个区域镜像到solaris上运行bind9的辅助DNS服务器。

在主服务器上,我们允许区域传输到辅助服务器,如下所示:

 acl zoneAdns { XXXX2; }; view "localview" { match-clients { zoneAdns; ...; }; allow-transfer { zoneAdns; }; zone "zoneA" { type master; allow-query { zoneAdns; ...; }; file "/etc/bind/db/db.zoneA"; }; }; 

我用...来表示其他的XXXX2XXXX2是辅助DNS服务器的IP地址。

在configuration之后,在solaris机器上可以使用dig axfr zoneA @XXXX1 (其中XXXX1是主DNS服务器的IP)手动获取区域传输。

solaris机器被configuration(根据谁做的那个人,因为我没有机器)有这样的东西:

 zone "zoneA" { type slave; masters { XXXX1; }; file "/var/cache/bind/db.zoneA"; }; 

不幸的是,solaris-host拒绝作为辅助域名服务器:

 $ dig foo.zoneA @XXXX2 ; <<>> DiG 9.7.3 <<>> foo.zoneA @XXXX2 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 33528 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;foo.zoneA. IN A ;; AUTHORITY SECTION: . 3533 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012072600 1800 900 604800 86400 ;; Query time: 0 msec ;; SERVER: XXXX2#53(XXXX2) ;; WHEN: Thu Jul 26 16:59:21 2012 ;; MSG SIZE rcvd: 106 

幸运的是还有第三个名称服务器可用(这次再次在Linux上运行bind9,IP XXXX3 )。 configuration这个名称服务器与solaris bind9完全一样(根据那里的技术人员),我们立即成功(在主服务器上允许区域传输新的IP地址之后):

$ dig foo.zoneA @ XXXX3

 ; <<>> DiG 9.7.3 <<>> foo.zoneA @XXXX3 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9788 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;foo.zoneA. IN A ;; ANSWER SECTION: foo.zoneA. 604800 IN A 192.168.171.Y ;; AUTHORITY SECTION: zoneA. 604800 IN NS dns.zoneA. zoneA. 604800 IN NS ns2.mycompany.net. zoneA. 604800 IN NS dns.mycompany.net. ;; ADDITIONAL SECTION: dns.mycompany.net. 600 IN A XXXX2 dns.zoneA. 604800 IN A XXXX1 ns2.mycompany.net. 600 IN A XXXX3 ;; Query time: 1 msec ;; SERVER: XXXX3#53(XXXX3) ;; WHEN: Thu Jul 26 17:15:53 2012 ;; MSG SIZE rcvd: 158 

现在,这两个“其他”名字(运行solaris和XXXX3的XXXX2运行linux)作为主(solaris)/次(linux)对,所以bind9pipe理至less从solaris到linux进行区域传输。

尝试使用bind9进行从linux到solaris的区域传输时,是否有任何已知的限制?

不幸的是,solaris-host拒绝作为辅助域名服务器

不幸的是,这对DNS的工作原理深表误解。

世界其他地方怎么知道,谁来查询你的域名数据?
– >通过您的区域文件中configuration/定义的名称服务器。

您需要将Solaris IP添加为名称服务器(NS)logging,并更新区域。

这也会导致通知被自动发送,因为它们被发送到所有其他列出的名称服务器。

然后,从机将响应通知而拉出该区域。

只是供参考,“recursion是” – 不,只是…不。 这在权威的域名服务器上是没有地位的; build立一个专门的parsing器caching来代替。