DNS - 转发给

0xm*_*mtn 5 domain-name-system iptables

DNS 是否有任何机制可以代表其他人转发请求?像 HTTP 的 XFF 或“X-Forwarded-For”。

详细:

我有一个如下的网络结构:

(客户端) ------> (路由器) -----> (调制解调器) ----> ISP

现在,我希望将router客户端的 DNS 请求重定向到 LAN 外的远程服务器,这非常简单。但我也希望远程服务器知道哪个客户端发出了这个 DNS 请求。是否可以仅使用 iptables?

kas*_*erd 8

存在RFC 7871,由于操作和隐私方面的缺陷,尚不具备标准状态。它使用与 X-Forwarded-For 非常相似的 EDNS 选项,可以仅包含您认为适合您的用例的地址位。

使用防火墙匹配此字段将具有挑战性,因为它位于请求的末尾,这意味着偏移量是变化的,并且数据包可能会被分段,因此如果不首先重新组装数据包就无法识别它。从我机器上的手册页来看,iptables 中似乎没有特定于 DNS 的过滤器。

从防火墙中的重整规则添加字段将更具挑战性。因此,您很可能应该寻找应用层解决方案而不是防火墙,或者避免通过 NAT 发送数据包。