我知道这有点超出本网站的范围,但我正在尝试设置一个测试 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
,现在它运行良好。