FortiGate 101F共用RJ45/SFP端口17-20在FortiOS升级后全部熄灭
我们给一个40人的办公室用一对FortiGate 101F,配置没什么特别的。port17是接到核心交换机的SFP上联,port19是接到机房的RJ45,两个都在共用RJ45/SFP的那组端口(17-20)里。上个月的维护窗口里,我们把这对设备升级到了FortiOS 7.4.4,从那以后这组端口就死了。
- FortiGate 101F,另一个站点的FortiGate 100F表现一样
- port17:接到堆叠接入交换机的1G SFP模块
- port19:RJ45接到一台1G交换机端口
- FortiOS 7.4.4,从7.2某个版本升级过来
1-16端口都正常,只有共用的那几个端口挂了。让我留意到的是,GUI里速率选项看起来和升级前不一样了,而且运行配置里现在有这个:
config system interface
edit "port17"
set speed 1000full
next
end
这里没人手动打过这一行。升级之前这台设备上所有端口都是auto。
已经试过:
- 重插SFP并换成一个确认好用的模块,没有变化
- 把对端换到交换机的另一个端口
- 冷重启防火墙,配置还是像上面那样
100F/101F上共用的RJ45/SFP端口组在升级过程中丢失auto设置是预期行为吗,还是我们的配置在哪里被搞乱了?正确的恢复方法是什么?
Comments 5
你的配置不是被办公室里的人搞乱的,是升级干的。在100F和101F上,升级会悄悄把共用的RJ45/SFP端口从auto改成固定的1000full,完全不管对端能不能接受这个速率。根据对端情况不同,你就会得到一个以错误速率协商的端口,或者一个干脆连不上的端口——这正是为什么17-20全灭,而独立端口没受影响。Fortinet把这个记在known issue 989629里,写在7.2.9的发行说明中;受影响的版本线是v7.2.8及以后、v7.4.2及以后,以及v7.6.0及以后。
逐个端口手动把速率改回去:
在v7.2.8以及v7.4.2到v7.4.4上,列表里根本没有提供普通的auto选项,这正是你看到GUI不一样的原因,所以这几个版本上要用1000auto。在v7.2.9、v7.4.5、v7.6.0及以后,正常的选项又回来了,你要用:
如果port18到port20也在用,同样处理一遍。下一次维护窗口要注意:先确认你的管理路径没有走17-20这几个端口,不然设备重启回来之后,你的管理接口被强制成1000full,你就得跑一趟现场从console上去修了。
你具体是从哪个版本升上来的?"7.2某个版本"范围很宽,不同版本线要输入的修复命令是不一样的。另外值得弄清楚的是对端到底支不支持自动协商,还是自己本身就是固定速率:一个只会自动协商的对端,面对一个被固定速率的端口,是不会有任何反应的。
在你改任何东西之前先确认一件事:你的管理路径有没有走17-20这几个端口?如果有,下一次改动要从console上做,而不是通过网络。
补充一个通用的点,给以后遇到共用端口异常的人:大多数设备上这一对确实是互斥的。NETGEAR在GS716T-200上管这叫dual personality,两个SFP模块笼各自和最后几个铜口里的一个配对,同一对里同时只能有一半是活的,所以插上一个模块会悄悄把对应的RJ-45禁用掉。这个型号所有端口本来就是千兆,所以光口上联买到的是布线路由的灵活性,不是带宽。
FortiGate这组端口也是类似的思路,所以先确认清楚你看的到底是port17的哪一半。同一个端口的模块笼里插着模块,铜口那一半又接着跳线,这是个典型的自摆乌龙,从CLI看起来很像速率问题。
不同厂商,同样的痛。EX4200配EX-UM-2X4SFP上联模块:xe-0/1/0跑10G毫无问题,xe-0/1/1连加进VLAN都做不到,也不通任何流量。两个端口都能跑1G,SFP+在show chassis hardware里也完全可见,我换了模块,试了一块备用的EX-UM-2X4SFP,还做了出厂重置,后来才有人告诉我这个模块到底是什么。
什么都没坏。那个模块只有两个模块笼能插SFP+,硬件编号是0和2那两个;另外那一对只能插1G光模块,插不了更快的。所以最终能跑10G的接口是xe-0/1/0和xe-0/1/2,而我一直在折腾的xe-0/1/1,不管插什么都不可能跑到10G。把光模块挪到隔壁那个笼子,配置xe-0/1/2,搞定。遇到混合模式的模块笼,先搞清楚这一组支持什么,再考虑退换货。
共用端口互斥这个角度要小心,它解释不了这个案例。升级之前端口是好的,升级之后只有共用那组坏了,而且配置里多出一行没人打过的速率设置。这是被改写了,不是模块笼优先级的问题。
不过反过来的错误也坑过人。我曾经在D-Link DES-1210-52交换机上花了一周时间,这些交换机通过光纤上联到一台OSNOVO NS-SW-8GX2G:光口有链路指示,但没有局域网,也完全上不了网,而同样这些交换机用铜线级联时工作正常,固件升级也没改变任何东西。共用端口在好几天里都是头号嫌疑对象。真正的故障在对端:OSNOVO上承载那些SFP模块的端口内部已经烧坏了,插在里面的光模块本身完全健康。
所以在确认本地配置没问题之后,先把一个确认好用的模块插到对端一个确认好用的端口上,再对自己这台设备下结论。