PowerDNS管道后端,回退到递归器

PowerDNS管道后端,回退到递归器,dns,powerdns,Dns,Powerdns,我想用两个级别的解析设置PowerDNS实例: 管道后端 对公共递归程序(如8.8.8.8)的回退 我已经正确设置了管道后端,我可以成功地查询它 现在我想要实现的是,当管道后端没有答案时,我希望从公共递归程序(如8.8.8.8)中获得答案 在我的pdns.conf文件中 allow-recursion=0.0.0.0/32 # yes, wide open for my tests lazy-recursion=yes recursor=8.8.8.8 但是,如果查询的域不是由管道后端处理

我想用两个级别的解析设置PowerDNS实例:

管道后端 对公共递归程序(如8.8.8.8)的回退 我已经正确设置了管道后端,我可以成功地查询它

现在我想要实现的是,当管道后端没有答案时,我希望从公共递归程序(如8.8.8.8)中获得答案

在我的pdns.conf文件中

allow-recursion=0.0.0.0/32  # yes, wide open for my tests 
lazy-recursion=yes
recursor=8.8.8.8
但是,如果查询的域不是由管道后端处理的,则会得到以下结果:

$ host -t A www.google.com localhost
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases: 

www.google.com has no A record
管道后端中是否有要返回的退出代码或其他信息,以通知pdns服务器进行递归


提前感谢您的帮助

问题在于符号:

0.0.0.0/32

这是不正确的。看起来更漂亮的方法是安装pdns递归器

从v3.2开始工作

/etc/powerdns/recursor.conf

forward-zones=domain.local=authoritative_local_dns_ip
forward-zones-recurse=.=recursor01_ip;recursor02_ip;recursor03_ip

这不是对实际问题的回答,但在一个相关的注释中,DJB解释了为什么不应该这样做:0.0.0.0/32仅表示实际的IPv4地址0.0.0.0,该地址不可路由,但可以用于绑定到所有IPv4接口,如果您要指定可能存在的所有或任何IPv4地址,则范围0.0.0/0可以做到这一点。