引言:筆者單位計劃將甲乙兩套IP網(wǎng)絡(luò)使用BGP MPLS VPN技術(shù)進(jìn)行調(diào)整,使不同網(wǎng)絡(luò)的縱向業(yè)務(wù)能夠使用一條物理線路進(jìn)行邏輯隔離,達(dá)到資源節(jié)約和便于管理的目的。操作中,由于設(shè)置不當(dāng)導(dǎo)致網(wǎng)絡(luò)故障。本文介紹故障的排查過程。
筆者所在單位計劃將甲乙兩套IP網(wǎng)絡(luò)使用BGP MPLS VPN技術(shù)進(jìn)行調(diào)整,使不同網(wǎng)絡(luò)的縱向業(yè)務(wù)能夠使用一條物理線路進(jìn)行邏輯隔離,達(dá)到資源節(jié)約和便于管理的目的。調(diào)整前的甲、乙部分網(wǎng)絡(luò)是相互獨立的(如圖1)。
此次調(diào)整是基于甲網(wǎng)絡(luò)進(jìn)行的,調(diào)整后乙網(wǎng)絡(luò)的設(shè)備和線路取消,調(diào)整時將之前乙網(wǎng)絡(luò)中的192.168.0.1/24和172.31.1.1/24劃入調(diào)整后網(wǎng)絡(luò)的VPN實例 1中(如圖 2),兩段網(wǎng)絡(luò)能夠互通,并與VPN實例1外的網(wǎng)絡(luò)隔離。
圖1 網(wǎng)絡(luò)調(diào)整前的甲網(wǎng)絡(luò)和乙網(wǎng)絡(luò)
圖2 調(diào)整中的網(wǎng)絡(luò)(甲乙網(wǎng)絡(luò)使用一套物理線路)
在PE1路由器上能夠看到位于VPN實例1中 的172.31.1.0/24的BGP路由,但是Ping不通172.31.1.1(172.31.1.0/24的網(wǎng)關(guān))(如圖3)。
按 照BGP MPLS VPN的排錯過程進(jìn)行故障排查。
檢查公網(wǎng)路由學(xué)習(xí)是否正確,能發(fā)現(xiàn)對方的loopback0地址路由,并且能夠Ping通。
檢查公網(wǎng)設(shè)備之間的MPLS LDP鄰居關(guān)系是否正常,發(fā)現(xiàn)PE1和PE2之間能夠建立正常的MPLS LDP鄰居(鄰居狀態(tài)為operational)。
檢查公網(wǎng)隧道是否存在,發(fā)現(xiàn)PE1和PE2之間的公網(wǎng)隧道正常。
檢 查P E 1上 的192.168.0.1/24網(wǎng) 段 已經(jīng)通過ip binding vpninstance 1命令綁定到VPN實 例1中,PE2上172.31.1.0/24的網(wǎng)段也已綁定到VPN實例1中,并且網(wǎng)段的端口都為UP狀態(tài)。
檢查PE之間MP-BGP鄰居是否建立成功,發(fā)現(xiàn)PE1和PE2之間能夠建立正常的MP-BGP鄰居(鄰居狀態(tài)為Established)。
圖3 可看到172.31.1.0/24的BGP路由,但Ping不通
圖4 路由匯聚配置
檢查PE是否學(xué)習(xí)到遠(yuǎn)端用戶的私網(wǎng)BGP路由,發(fā)現(xiàn)PE1能夠發(fā)現(xiàn)PE2上172.31.1.0/24網(wǎng)段的BGP路由,但PE2不能發(fā)現(xiàn)PE1上192.168.0.1/24網(wǎng)段的BGP路由。
鑒于以上故障排查過程,只能再次查看PE1和PE2的配置,發(fā)現(xiàn)由于PE1的loopback0地址為10.0.0.1/32,而路由器下有三個用戶網(wǎng)段,分別為10.0.1.0/24、10.0.2.0/24和10.0.3.0/24,為減少路由條目,使用了路由匯聚命令。將三條路由匯總為一條10.0.0.0/22的路由(如圖4),loopback0的地址也被匯總為該條路由,此時,PE-2公網(wǎng)上只能收到一條10.0.0.0/22的匯總路由。
查閱MPLS的相關(guān)資料,根據(jù)MPLS的相關(guān)概念,一個FEC(轉(zhuǎn)發(fā)等價類)只會為同一個路由分配標(biāo)簽,沿途所有的設(shè)備都必須具有相同的路由(前綴和掩碼必須完全相同)才可以建成一條LSP。
在此次調(diào)整的網(wǎng)絡(luò)中運行MPLS VPN的兩臺PE的loopback地址分別作為對端的next-hop地址存在,MPLS VPN外層隧道的源與目的分別是兩臺PE的loopback接口并以此建立FEC,但是PE2沒有到PE1 loopback010.0.0.1/32的精確路由,所以沒能建立一條LSP。
因此,使用MPLS轉(zhuǎn)發(fā)的所有設(shè)備上,對于要使用標(biāo)簽轉(zhuǎn)發(fā)的路由,都不能做路由聚合的操作。因此這個32位的主機(jī)地址需要精準(zhǔn)指定,避免被錯誤聚合。
將a br-summary 10.0.0.0255.255.252.0這條命令去除后,就能正 常Ping通PE2上 的172.31.1.1了。