PowerDNS递归器传输客户端’;s IP(而非its)

PowerDNS递归器传输客户端’;s IP(而非its),dns,bind,powerdns,Dns,Bind,Powerdns,我之所以写信给您,是因为我构建了一个带有绑定服务器和PowerDNS递归器的基础设施,该递归器将请求传输到绑定服务器。我想做的是递归器传输客户端的ip而不是它的ip,所以我尝试使用EDN(0)来实现这一点。 下面是一个图表,总结了我要做的事情: Client : 10.0.0.1/24 | | “test.com” | Server with PDNS-RECURSOR : 192.168.1.1/24 | | “test.com” with ip_source=10.0.0.1/24 | S

我之所以写信给您,是因为我构建了一个带有绑定服务器和PowerDNS递归器的基础设施,该递归器将请求传输到绑定服务器。我想做的是递归器传输客户端的ip而不是它的ip,所以我尝试使用EDN(0)来实现这一点。 下面是一个图表,总结了我要做的事情:

Client : 10.0.0.1/24
|
| “test.com”
|
Server with PDNS-RECURSOR : 192.168.1.1/24
|
| “test.com”  with ip_source=10.0.0.1/24
|
Server with BIND : 192.168.1.2/24
以及不同的配置文件:

•绑定配置:3个视图

View recursor {} #Return specific IP for the recursor machine
View localhost {} #Return specific IP for the localhost machine.
View external {} #Return specific IP for the external machines.
•Pdns递归器配置(4.1):

不幸的是,它总是返回递归器的视图,您有解决方案吗?
提前谢谢你

您不能传输IP,但可以传输子网。这需要一个称为客户端子网的EDNS选项,如中所述

对于PowerDNS,这在配置中由以
ecs-
开始的各种选项控制,请参阅

您可以尝试
ecs-ipv4-bits:32
来尝试发送整个IP(出于隐私问题,该选项更多地是关于发送子网)

有关此选项的绑定配置,请参阅

您应该嗅出两者之间的通信量,以确保PowerDNS正确发送要绑定的信息

您还可以尝试使用相应的客户端子网选项(
+subnet=
)直接查询绑定,以确保绑定满足您的需要

edns-outgoing-bufsize=1680
edns-subnet-whitelist=0.0.0.0/0.
forward-zones=192.168.1.2
use-incoming-edns-subnet=yes