为什么我重新启动 BIND 时会出现“忽略区域外数据”的情况

为什么我重新启动 BIND 时会出现“忽略区域外数据”的情况

我一直在使用自己的 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

通常有两个原因导致您的域名对某些人有用,但对所有人都没用:

  1. 一台服务器正在返回缓存结果。有很多服务器以各种有趣的方式违反了 TTL。执行 adig +trace即可避免缓存。

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

答案3

对于上述相同的错误消息,由于文件名输入错误,导致完全不同的区域文件被重新用于其区域,相反,导致该完全不同的区域文件未定义且不可引用。

相关内容