防火墙会丢弃长度超过 512 字节的 udp dns 查询吗?

防火墙会丢弃长度超过 512 字节的 udp dns 查询吗?

底线:D​​NS 的 RFC 指出,UDP 上的 DNS 查询限制为 512 字节。有人知道这是否由主要公司防火墙强制执行吗?

长话短说:我的公司开发了一款可以在数据中心之间进行通信的产品。由于该产品的典型用户(性能工程师)无法访问防火墙的设置,因此我们希望开发一种成功率较高的绕过防火墙的方法。我们考虑通过 DNS TXT 查询隧道传输应用程序数据,因为看起来(在 WAN 内)防火墙倾向于让 DNS 查询通过。但是,我们对常见的防火墙行为不太了解,希望得到一些帮助。具体来说,我们想知道大品牌防火墙是否会阻止长度超过 512 字节的 UDP DNS 查询。

谢谢,

n

答案1

不,据我所知,防火墙不会习惯性地丢弃这样的大型 DNS 查询。您需要查看的问题是现有的 IP over DNS 实现,例如 dns2tcp、nstx 或 iodine。他们会向您展示如何做到这一点。

答案2

如果你谈论的是真正的、合适的企业防火墙大概好的,尽管 Cisco PIX 往往带有默认设置,将数据包限制为 512 字节。

另一方面,如果您谈论的是低端防火墙、SOHO 路由器等,那么您很可能会陷入困境。

有关低端套件问题的完整论文,请参阅RFC 5625以及 ICANN SSAC 报告SAC035. 强制性免责声明 - 我撰写了这些文档。DNS 数据包截断是我的专长...

答案3

简短的回答是“通常不是”。

使用 EDNS,它们甚至没有 512 字节 UDP 限制。

请参阅 wiki 页面以获取一些指示: http://en.wikipedia.org/wiki/EDNS

更有可能的是,人们认为 DNS 只是 UDP,而忽略了 TCP必需的不是可选的。我们经常必须在其他防火墙后面运行公共 DNS 服务器,并让他们明白我们需要的 TCP 不仅对我们开放,而且对世界开放,这很麻烦。

答案4

除了 Alnitak 的精彩总结外,还可以参阅测试 DNS 设置的绝佳工具看看它是否允许大于 512 字节的数据包通过(应该如此)。

以下是法国某个重要 IAP 的 DNS 故障示例:

% dig +短 rs.dns-oarc.net txt
rst.x486.rs.dns-oarc.net。
rst.x454.x486.rs.dns-oarc.net。
rst.x384.x454.x486.rs.dns-oarc.net。
“213.228.63.58 缺少 EDNS,默认为 512”
“213.228.63.58 DNS 回复大小限制至少为 486 字节”

相关内容