BIND 和 SERVFAIL

BIND 和 SERVFAIL

我知道这有点超出本网站的范围,但我正在尝试设置一个测试 DNS 服务器,但它完全拒绝解析本地域。我尝试按照多个教程和各种论坛上的帖子的建议进行操作,但都没有成功。

每当我尝试使用 dig 或 nslookup 时,服务器都会以通用 SERVFAIL 响应。有趣的是,反向查找工作正常。

我确信这是一个简单的问题,但我却绞尽脑汁试图找到它。任何帮助都将不胜感激。

IP地址:192.168.93.25

主机名:ns2.tenebris.cs

以下是相关文件:

/etc/resolv.conf

nameserver 127.0.0.1
search ns2.tenebris.cs

/etc/bind/named.conf.local

zone "tenebris.cs"{
    type master;
    file "/etc/bind/zones/tenebris.cs.db";
};
zone "93.168.192.in-addr.arpa"{
        type master;
        file "/etc/bind/zones/rev.93.168.192.in-addr.arpa";
};

/etc/bind/zones/tenebris.cs.db

$TTL 86400      ; 1 day


tenebris.cs.  IN  SOA ns2.tenebris.cs. hostmaster.example.com. (
2008080901 ; serial
8H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)

       IN    NS  ns2.tenebris.cs.
       IN    MX  hermes.tenebris.cs.
       IN    A   192.168.93.25

localhost IN A 127.0.0.1
ns2     IN A    192.168.93.25
www     IN A  192.168.93.250
zeus    IN A  192.168.93.253
hermes  IN A    192.168.93.250

www     IN CNAME tenebris.cs.

答案1

您使用 named-checkzone。

$ named-checkzone tenebris.cs cs.db 
dns_rdata_fromtext: cs.db:13: near 'hermes.tenebris.cs.': not a valid number
dns_master_load: cs.db:22: www.tenebris.cs: CNAME and other data
zone tenebris.cs/IN: loading from master file cs.db failed: not a valid number
zone tenebris.cs/IN: not loaded due to errors.

第一个错误告诉您,指向 hermes.tenebris.cs 的 MX 记录存在问题。MX 记录的格式如下:

name           ttl  class   rr  pref name

您缺少首选项。由于您只有一个,因此您可以将其设置为 0 到 65535 之间的任何有效数字。我试过 10。

下一个错误与您的 CNAME 有关。 CNAME 不能与其他记录共存。您有一个重复的 www,它指向 A 记录和 CNAME。

删除 A 记录,现在您的区域就可以正常工作了!

答案2

如果这对其他人有帮助,我遇到了完全相同的症状,但解决方法不同。我的服务器返回了反向区域的答案,但给出了正向区域的 SERVFAIL。查看文件后/var/named/data/named.run,我发现这是区域文件上的文件权限问题。我做了 achown和 a chmod,现在它运行良好。

相关内容