我的pdns_recursor
设置包含此
forward-zones=net=127.0.0.1:5353;8.8.8.8
其中127.0.0.1:5353
侦听我自己的DNS服务器,该服务器充当.net
区域下所有DNS请求的过滤器。当我的DNS服务器认为应该阻止请求时,它会将阻止页面的IP返回给pdns_recursor。如果没有,则会将NXDOMAIN
返回pdns_recursor
。
我对pdns_recursor
的理解是,如果DNS请求从我自己的DNS服务器收到8.8.8.8
,它将继续将DNS请求转发给NXDOMAIN
。这样,未阻止的请求将通过Google DNS到达目的地。但是,客户端始终会看到来自NXDOMAIN
的阻止页面或pdns_recursor
消息!
我在这里缺少什么?
非常感谢!
答案 0 :(得分:1)
NXDOMAIN
是对DNS查询的完美答案,并且PowerDNS没有理由在已收到答案时尝试其他服务器。实际上,RFC1034表示,recursor应该继续询问服务器,直到它收到响应"。假设PowerDNS遵循RFC,那么来自过滤器的任何响应都将传递给用户。因此,如果您希望将查询传递到列表中的下一个服务器,那么您的过滤器就不能回答。在这种情况下,您的所有用户都必须等待所有未阻止的查询超时才会传递给Google,这可能会让他们烦恼不已。