筆者所在單位有一個大型數據中心,數據中心部署有一套內網VMware云桌面系統。該云桌面系統采用Trunk隧道上聯,Trunk隧道引入VLAN 100和VLAN 130兩個網段,VLAN 100作為VMware物理主機的管理網段;VLAN 130作為云桌面虛擬機地址網段。網絡拓撲結構如圖1所示。
在總核心與數據中心核心交換機上啟用OSPF路由協議,全局只使用單區域0。總核心交換機上聯其他單位的遠端OSPF鄰居,并通過Trunk下聯各個樓層的辦公接入交換機。數據中心核心交換機通過互聯網段上聯總核心,并通過Trunk下聯數據中心服務器接入交換機。屬于典型的區域數據中心+辦公網架構。其中,云桌面系統就部署在數據中心機房內。這套系統運行還算穩定,然而,一個隱藏多年的網關沖突故障突然來襲。

圖1 網絡拓撲結構
某天下班前,發現云桌面用戶無法打開數據中心提供的眾多服務。測試表明,數據中心服務正常,影響范圍僅限于云桌面用戶。從云桌面用戶或者云桌面接入交換機上,只能Ping通自己所屬的網關,Ping不通數據中心眾多網關和應用地址。
在排除云桌面系統本身的問題后,將排查重點轉向網絡故障。
從數據中心核心交換機上只能Ping通VLAN 100和VLAN 130網關,無法Ping通云桌面服務器。從云桌面上聯的總核心交換機上能Ping通VLAN 100和VLAN 130網關和云桌面服務器。這樣看,問題應該出在數據中心核心交換機與總核心交換機之間。
查看交換機路由表,發現總核心與數據中心核心交換機都顯示VLAN 100和VLAN 130網段是直連路由。再對比檢查配置,發現總核心與數據中心核心交換機竟然都配了一模一樣的VLAN 100和VLAN 130網關。手工關閉數據中心交換機上的兩個重復網關,故障消失。
事后了解到,幾年前,曾經做過把云桌面系統上聯線路改到數據中心核心交換機的嘗試,畢竟云桌面系統部署在數據中心機房內。但那次嘗試因為個別云桌面用戶無法登錄而放棄,可數據中心交換機上配置的網關和接口都忘了清除。
為什么重復網關配置了多年,故障現在才出現呢?這與華三交換機的網關特性有關。查閱相關手冊,關于VLAN虛接口有這樣一段描述:“缺省情況下,當VLAN虛接口下所有以太網端口狀態為Down時,VLAN虛接口為Down狀態;只要VLAN虛接口下有一個以太網端口狀態為Up,VLAN虛接口就為Up狀態”。
也就是說,雖然之前在數據中心核心交換機上啟用了兩個重復的網關,因為VLAN內沒有Up的二層接口,網關也沒有Up起來,自然不會引起路由問題。網絡科同事說,他們下班前接了一條災備專線光纖到數據中心核心交換機上,這條專線端口采用port trunk permit vlan all命令引用了數據中心交換機上的所有網段,使得塵封已久的VLAN 100和VLAN 130網關被激活,才導致了本次故障。