近日有同事反映,新部署的一臺OLT無法上網。我們進一步了解到該OLT是剛剛部署的,目前該OLT還沒有覆蓋互聯網用戶,開通互聯網用戶前在進行上網測試時,同事發現上網撥號不能成功,錯誤代碼是678。
為了盡快解決故障,我們首先了解一下網絡拓撲結構。拓撲結構十分簡單,就是OLT直連BRAS,然后在OLT下使用PON口3/16連接ONU進行上網測試。既然PPPoE撥號的錯誤代碼是678,我們首先對BRAS的端口配置進行檢查。經過對BRAS端口配置的檢查后并沒有發現異常,值得注意的是雖然該OLT下的ONU上不去網,但是OLT和BRAS的通訊即網管VLAN78是正常的。
索性登錄到OLT查看PON口和上聯口的配置,均沒有發現異常,通過查看設備的全局MAC地址表項,發現測試電腦的MAC地址3c97.0ec4.683e可以在PON口上學習到,但是連接BRAS的上聯口19/1,學習不到VLAN2015的MAC地址,相反的發現上聯口19/1可以學習到一個VLAN1的MAC地址,也就是說,沒有從OLT學習到來自BRAS上關于VLAN2015的MAC地址。
接下來登錄到BRAS上進行故障的排除,即使用Debug命令查看故障OLT撥號信息,具體的操作步驟是,在OLT上使用ONU撥號,在BRAS上通過對賬號test@qf以及電腦的MAC地址進行查看,結果沒有在BRAS上看到任何撥號的信息。這也就說明賬號的撥號信息并沒有到達BRAS,進一步說就是需要排查二層網絡問題,即OLT的配置。為了盡快排除故障,我們決定使用交換機連接BRAS,然后在交換機上直接撥號測試,那么需要在BRAS上配置一個單層VLAN,我們這里設置的VLAN號是888,BRAS上的配置即:


配置完BRAS和交換機相應的端口后,結果是可以正常撥號上網,按照相同的辦法在OLT上也配置VLAN888,依然可以正常撥號上網。回過頭來綜合考慮一下,剛才可以正常管理到OLT設備,OLT設備的管理VLAN是78,測試撥號的VLAN888也是單層的VLAN。問題分析到這里我們大膽做了一個假設,會不會是OLT上可以將單層的VLAN轉發,而雙層VLAN不能正常處理呢?
按照上述思路仔細查看了一下PON口的配置,發現該PON口配置的是靈活QINQ。大家知道,QINQ有基本和靈活的兩種,嘗試將該PON口的目前靈活QINQ的配置更改為基本的QINQ試下,PON口的基本QINQ配置命令即:


將PON口的配置更改完畢后,在ONU上可以正常撥號上網,這樣故障就算解決了。
從得知故障,先查看了設備的MAC地址表,隨后在BRAS上Debug查看用戶撥號信息后確定是二層網絡故障。為了盡快定位,我們配置單層VLAN進行測試,最后通過單層VLAN和雙層VLAN的對比進行了大膽假設,修改了PON口的QINQ規則后故障恢復正常。
后期將此問題反饋給廠家技術支持人員,在對設備的軟件版本進行升級后杜絕了此類問題的再次發生,原因是該OLT的現有軟件版本不能很好地兼容靈活QINQ,從而出現了文章開頭的那一幕。