我遇到了 powerdns-recursor (版本 3.5.3-1ubuntu0.1,Ubuntu 14.04) 在查询的根服务器关闭时返回 SERVFAIL 的问题。我以为它会查询另一个,但它只是返回 SERVFAIL...
目前 b.root-servers.net (199.9.14.201) 已关闭(至少对我来说):
# dig google.com @199.9.14.201
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com @199.9.14.201
;; global options: +cmd
;; connection timed out; no servers could be reached
我的本地服务器在返回 SERVFAIL 和良好结果之间变化。此结果似乎来自数据包缓存。
我在我们的 Nagios 监控机器上设置了一个本地 pdns-recursor,并使用它来/etc/resolv.conf
确保 Nagios 能够快速发现 DNS 区域或服务器问题(否则可能需要一天或更长时间才能检测到问题)。我的/etc/powerdns/recursor.conf
是:
local-address=127.0.0.1, ::1
local-port=53
max-cache-ttl=60
quiet=no
setgid=pdns
setuid=pdns
我似乎无法弄清楚如何让 Power DNS 在 SERVFAIL 上尝试其他根服务器。当其中一个查询的根服务器关闭时,它会向客户端返回 SERVFAIL,这对我来说毫无意义。
编辑:我已将服务器升级到 16.04,使用 Power DNS 4.0。我封锁了根服务器 Bip(6)tables
一天,似乎没有什么不良影响。所以,这个版本似乎能更好地处理这个问题。
答案1
您必须在 /etc/powerdns/recursor.conf 上的提示文件中添加根服务器,并
在提示文件中添加根主服务器或从服务器,如下所示
. 360000000 NS my-dns-root-server.com
my-dns-root-server.com 360000000 A {your root server ip}