如何使用 forward-zone 选项为 PowerDNS Recursor 设置故障转移服务器?
How to setup failover server for PowerDNS Recursor with forward-zone option?
我的 pdns_recursor
设置包括这个
forward-zones=net=127.0.0.1:5353;8.8.8.8
在 127.0.0.1:5353
的位置侦听我自己的 DNS 服务器,该服务器充当 .net
区域下所有 DNS 请求的过滤器。当我的 DNS 服务器认为应该阻止请求时,它 returns 将阻止页面的 IP 设为 pdns_recursor。如果不是,则 returns NXDOMAIN
到 pdns_recursor
.
我对 pdns_recursor
的理解是,如果它从我自己的 DNS 服务器收到 NXDOMAIN
,它将继续转发 DNS 请求到 8.8.8.8
。这样,未阻止的请求将通过 Google DNS 到达其目的地。但是,客户端总是看到阻塞页面或来自 pdns_recursor
!
的 NXDOMAIN
消息
我在这里错过了什么?
非常感谢!
NXDOMAIN
是 DNS 查询的完美答案,PowerDNS 没有理由在已经收到答案后尝试另一台服务器。事实上,RFC1034 说递归器应该不断询问服务器,直到它收到 "a response"。假设 PowerDNS 遵循 RFC,来自过滤器的 any 响应将传递给用户。因此,如果您希望将查询传递到列表中的下一个服务器,您的过滤器就不能回答。在这种情况下,您的所有用户将不得不等待所有未阻止的查询超时,然后才能将它们传递给 Google,这可能会让他们很烦。
我的 pdns_recursor
设置包括这个
forward-zones=net=127.0.0.1:5353;8.8.8.8
在 127.0.0.1:5353
的位置侦听我自己的 DNS 服务器,该服务器充当 .net
区域下所有 DNS 请求的过滤器。当我的 DNS 服务器认为应该阻止请求时,它 returns 将阻止页面的 IP 设为 pdns_recursor。如果不是,则 returns NXDOMAIN
到 pdns_recursor
.
我对 pdns_recursor
的理解是,如果它从我自己的 DNS 服务器收到 NXDOMAIN
,它将继续转发 DNS 请求到 8.8.8.8
。这样,未阻止的请求将通过 Google DNS 到达其目的地。但是,客户端总是看到阻塞页面或来自 pdns_recursor
!
NXDOMAIN
消息
我在这里错过了什么?
非常感谢!
NXDOMAIN
是 DNS 查询的完美答案,PowerDNS 没有理由在已经收到答案后尝试另一台服务器。事实上,RFC1034 说递归器应该不断询问服务器,直到它收到 "a response"。假设 PowerDNS 遵循 RFC,来自过滤器的 any 响应将传递给用户。因此,如果您希望将查询传递到列表中的下一个服务器,您的过滤器就不能回答。在这种情况下,您的所有用户将不得不等待所有未阻止的查询超时,然后才能将它们传递给 Google,这可能会让他们很烦。