Ubuntu DNS 服务器正常工作,但在 syslog 中出现错误

use*_*327 7 server networking dns

这是我在这里的论坛的第一个问题,所以请放轻松。我是 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
Run Code Online (Sandbox Code Playgroud)

然而,当我为反向 DNS 查找做同样的事情时,我得到了一个稍微不同的答案。

> named-checkzone autun.hom /etc/bind/zones/db.192
  zone autun.hom /IN: loaded serial   1
  Ok 
Run Code Online (Sandbox Code Playgroud)

教程说“named-checkzone”的输出对于正向和反向查找区域应该是相同的。但是我得到的“加载的串行”值在两个答案之间是不同的。

当我遵循所有其他测试(包括 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
Run Code Online (Sandbox Code Playgroud)

奇怪的是,所有主机名都被正确解析,但看起来我可能在某处犯了错误。有人可以帮我查明错误在哪里吗?

its*_*dok 6

这些错误消息与 dnssec 相关。删除或注释掉以/etc/bind/named.conf.options开头的所有行dnssec并重新启动 bind9。

对于正在发生的事情,我能找到的最好的解释是在这里

当验证器收到来自具有签名父节点的未签名区域的响应时,它必须与父节点确认该区域是有意留下未签名的。它通过通过签名和验证的 NSEC/NSEC3 记录验证父区域不包含子区域的 DS 记录来实现这一点。

如果验证器可以证明该区域不安全,则接受响应。然而,如果它不能,那么它必须假设一个不安全的响应是伪造的;它拒绝响应并记录错误。

记录的错误显示“不安全证明失败”和“得到了不安全的响应;父级表明它应该是安全的”。(在 BIND 9.7 之前,记录的错误是“不安全”。这是指区域,而不是响应。)

  • 在我看来,关闭 dnssec 是一个坏主意,所以我将 google 的 dns 服务器添加到 `/etc/bind/named.conf.options` 中,并注释掉抛出错误的 dns 服务器(即 comcast 的) (2认同)

小智 -1

将以下行添加到“/etc/default/bind9”中

如下:

# startup options for the server
OPTIONS="-u bind -4"
Run Code Online (Sandbox Code Playgroud)