为什么重新启动BIND时会出现“忽略区外数据”的问题?

我一直在使用我自己的DNS服务器,但后来我转移到第三方DNS提供商。 昨天我想回去使用我自己的DNS并取消这个第三方服务。 我在当前的DNS conf中降低了TTL,在GoDaddy中为我的域名更改了DNS信息,这就是问题出现的时间。

我的域名似乎只适用于某些人,而不适用于其他人,所以很显然有些事情是错误的。

当重新启动绑定service named restart一切似乎是好的,但后来在从Logwatch的电子邮件我收到这样的错误:

 mapvivo.com:30: ignoring out-of-zone data (ns1.mydns.com): 3 Time(s) mapvivo.info:16: ignoring out-of-zone data (ns1.mydns.com): 5 Time(s) 

任何人都可以指向正确的方向吗?

我的BINDconfiguration下面这两个域名:

文件: /var/named/chroot/etc/zones.external

 zone "mapvivo.com" IN { type master; file "mapvivo.com"; allow-transfer { 213.251.188.140; }; allow-update { none; }; notify yes; also-notify { 213.251.188.140; }; }; zone "mapvivo.info" IN { type master; file "mapvivo.info"; allow-transfer { 213.251.188.140; }; allow-update { none; }; notify yes; also-notify { 213.251.188.140; }; }; 

文件/var/named/chroot/var/named/mapvivo.com是我的主要域名

 $TTL 3600 $ORIGIN mapvivo.com. @ IN SOA ns22943.ovh.net. sdns1.ovh.net. ( 2010032101 ; Serial 10800 ; Refresh 3600 ; Retry 2419200 ; Expire 3600 ) ; NXDOMAIN TTL IN NS ns22943.ovh.net. IN NS sdns1.ovh.net. IN MX 10 ASPMX.L.GOOGLE.COM. IN MX 20 ALT1.ASPMX.L.GOOGLE.COM. IN MX 20 ALT2.ASPMX.L.GOOGLE.COM. IN MX 30 ASPMX2.GOOGLEMAIL.COM. IN MX 30 ASPMX3.GOOGLEMAIL.COM. IN MX 30 ASPMX4.GOOGLEMAIL.COM. IN MX 30 ASPMX5.GOOGLEMAIL.COM. IN A 91.121.9.21 * IN A 91.121.9.21 edu IN A 91.121.9.21 googleXXXXXXXXXXXXXXXX IN CNAME google.com. ns22943.ovh.net. IN A 91.121.9.21 

文件/var/named/chroot/var/named/mapvivo.info只是apache中的一个别名mapvivo.com

 $TTL 86400 $ORIGIN mapvivo.info. @ IN SOA ns22943.ovh.net. sdns1.ovh.net. ( 2009042901 ; Serial 10800 ; Refresh 3600 ; Retry 2419200 ; Expire 3600 ) ; NXDOMAIN TTL IN NS ns22943.ovh.net. IN NS sdns1.ovh.net. IN A 91.121.9.21 * IN A 91.121.9.21 ns22943.ovh.net. IN A 91.121.9.21 

看起来这是这条线的错误:

ns1.mydns.com. IN A 111.111.111.111

您的mydomain.com区域中的某个其他区域(mydns.com)不能有DNSlogging。 该logging属于mydns.com的区域。

这不会导致某种严重的失败或爆炸,BIND只是说它会忽略这一行。

======

检查你列出的DNS服务器的mapvivo.info的logging似乎表明,他们根本没有任何数据为您的区域(都返回结果是这样的):

 [jrod@selene ~]$ dig mapvivo.info @sdns1.ovh.net ; <<>> DiG 9.6.1 <<>> mapvivo.info @sdns1.ovh.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55728 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available` ;; QUESTION SECTION: ;mapvivo.info. IN A ;; Query time: 122 msec ;; SERVER: 213.251.188.140#53(213.251.188.140) ;; WHEN: Tue Mar 23 01:43:50 2010 ;; MSG SIZE rcvd: 30 

91.121.9.21是该域的权威域名服务器吗? 我的nmap扫描表明端口53对于TCP和UDP都是closures的。

通常有两个原因,您的域名适用于某些人,但不是所有人:

  1. 一台服务器正在返回caching的结果。 有很多服务器以各种有趣的方式违反了TTL。 做一个dig +trace ,你避免了caching。

  2. 序列号不正确。 在这种情况下,您的区域传输将会中断,因此您自己的服务器可能使用正确的区域文件,但是所有的从属区域都使用旧的区域文件。

对于上面相同的错误信息,这是错误的文件名,导致一个完全不同的区域文件被重新用于其区域,反而使完全不同的区域文件是不确定的和不可取的。