這是一例發生在運行MPLS VPN的網絡上由ios軟件Bug引起的故障案例,我把他整理出來供大家參考和討論,故障的發生和解決都帶有偶然性,并不重要, 只希望通過討論,能夠提高我們分析問題,解決問題的能力.
一、故障緣由
某城市A城域網骨干兩臺7206(R1和R2)上聯核心網,下聯城域,互為備份,運行MPLS,圖就不畫了,呵呵。某日升級城域,對城域網進行調整和擴容。(下文中的城市B的城域結構有所不同,規模也大些,但在此例中也可按此結構理解,故不做具體說明)
升級過程:
1、 升級7206ios
2、 業務割接
3、 冗余測試、HSRP測試和全網測試、業務測試,做最后一次用戶連通性測試,OK,走人!
4、 觀察階段。
第二天,某用戶報MPLS VPN網絡不通。(注:割接過程不對用戶配置進行修改!)
二、故障現象
用戶報割接城市A到另外城市B的MPLS VPN業務中斷。
城市A的某用戶業務是通過CE設備以MPLS VPN的形式接入到城市A的PE路由器上(就是剛剛將的升級過的骨干路由器Cisco VXR 7206)的,同樣,城市B的某用戶業務是通過CE設備以MPLS VPN的形式接入到省骨干網相應的PE路由器。
故障現象是城市A的某用戶可以PING通城市A本地的PE路由器,城市A某用戶本地網絡連接無任何問題,但不能PING通遠端城市B的PE路由器的某用戶業務子接口。
同樣城市B的某用戶可以PING通城市B本地的PE路由器,城市B某用戶本地網絡連接無任何問題,但不能PING通遠端城市A的PE路由器。
最希奇的是: 城市A某用戶業務所連接的PE路由器上,同時存在其他五個VPN的用戶,這五個VPN用戶網絡業務運行完全正常。 且其網絡業務的設置與某用戶業務的設置是同一類型的。所有的VPN業務之間的命令比較,不多一句,不少一句。
某用戶VPN業務,城市A和城市B之間的VPN及ipV4的路由完全正常!
三、排錯過程
(1)故障的隔離
第一時間在城市A某用戶VPN所在的省骨干PE路由器上 Cisco 7206VXR上開設邏輯端口Loopback1, 并將Loopback1 劃入某用戶VPN, 此時城市B某用戶VPN可以收到此Loopback 地址的路由,但仍然無法PING通該Loopback地址。因此可證實某用戶VPN的中斷不是新增的城域網設備引起的,問題產生在省骨干路由器之間的MPLS交互進程上。此時我們把所有的工作重點放在省骨干網之間的排錯上。
(2)命令處理流程
主要的處理工作如下:
1. 在城市A的骨干路由器r2上使用命令show ip vrf 檢查mpls vpn的配置和RD的名字。發現都是正確的。使用命令show ip vrf detail vpn9:XXX.VPN和show ip vrf interface檢查某用戶vpn的路由屬性,和它的接口狀態和ip地址。發現都是正確的。使用命令show ip bgp neighbors/show ip bgp vpnv4 all /show ip bgp vpnv4 vrf vpn9:XXX.VPN檢查城市A和城市B兩PE間的BGP關系。發現都是正確的。
2.在城市A的骨干路由器r2上使用命令show ip route vrf vpn9:XXX.VPN。可以看到vpn的路由是正確的,分別是一條直連的路由(城市A本地某用戶)和一條bgp的路由(城市B某用戶)。使用命令ping vrf vpn9:XXX.VPN 210.5.2.130 。測試城市A本地PE到城市A本地CE的聯通性。測試結果是通的。使用命令ping vrf vpn9:XXX.VPN X.X.X.X。測試城市A本地PE到城市BPE的聯通性。測試結果是ping不通。
3.然后telnet到城市B的PE路由器上,使用命令show ip route vrf vpn9:XXX.VPN。可以看到vpn的路由是正確的,分別是一條直連的路由(城市B本地某用戶)和一條bgp的路由(城市A某用戶)。使用命令ping vrf vpn9:XXX.VPN 210.5.0.222 。測試城市B本地PE到城市B本地CE的聯通性。測試結果是通的。使用命令ping vrf vpn9:XXX.VPN 210.5.2.129.。測試城市BPE到城市A PE的聯通性。測試結果是ping不通。
因為這個vpn兩端的路由都是正確的,而且在割接過程中沒有做任何的改動。割接后的測試也是正常的。討論后得出初步結論,認為問題不是割接造成的。有可能是其他的原因引起。分析問題的方向應該和割接無關,重點在mpls vpn的方向。
4.在城市A的骨干路由器r2上使用命令clear ip route vrf vpn9:XXX.VPN *,使用命令show ip route vrf vpn9:XXX.VPN可以看到vpn的路由已經有變化,bgp路由(城市B某用戶)已經消失。稍后使用命令show ip route vrf vpn9:XXX.VPN可以看到vpn的路由已經有變化,除了直連的路由(城市A本地某用戶),一條bgp的路由(城市B某用戶)重新出現。在城市B的PE路由器上,使用命令show ip route vrf vpn9:XXX.VPN。可以看到vpn的路由是正確的,分別是一條直連的路由(城市B本地某用戶)和一條bgp路由(城市A某用戶)。在城市A的骨干路由器r2上使用命令ping vrf vpn9:XXX.VPN X.X.X.X。測試城市BPE到城市APE的聯通性。測試結果是ping不通。
5.在城市B的PE路由器上使用命令clear ip route vrf vpn9:XXX.VPN *,使用命令show ip route vrf vpn9:XXX.VPN可以看到vpn的路由已經有變化,bgp路由(城市A某用戶)已經消失。稍后使用命令show ip route vrf vpn9:XXX.VPN可以看到vpn的路由已經有變化,除了直連的路由(城市B本地某用戶),一條bgp的路由(城市A某用戶)重新出現。在城市A的骨干路由器r2上,使用命令show ip route vrf vpn9:XXX.VPN。可以看到vpn的路由是正確的,分別是一條直連的路由(城市B本地某用戶)和一條bgp路由(城市A某用戶)。在城市A的骨干路由器r2上使用命令ping vrf vpn9:XXX.VPN X.X.X.X。測試城市BPE到城市A PE的聯通性。測試結果是ping不通。
新聞熱點
疑難解答