我继承了一个4.0.6 powerdns部署,用于在实验室环境中为私有区域服务。我正在将此环境迁移到AWS的过程中,需要电源将aws.internal.lan转发到一组Route53入站解析器。似乎我应该能够通过在递归中使用“前向区域-递归”来完成这个任务,但是我似乎无法让它与当前的设置一起工作。
pdns.conf:
daemon=no
max-tcp-connections=1000
guardian=no
setuid=pdns
setgid=pdns
launch=gpgsql
allow-recursion=127.0.0.0/8, 10.0.0.0/8
recursor=127.0.0.1:5353
local-address=0.0.0.0
local-port=53
master=no
slave=yes
slave-cycle-interval=60
gpgsql-host=127.0.0.1
gpgsql-dbname=pdns
gpgsql-user=redacted
gpgsql-password=redacted
api-key=redacted
webserver=yes
webserver-address=0.0.0.0
webserver-port=8081
recursor.conf:
setuid=pdns-recursor
setgid=pdns-recursor
allow-from=127.0.0.0/8
local-address=127.0.0.1
local-port=5353
forward-zones-recurse=aws.internal.lan=10.162.67.202;10.162.73.199
问题是pdns不将区域转发到Route53解析器。我可以确认,如果执行dig @127.0.0.1 -p 5353 aws.internal.lan
,递归器返回正确的记录,但只能从本地ns服务器查询递归器。监听端口53的权威服务器不应该将请求转发给监听端口5353的递归服务器吗?
这似乎应该是有效的,但也许我错过了什么。正如您从我的配置中可以看到的那样,我使用的是一个旧版本的pdns,而且我似乎找不到关于这个旧版本的任何文档。你知道我在这里做错什么了吗?
发布于 2022-10-05 00:18:40
你误解了事情的运作方式。
解析器不会将请求转发给递归程序,也不会转发到任何地方。另一方面,应该将递归器配置为将解析器管理的区域的请求转发到该区域。
客户端查询应该始终进入递归程序,然后递归将本地区域转发到解析器,并适当地解析其他区域。“递归”设置在解析器上没有功能。
在解析器上,需要设置如下
forward-zones=ponyville.eq.=127.0.0.1:5353
将请求转发给解析器(在端口5353上,递归器在端口53上)
还有一个问题是,如果您有辅助服务器,解析器将尝试根据NS记录发送通知包。如果您的解析器位于端口5353上,那么这些通知数据包将进入递归程序,并且您需要一些特殊的配置(太复杂了,无法在此放置)将它们转发到解析器。我们在主机上有两个IP地址,其中一个有解析器,另一个有递归,这样就不需要在同一个主机名上有不同的端口了。
所以,总之,
https://serverfault.com/questions/1097798
复制相似问题