我一直在使用自己的 DNS 服务器,但后来我改用了第三方 DNS 提供商。昨天我想重新使用自己的 DNS 并取消这项第三方服务。我降低了当前 DNS 配置中的 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)
有人能给我指出正确的方向吗?
我对以下两个域的 BIND 配置:
文件:/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
答案1
看起来是这一行的错误:
ns1.mydns.com. IN A 111.111.111.111
您不能在 mydomain.com 区域中拥有其他区域 (mydns.com) 的 DNS 记录。该记录属于 mydns.com 的区域。
这不会导致某种严重故障或爆炸,BIND 只是说它将忽略这条线。
======
检查您列出的 DNS 服务器中 mapvivo.info 的 A 记录,似乎表明它们根本没有您的区域的任何数据(均返回如下结果):
[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 均已关闭。
答案2
通常有两个原因导致您的域名对某些人有用,但对所有人都没用:
一台服务器正在返回缓存结果。有很多服务器以各种有趣的方式违反了 TTL。执行 a
dig +trace
即可避免缓存。序列号不正确。在这种情况下,您的区域传输将中断,因此您自己的服务器可能使用正确的区域文件,但所有从属服务器都使用旧的区域文件。
答案3
对于上述相同的错误消息,由于文件名输入错误,导致完全不同的区域文件被重新用于其区域,相反,导致该完全不同的区域文件未定义且不可引用。