这是我第一次向论坛提问,所以请大家多多包涵。我是一名 Linux 新手,我尝试设置自己的 Ubuntu 服务器(服务器名称:araliya,域名:autun.hom,IP:192.168.1.99)。我设置了所有内容,并安装了 bind9 来设置 DNS 服务器,使用此处发布的教程(如何使用主机名完成完整的 BIND9 DNS 服务器配置?)。
一切都进行得很顺利,直到最后一步,我必须检查 DNS 服务器是否正常工作。当我输入以下命令时,我得到了一个很好的输出。
> named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
然而,当我对反向 DNS 查找执行同样的事情时,我得到了略有不同的答案。
> named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 1
Ok
教程中说,“named-checkzone”的输出对于正向和反向查找区域应该相同。但我得到的“loaded serial”值在两个答案中是不同的。
当我执行所有其他测试(包括 dig、hostname、nslookup)时,我得到了良好的输出。事实上,我的 DNS 服务器看起来正在运行。然而,当我检查系统日志时,我收到很多错误:
May 10 20:09:04 araliya named[1026]: validating @0x7f1314706200: . NS: got insecure response; parent indicates it should be secure
May 10 20:09:04 araliya named[1026]: error (insecurity proof failed) resolving './NS/IN': 192.168.1.1#53
May 10 20:09:12 araliya named[1026]: validating @0x7f1314706200: . NS: got insecure response; parent indicates it should be secure
May 10 20:09:12 araliya named[1026]: error (insecurity proof failed) resolving './NS/IN': 192.168.1.1#53
May 10 20:09:13 araliya named[1026]: error (network unreachable) resolving './NS/IN': 2001:7fe::53#53
May 10 20:09:24 araliya named[1026]: validating @0x7f1314706200: . NS: got insecure response; parent indicates it should be secure
May 10 20:09:24 araliya named[1026]: error (insecurity proof failed) resolving './NS/IN': 192.168.1.1#53
奇怪的是,所有主机名都已正确解析,但看起来我可能在某个地方犯了错误。有人能帮我找出错误在哪里吗?
答案1
这些错误消息与 dnssec 有关。删除或注释掉/etc/bind/named.conf.options
以 开头的所有行dnssec
,然后重新启动 bind9。
我能找到的最好的解释是这里:
当验证器收到来自未签名区域(但父区域已签名)的响应时,它必须向父区域确认该区域是故意未签名的。它通过签名和验证的 NSEC/NSEC3 记录验证父区域不包含子区域的 DS 记录来实现这一点。
如果验证器可以证明该区域不安全,则接受响应。但是,如果不能,则必须假设不安全的响应是伪造的;它会拒绝响应并记录错误。
记录的错误显示“不安全证明失败”和“收到不安全的响应;父级表示它应该是安全的”。 (在 BIND 9.7 之前,记录的错误是“不安全”。这指的是区域,而不是响应。)
答案2
将以下行添加到您的“/etc/default/bind9”
如下:
# startup options for the server
OPTIONS="-u bind -4"