由于UDP是无连接协议,因此我对Sonicwall防火墙上的“ UDP连接超时”设置感到困惑。默认设置为30秒-但是30秒后究竟会超时吗? ntp.org池中的NTP服务器,每分钟可处理约3000个查询。这给我的SOHO等级TZ-200带来了压力-带宽方面;但就连接数而言,它已经通过了。我想知道SonicWall上的UDP连接是否以某种方式“保持活动”;即使它们(根据定义)是无连接的。

我在这里错过了什么? SonicWall谈论“ UDP连接超时”是什么意思?

评论

防火墙通常允许数据包用于由防火墙内部的计算机建立的连接。但是UDP没有连接。因此,选择是允许所有UDP数据包,阻止所有UDP数据包,或尝试猜测“ UDP连接”是什么,因此只能允许那些“连接”中的数据包。所有(?)防火墙供应商都采用最后一种方法。

正如immibis所描述的。由于网络地址转换或NAT,Internet /子网网关路由器将仅允许TCP(实际上所有流量均为TCP),而子网中的客户端将在该TCP / IP中发起连接。因为如果传入连接,则无法为NAT分配端口。路由器如何知道将其发送给谁? UDP甚至没有连接,所以处理UDP请求的路由器如何进入?一种方法是跟踪出站UDP数据包。

如果要托管服务器,则应该为希望接收其连接的端口进行转发,尽管可以进行任何准备。

#1 楼

尽管与UDP没有正式的“连接”,但仍然存在一个约定,即客户端发送请求并希望通过源IP和端口与Destinatoin IP和端口交换来返回响应。因此,NAT假设具有源IP /源端口/目标IP /目标端口的给定组合以及具有源和目标交换的对应组合的数据包构成“连接”的一部分。这允许将诸如“仅传出连接”之类的规则应用于UDP,并允许将反向转换应用于响应包。服务器。因此,它必须等待超时,然后才能从状态跟踪表中删除该条目。这就是您要设置的超时。 NAT适用于所有内容,听起来这就是您的供应商正在做的事情。

不幸的是,您发现这对服务于大量小请求的无状态UDP服务器很糟糕。您最终会遇到防火墙消耗的资源比服务器本身多得多的情况。

评论


感谢彼得的精彩回答!就我而言,SonicWall允许我减少特定防火墙规则上的UDP“连接超时”,因此我将NTP策略的规则减少到5秒(从默认值30秒)。

–琼·沃兹沃思(Jon Wadsworth)
16 Dec 30 '18:01

注意:完成此操作后,我看到了Sonicwall报告的“总连接数”从〜1500降至〜400。完善!再次感谢您的出色回答。

–琼·沃兹沃思(Jon Wadsworth)
16 Dec 30 '18:02

请注意,大多数流协议使用UDP,其中包括VOIP的媒体部分(使用SIP协商后)。如果没有流量(例如,呼叫保持,双方静音等),那么超时时间短会引起问题,因为如果端口掉线,并非所有的VOIP电话(硬或软)都可以很好地重新协商媒体连接。其他人则通过定期发送微小信号来“保持活动”,这可能相距5秒。

– Chuck van der Linden
17年5月6日,0:23

#2 楼

您的防火墙正在维护UDP连接的连接表。例如,当您发送DNS查询时,防火墙会为该流创建一个条目,以便允许DNS回复返回您的网络。无活动30秒后,表中的条目将超时。

评论


谢谢罗恩。关于入站连接,您可以在该连接表上发表评论吗?由于我的NTP服务器位于内部,因此实际上不需要为那些入站连接“敞开大门”,因为内部的Server始终可以返回到源(我有全开的出站规则)。感谢你及时的答复!

–琼·沃兹沃思(Jon Wadsworth)
16-12-29在23:45



无论连接的方向如何,都建立了连接表,实际上该连接表立即用于从服务器通过防火墙返回到查询器的响应包。防火墙正在维护一个元组(src ip,src端口,dst ip,dst端口),以将初始查询与响应相关联。由于实际上没有信号量可向防火墙指示特定的UDP会话已完成且套接字已关闭,因此最终使用了超时值。

–rnxrx
16 Dec 30'3:34在

#3 楼

NTP服务器位于NAT(防火墙)的后面。从应用程序和操作系统的角度来看,UDP是无连接的,并且对于整个过程中的大多数网络设备来说都是如此。另一端最终将被重定向到网络内部的同一台计算机。这些被防火墙称为“连接”。

现在,从理论上讲,NAT知道外部端口将是NTP众所周知的端口,但是您的防火墙似乎不支持该端口。如果这是通过此防火墙的UDP唯一用途,则可以将“连接超时”设置为较小的数字。或者,如果允许您按应用程序端口进行设置,则可以为该特定端口将其设置为更短的时间(例如1秒)。

评论


超时不是特定于NAT的。任何有状态防火墙都会有一个。

–user1686
16 Dec 30'7:26

防火墙不执行NAT,而是尝试过滤通过NAT过渡的数据包,从而与路由器和NAT相互关联。

–元帅
17年1月4日在16:31

到Internet的网关路由器必须使用NAT,因为任何计算机都位于子网中,只有网关路由器具有实际的Internet IP地址。如果每台计算机都是互联网上的东西,那将是极大的浪费。网关路由器有时会有一大堆计算机,这些计算机都与一个Internet IP地址相关联。它使用一个怪癖的Web套接字,能够在来自Web的传入数据包和其网络上的计算机之间一对一转换。人们似乎不明白这一点。

–元帅
17年1月4日在16:37

#4 楼

IPv6不需要NAT,但它仍然看起来像防火墙对于UDP而言是有状态的。