底线:DNS 的 RFC 指出,UDP 上的 DNS 查询限制为 512 字节。有人知道这是否由主要公司防火墙强制执行吗?
长话短说:我的公司开发了一款可以在数据中心之间进行通信的产品。由于该产品的典型用户(性能工程师)无法访问防火墙的设置,因此我们希望开发一种成功率较高的绕过防火墙的方法。我们考虑通过 DNS TXT 查询隧道传输应用程序数据,因为看起来(在 WAN 内)防火墙倾向于让 DNS 查询通过。但是,我们对常见的防火墙行为不太了解,希望得到一些帮助。具体来说,我们想知道大品牌防火墙是否会阻止长度超过 512 字节的 UDP DNS 查询。
谢谢,
n
答案1
不,据我所知,防火墙不会习惯性地丢弃这样的大型 DNS 查询。您需要查看的问题是现有的 IP over DNS 实现,例如 dns2tcp、nstx 或 iodine。他们会向您展示如何做到这一点。
答案2
答案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 字节”