防火墙似乎损坏/延迟包

网络工程 防火墙 UDP icmp
2022-02-27 04:48:18

我有两个网络通过透明防火墙相互通信。我的问题是使用这些网络的软件报告它正在丢失包。丢失包裹的数量各不相同,但可能在 0.1% 左右。这甚至适用于防火墙上双向的“任何/任何”规则。我在防火墙的一侧使用 Wireshark 进行了一些捕获,我看到连接防火墙时生成了一些 ICMP 数据包。如果我用跳线替换防火墙,ICMP 数据包的数量会显着减少。

在捕获 1.5M 数据包时,无论有无防火墙:

  • 使用防火墙:大约 100 个 ICMP 数据包Time-to-live exceeded (Fragment reassembly time exceeded),以及 40 到 50 个Destination unreachable (Port unreachable)数据包。

  • 没有防火墙:大约 40 个Time-to-live exceeded (Fragment reassembly time exceeded)数据包,并且没有Destination unreachable数据包。

对我来说,似乎某些数据包被防火墙延迟/损坏,因此 ICMP 消息,但我无法想象这是怎么回事。关于为什么会发生这种情况或如何最好地继续故障排除的任何想法?我很感谢您的任何意见!

防火墙是 Phoenix Contact mGuard GT/GT,所有交换机都是 Cisco 3650。

编辑:关于网络吞吐量,我正在捕获流量的交换机上的镜像接口仅显示大约 0.25% 的利用率,即 2.5 Mbit。这应该在防火墙的限制范围内。

EDIT2:我通过防火墙做了一些带宽测试,结果很糟糕。我在连接到防火墙两侧交换机的两台机器上使用 iperf3,当在它们之间强制使用 UDP 流量(大部分常规流量是 UDP)时,我可以在它开始之前发送大约 30Mbit/sec 的数据丢包。在 50Mbit/s 时,大约 16% 的数据包丢失,在 200Mbit/s 时,有超过 80% 的巨大数据包丢失。

防火墙不可能那么糟糕,还是我错过了什么?

1个回答

您的 ICMPTime-to-live exceeded (Fragment reassembly time exceeded)消息是由端点生成的,而不是防火墙。问题可能是防火墙无法处理您发送的数据速率。如果您有千兆连接,则会丢失大量流量,这会导致重新发送 TCP 段,其中许多段可能会再次被丢弃,并且 TCP 重组超时。

路由器 - FL MGUARD GT/GT - 2700197(重点是我的):

具有智能防火墙的路由器,高达 200 Mbps 的数据吞吐量,千兆连接,SFP 插槽状态检测防火墙,可实现最大的安全性和非常简单的配置,可互换的配置内存

换句话说,您的防火墙没有处理您尝试传输数据的速度的吞吐量。