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

底线:D​​NS'RFC注意到通过UDP的DNS查询被限制为512字节。 有人知道这是由主要的公司防火墙执行吗?

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

谢谢,

ñ

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

如果你正在谈论的是真正的,适当的企业防火墙,你也许可以,但是思科PIX往往会采用默认设置,将数据包限制在512字节。

另一方面,如果你正在谈论低端防火墙,SOHO路由器等,你很可能会陷入僵局。

有关低端套件的完整论述,请参阅RFC 5625和ICANN SSAC报告SAC035 。 强制免责声明 – 我写了这些文件。 DNS数据包截断是我的一个特长…

简短的回答是“不普遍”。

EDNS他们甚至没有512字节的UDP限制。

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

更有可能的是,人们认为DNS仅仅是UDP,而忽略了TCP是不需要的 。 我们经常需要在其他防火墙之后运行公共DNS服务器,并让他们明白,我们需要的不仅仅是对我们开放的TCP,但世界是一个痛苦。

RFC扩展名为EDNS0 ,它实现了在UDP传输上扩展超过512字节的DNS消息的function。 从历史上看,一些防火墙已经知道阻止使用这个扩展。 例如,一些较老的PIX和ASA固件将默认下降,如此处所示 。

现在大多数防火墙可能不会出现这种行为。 但是,不能保证你不会在野外步行一场。 还有一个机会,任何深度数据包检查您的stream量可能会导致它被阻止为一个exception。

此外,你应该记住(如果你还没有)通过使用UDP,你将不得不build立传输控制到你的应用层,而不是依靠传输(即TCP)来提供它。 请务必遵循womble关于观察现有DNS隧道实现的build议。

除了Alnitak的良好总结之外,另请参阅testingDNS设置的出色工具 ,看它是否允许大于512字节的数据包(因为它应该)。

以下是法国重要IAP上的一个破解DNS的例子:

 %dig + short 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缺lessEDNS,默认为512”
 “213.228.63.58 DNS答复大小限制至less为486字节”

一些较旧的防火墙可以。

这是思科PIX防火墙的一个经典问题。 Google for cisco pix dns edns0 ,你会发现一堆关于此的信息。

例如http://homepages.tesco.net/J.deBoynePollard/FGA/dns-edns0-and-firewalls.html