
我有一个 PDNS 递归器和权威服务器设置,如下图所示 (DNS1)。我尝试以与第一个 DNS 服务器相同的方式设置第二个 DNS 服务器,但我没有从 DNS1 获取 DNS2 上的任何记录(我得到的只是 DNS2 递归日志中的“忽略来自”的非查询操作码 4) 。
这是我的 recursor.conf 在 DNS1 上的样子
#recursor.conf
forward-zones-file=/etc/powerdns/forward.conf
forward-zones-recurse=.=<some ips>
local-port=53
local-address=<some ip>
这是我的 pdns.conf 在 DNS1 上的样子
#pdns.conf
default-soa-name=ns1.example.cz
allow-axfr-ips=<some ip>
daemon=yes
disable-axfr=no
local-address=127.0.0.1
local-port=53
master=yes
slave=no
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=<powerdns_user>
gmysql-dbname=<powerdns_db>
gmysql-password=<powerdns_pass>
gmysql-dnssec=no
#gentoo specific - no ipv6 support
query-local-address6=
我的问题是 - 在这些条件下 AXFR 传输是否可能? (例如,递归器是否会阻止记录传输?)
编辑:我一直混淆“递归”(正确)和“前体”(错误)。对不起!
edit2:根据哈比的建议,这会更有意义吗?
答案1
首先,您应该意识到,即使不考虑 AXFR 问题,您也无法在此设置中将域委托给递归程序。如果您打算委派域,则无论如何都必须更改您的设置。
好消息是,无论哪种方式,dnsdist 都可以解决您的问题。将其放在前面,将 auth 和 recursor 放在后面,并使用以下描述的功能https://dnsdist.org/advanced/axfr.html将 AXFR 获取到身份验证服务器。