DNS - 转发给

DNS - 转发给

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

详细地:

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

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

现在,我想router将客户端的 DNS 请求重定向到 LAN 之外的远程服务器,这非常简单。但我还想让该远程服务器知道哪个客户端发出了此 DNS 请求。仅使用 iptables 可以吗?

答案1

RFC 7871由于操作和隐私方面的缺陷,它尚未达到标准状态。它使用 EDNS 选项,其工作原理与 X-Forwarded-For 非常相似,可以仅包含您认为适合您使用情况的地址位数。

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

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

相关内容