
TLDR:FortiGate-50E防火墙LAN口交换芯片故障导致网络丢包,将LAN口割接至WAN2口缓解
最近发现自己家和爸妈家之间的隧道质量很差,有大量的丢包,还以为是运营商Qos,便没有去管。直到某天发现家里所有终端加载响应速度都不正常,才意识到可能是更严重的问题。
不是什么复杂的故障,希望排查的过程可以提供一些借鉴思路。
排查过程
定位问题
由外而内检查网络设备,具体网络拓补见家庭网络系列。
首先检查了FortiGate的WAN出口,网络正常。接着是LAN口连接的CRS326交换机,已经开始出现5%左右丢包,怪不得终端体感上网络这么慢,大量的包重传可不延迟高么。Wireguard+udp2raw的隧道,进一步放大了丢包的影响,劣化了链路质量。
交换机不管是到防火墙vlanif地址还是到公网,都有5%丢包,因而可以确定问题不在运营商,而是交换机到网关的这段利路上。
交叉验证
首先更换网线排除了网线质量问题,想必泛达成品跳线质量没有这么不堪。
接着更换了交换机上联端口,停用了一些无用的端口和策略,无效。
这时候已经排除了这台“杂牌”交换机不稳定的可能了。下一步用PC直连FortiGate,发现仍旧5%丢包,确定了问题在防火墙上。
更换防火墙其他LAN接口发现都存在故障,并且防火墙负载、接口协商速度、接口CRC错误率一切正常,问题的原因就指向了防火墙硬件本身。
故障缓解
正当感到绝望考虑更换防火墙时,chatgpt准确地给出了一条参考意见,今年8月就有智利一家IT服务商发生过类似硬件故障现象,同样也是FG-50E,对方的解决方案是把WAN2口定义成LAN口使用。
FortiGate-50E的5个LAN口由一颗Marvell 88E6176交换芯片提供,而WAN1/WAN2各自由独立的Marvell 88E1512 PHY连接。这次大概率是负责LAN的交换芯片本身或者和交换芯片的上联链路故障导致了下接的5个LAN口异常丢包,这也印证了为何之前测试WAN口访问互联网正常的现象。
最终,将LAN口下挂的vlanif割接到WAN2口后,问题解除。在当前不需要双WAN,也只有单链路下接交换机场景下,这似乎是一个还不错的缓解方案。
顺便一提,Web后台中无法直接修改vlanif的所属接口,不过可以备份当前配置后直接修改配置文件后导入备份来实现快速切换。
edit "gw254"
set vdom "root"
set ip 10.1.254.254 255.255.255.0
set allowaccess ping https http
set device-identification enable
set role lan
set snmp-index 8
set interface "wan2"
set vlanid 254
next
后记
没想到这台出厂只有9年的飞塔竟然会坏得这么快,看来企业级设备也没有想象中那么坚如磐石。加之正好其他用户也在近期遇到了相同的硬件故障,难免会产生是不是厂商计划性报废或者芯片方案选型不当的恶意揣测。但有一说一,飞塔还是非常优秀的产品,特别是最近发生的另一起plex cve被他人利用,当枪使发起DDoS攻击的事件中,使用FortiView快速定位受感染主机的经历。
后来去小黄鱼搜索了下一代产品FortiGate-40F,只要300出头,买来玩玩FortiOS v7也是挺不错的。