我有两个网络通过透明防火墙相互通信。我的问题是使用这些网络的软件报告它正在丢失包。丢失包裹的数量各不相同,但可能在 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% 的巨大数据包丢失。
防火墙不可能那么糟糕,还是我错过了什么?