介绍BGP MPLS VPN的基本排错。

BGP MPLS VPN的配置之后,发现私网相互不能ping通,VPN路由表没有相关的路由信息,就不知道从哪里下手进行实验的排错,其实BGP MPLS VPN的排除也可以从配置的顺序上入手。
1.检查公网MP-BGP的邻居关系是否形成
[RT1]display bgp peer vpnv4
BGP local router ID: 1.1.1.1
Local AS number: 100
Total number of peers: 1 Peers in established state: 1
* - Dynamically created peer
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
3.3.3.3 100 18 18 0 2 00:10:43 Established
跟对方RT3的MP-BGP邻居关系是否正常建立。如果没有正常建立,除了检查MP-BGP的配置是否正确,如:router id配置是否正确、BGP中是否指定peer XXXX connect-interface loopback接口,以及是否在address-family vpnv4中使能了对方之外,可以在RT1上用1.1.1.1这个loopback接口地址ping 3.3.3.3看是否能够ping通。如果不能ping通,检查公网OSPF的配置是否正确
2.检查公网OSPF的配置是否正确
因为RT1是通过loopback接口和RT3形成MP-BGP对等体关系的,两个loopback接口没有直连,根据BGP建立对等体关系需要TCP可达这条要求,需要检查公网OSPF,是否让RT1和RT3通过OSPF协议学习到对方的loopback接口地址的路由,所以需要检查OSPF邻居,再检查路由
[RT1]display ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbor Brief Information
Area: 0.0.0.0
Router ID Address Pri Dead-Time State Interface
2.2.2.2 20.1.1.2 1 30 Full/DR GE0/0
OSPF的检查手段也比较多,H3C TE的课程重点考量之一就是OSPF,如OSPF的router id,接口hello time是否一致,ospf接口类型是否一致等。
3.检查RT1、RT2和RT3的mpls ldp邻居关系是否正常建立,是否能够分配公网标签。
[RT1]display mpls ldp peer
Total number of peers: 1
Peer LDP ID State Role GR MD5 KA Sent/Rcvd
2.2.2.2:0 Operational Passive Off Off 85/84
一般mpls ldp功能配置成功,检查mpls ldp的邻居关系状态是否为operational状态。Mpls ldp因为建立建立邻居关系也是基于TCP的,所以与BGP类似也需要关注邻居地址是否可达。这里重点强调一点,RT1的mpls lsr-id如果与RT2相同,都是2.2.2.2,此时修改了新的lsr-id之后一定要把mpls的会话重新reset一下,否则mpls的邻居关系不能正常建立。
4.检查VPN实例是否配置正确,特别是RT值是否本方设备import的RT值要与对方设备export的RT值一致,同理对方设备也是类似,这里需要注意的是,在把私网接口加入到VPN实例之后,私网接口的IP地址需要重新配置,经常有同学把PE设备私网接口绑定到VPN实例,就忘记重新在接口配置地址了。
5.检查PE和CE设备上私网动态路由或者静态路由是否配置正确,一定需要关注,PE设备配置私网路由时,要配置基于实例的路由,让PE私网接口学习到的路由加入到VPN实例的路由表中。
6.检查路由引入是否正确,在BGP的VPN实例中引入私网路由,私网如果配置了动态路由协议,在动态路由协议中引入BGP路由。最后PE设备直连的私网网段如果想让对方私网学习到,可以在BGP的VPN实例中引入直连路由。
最后附上公网标签、私网标签、以及路由查看的相关命令。
[RT1]display mpls ldp lsp//查看公网标签
[RT1]display bgp routing-table vpnv4 inlabel//查看私网路由标签
[RT1]display bgp routing-table ipv4 vpn-instance vpn1//查看实例的bgp路由
[RT1]display ip routing-table vpn-instance vpn1//查看ip路由表中的vpn实例的路由信息



