我来这里是想询问有关我已解决但不明白如何解决的问题的信息。
今天,为家里的不同机器提供服务的家庭 DNS 服务器(9.10.3-P4-Raspbian)突然停止工作。
我可以从该服务器毫无问题地运行以下命令:
ping 8.8.8.8
乃至:
telnet 8.8.8.8 53
然而,一个简单的:
host google.fr
得出的答案是:
Trying "google.fr"
;; connection timed out; no servers could be reached
我尝试重新启动 Bind,但没有效果。
在 /etc/resolv.conf 中手动设置外部解析器可使解析再次起作用,因此这显然是一个绑定问题。
奇怪的部分来了。这是我的
acl goodclients {
192.0.0.0/24;
localhost;
localnets;
};
options {
directory "/var/cache/bind";
dnssec-enable yes;
dnssec-lookaside auto;
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
recursion yes;
allow-query { goodclients; };
};
我在dnssec相关的日志中发现了几个错误:
validating dlv.isc.org/SOA: verify failed due to bad signature (keyid=64263): RRSIG has expired
因此我尝试禁用所有与 DNSSEC 相关的参数,如下所示:
# dnssec-enable yes;
# dnssec-lookaside auto;
# dnssec-validation auto;
之后重新启动 Bind 即可正确解决。所以我认为这是来自这些参数。因此,我决定逐个取消注释以了解情况。每次取消注释一个参数后,我都会重新启动 Bind。
每次重启后它仍然继续工作,即使在我取消所有注释之后也是如此。
所以我现在处于一个奇怪的情况,一切都和以前一样,配置完全相同。就好像简单的事实已经改变,然后回滚配置解决了问题。
我想了解发生了什么,所以我想向周围的智者请教:有人遇到过这种情况吗?
提前致谢。
答案1
原因如下:https://lists.isc.org/pipermail/bind-users/2020-March/102822.html
将您的 dnssec-lookaside 设置为“否”。