03-MPLS L3VPN故障处理手册
本章节下载: 03-MPLS L3VPN故障处理手册 (390.67 KB)
经过MPLS L3VPN网络转发的私网流量中断。
本类故障的常见原因主要包括:
· 私网路由下一跳不可达。
· 路由策略配置不当导致路由无法发布和接收。
· 标签超限导致私网路由无法发布。
· 私网路由迭代不到隧道。
· Export RT和Import RT不匹配导致路由无法学习到私网路由表中。
· 路由超限导致收到的路由被丢弃。
本类故障的诊断流程如图1-1所示。
图1-1 L3VPN流量中断故障诊断流程图
(1) 检查路由是否为最优路由。
执行命令display bgp routing-table vpnv4或display bgp routing-table vpnv6命令,查看BGP VPNv4/VPNv6路由表中到达VPNv4/VPNv6邻居的BGP路由是否最优。
以路由100.1.2.0/24为例,路由信息中存在标记“>”,则表示该路由为最优路由。
<Sysname> display bgp routing-table vpnv4
BGP local router ID is 1.1.1.9
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e - external
a – additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Total number of VPN routes: 8
Total number of routes from all PEs: 8
Route distinguisher: 100:1(vpn1)
Total number of routes: 6
Network NextHop MED LocPrf PrefVal Path/Ogn
* > 1.1.1.0/24 1.1.1.1 0 32768 ?
* 1.1.1.2/32 1.1.1.1 0 32768 ?
* > 100.1.2.0/24 100.1.1.1 0 100 0 400i
根据以上显示信息进行判断:
¡ 如果不是最优路由,则执行display mpls lsp命令,查看是否存在指定路由的MPLS转发表项。如果不存在,则请在连接远端PE的公网接口下执行mpls enable和mpls ldp enable命令,开启MPLS功能和LDP功能,保证VPNv4路由可以迭代到公网LSP;如果存在,则执行步骤(2)。
¡ 如果是最优路由,则执行步骤(2)。
(2) 检查私网路由下一跳是否可达。
在路由的发送端(本端PE)执行display bgp routing-table vpnv4 ipv4-address [ mask | mask-length ]命令查看私网路由信息(ipv4-address表示私网路由前缀),确认路由是否存在。
¡ 如果路由不存在,请确认CE路由是否发布到PE。在远端PE上执行display bgp routing-table vpnv4 peer advertised-routes或display bgp routing-table vpnv6 peer advertised-routes命令,查看远端PE是否将私网路由信息发布给本端PE,例如:
<Sysname> display bgp routing-table vpnv4 peer 22.22.22.22 advertised-routes
Total number of routes: 6
BGP local router ID is 11.11.11.11
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e - external
a - additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Route distinguisher: 1:1
Total number of routes: 3
Network NextHop MED LocPrf Path/Ogn
* >e 1.1.1.1/32 10.1.1.2 0 100 20i
* >e 7.7.7.7/32 10.1.1.2 0 100 20?
* >e 10.1.1.0/24 10.1.1.2 0 100 20?
如果不存在以上显示信息,则执行步骤(3)。
¡ 如果路由存在,请确认私网路由下一跳是否可达,且私网路由是否活跃。
查看State字段,如果取值包括valid,则表示该路由是活跃的。查看Original nexthop字段,如果存在下一跳信息,则表示私网路由下一跳可达。
- 如果私网路由不活跃,则执行display ip routing-table vpn-instance vpn-instance-name ip-address命令查看IP路由表中是否存在到BGP下一跳(Original nexthop)的路由。如果不存在,则说明私网路由下一跳不可达,请检查PE之间的公网路由配置;如果存在,则说明BGP路由下一跳可达,请执行步骤(3)。
- 如果私网路由活跃,则执行步骤(3)。
<sysname> display bgp routing-table vpnv4 6.0.0.9 32
BGP local router ID: 4.0.0.9
Local AS number: 200
Route distinguisher: 103:1
Total number of routes: 1
Paths: 1 available, 1 best
BGP routing table information of 6.0.0.9/32:
From : 3.0.0.9 (3.0.0.9)
Rely nexthop : 20.0.2.1
Original nexthop: 3.0.0.9
OutLabel : 24128
Ext-Community : <RT: 100:1>
RxPathID : 0x0
TxPathID : 0x0
AS-path : 300 103
Origin : igp
Attribute value : pref-val 0
State : valid, external, best
IP precedence : N/A
QoS local ID : N/A
Traffic index : N/A
Tunnel policy : tp1
Rely tunnel IDs : 2
(3) 检查路由策略是否正确。
在路由的发送端和接收端执行display current-configuration configuration bgp命令查看BGP配置,确认是否配置邻居的出方向和入方向策略。
<sysname> display current-configuration configuration bgp
#
bgp 100
peer 1.1.1.1 as-number 100
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack1
#
address-family vpnv4
peer 3.3.3.3 enable
peer 3.3.3.3 route-policy in import
peer 3.3.3.3 route-policy out export
#
return
如果两端配置了出方向和入方向策略,则需要确认这些策略是否会把私网路由过滤掉,导致该路由无法正常收发。
如果两端没有配置相应的出方向和入方向策略,或者路由策略没有过滤掉私网路由,则执行步骤(4)。
(4) 检查路由是否能迭代到隧道。
在路由的接收端(远端PE)执行display bgp routing-table vpnv4 ipv4-address [ mask | mask-length ]命令查看VPNv4路由,确认VPNv4路由是否可以迭代到隧道。
如果显示信息中存在Rely tunnel IDs字段,则表示该路由可以迭代到隧道。
¡ 如果迭代不到隧道,则请参见“LDP LSP无法Up”故障进行定位。
¡ 如果迭代到隧道,则执行步骤(5)。
<sysname> display bgp routing-table vpnv4 6.0.0.9 32
BGP local router ID: 4.0.0.9
Local AS number: 200
Route distinguisher: 103:1
Total number of routes: 1
Paths: 1 available, 1 best
BGP routing table information of 6.0.0.9/32:
From : 3.0.0.9 (3.0.0.9)
Rely nexthop : 20.0.2.1
Original nexthop: 3.0.0.9
OutLabel : 24128
Ext-Community : <RT: 100:1>
RxPathID : 0x0
TxPathID : 0x0
AS-path : 300 103
Origin : igp
Attribute value : pref-val 0
State : valid, external, best
IP precedence : N/A
QoS local ID : N/A
Traffic index : N/A
Tunnel policy : tp1
Rely tunnel IDs : 2
(5) 检查是否Export RT和Import RT不匹配导致路由无法学习到私网路由表中。
在路由的发送端(本端PE)和接收端(远端PE)执行display bgp routing-table vpnv4和display current-configuration configuration vpn-instance命令,查看是否本端VPN实例的Export RT与远端VPN实例的Import RT不匹配,导致路由发送到远端PE后无法学习到远端VPN实例中。
在本端PE上执行display bgp routing-table vpnv4和display ip extcommunity-list命令查看本端VPN实例的ERT是否被过滤,导致路由无法发布。
¡ 如果Export RT和Import RT不匹配,则请在VPN实例下执行vpn-target命令配置匹配的RT值。
¡ 如果Export RT被路由策略过滤,则请在路由策略视图下执行apply extcommunity rt命令修改路由策略,取消过滤指定的RT属性。
¡ 如果Export RT和Import RT匹配,或者Export RT未被路由策略过滤,则执行步骤(6)。
查看路由携带的ERT:
<sysname> display bgp routing-table vpnv4 6.0.0.9 32
BGP local router ID: 4.0.0.9
Local AS number: 200
Route distinguisher: 103:1
Total number of routes: 1
Paths: 1 available, 1 best
BGP routing table information of 6.0.0.9/32:
From : 3.0.0.9 (3.0.0.9)
Rely nexthop : 20.0.2.1
Original nexthop: 3.0.0.9
OutLabel : 24128
Ext-Community : <RT: 100:1>
RxPathID : 0x0
TxPathID : 0x0
AS-path : 300 103
Origin : igp
Attribute value : pref-val 0
State : valid, external, best
IP precedence : N/A
QoS local ID : N/A
Traffic index : N/A
Tunnel policy : tp1
Rely tunnel IDs : 2
查看BGP扩展团体属性列表信息:
<sysname> display ip extcommunity-list 1
Extended Community List Number 10
Deny rt: 100:1
Extended Community List Number 20
Permit rt: 200:1
查看本地配置的IRT:
<sysname> display current-configuration configuration vpn-instance
#
ip vpn-instance vpn1
route-distinguisher 1:1
vpn-target 100:1 import-extcommunity
vpn-target 100:1 export-extcommunity
#
(6) 检查MPLS标签数量是否超限。
在路由发送端(本端PE)执行display mpls interface命令确认与远端PE相连的公网接口是否开启了MPLS功能。
¡ 如果显示信息中存在与远端PE相连的公网接口,则表示与远端PE相连的公网接口开启了MPLS功能。
¡ 如果显示信息中不存在与远端PE相连的公网接口,则在与远端PE相连的公网接口视图下执行mpls enable命令,开启MPLS功能。
<Sysname> display mpls interface
Interface Status MPLS MTU
GE2/0/1 Up 1500
GE2/0/2 Up 1500
使用display bgp routing-table vpnv4 advertise-info命令查看路由发送时是否申请标签。
¡ 如果显示信息中Inlabel字段无取值,则可能是由于标签资源不足,导致无法为该路由申请标签。如果是标签不足,则可以通过以下方法减少标签的使用量:
- 在VPN实例视图下执行apply-label per-instance命令配置每实例每标签。
- 通过路由聚合来减少路由数量。
- 在系统视图下执行mpls max-label命令增加设备可分配的标签数量。
¡ 如果显示信息中Inlabel字段有合理值,则表示标签资源充足,已经为该路由申请标签,请执行步骤(7)。
<Sysname> display bgp routing-table vpnv4 10.1.1.0 24 advertise-info
BGP local router ID: 1.1.1.9
Local AS number: 100
Route distinguisher: 100:1
Total number of routes: 1
Paths: 1 best
BGP routing table information of 10.1.1.0/24(TxPathID:0):
Advertised to VPN peers (1 in total):
3.3.3.9
Inlabel : 1279
(7) 检查路由数量是否超限。
执行display bgp peer vpnv4 log-info命令,查看指定对等体的日志信息。如果显示Cease/maximum number of VPNv4 prefixes reached,则表示路由数量超规格。
<Sysname> display bgp peer vpnv4 1.1.1.1 log-info
Peer : 1.1.1.1
Date Time State Notification
Error/SubError
06-Feb-2013 22:54:42 Down Send notification with error 6/1
Cease/maximum number of VPNv4 prefixes reached
如果设备上打印如下日志信息,则表示路由数量超规格。
BGP/4/BGP_EXCEED_ROUTE_LIMIT: BGP default.vpn1: The number of routes (101) from peer 1.1.1.1 (IPv4-UNC) exceeds the limit 100.
BGP/4/BGP_REACHED_THRESHOLD: BGP default.vpn1: The ratio of the number of routes (3) received from peer 1.1.1.1 (IPv4-UNC) to the number of allowed routes (2) has reached the threshold (75%).
¡ 如果路由数量超规格,则在路由接收端的VPNv4地址族视图或者VPNv6地址族视图下执行peer route-limit命令调大允许从对等体接收路由的最大数目。
¡ 如果路由数量未超规格,则执行步骤(8)。
(8) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
模块名:BGP4-MIB
· bgpBackwardTransition (1.3.6.1.2.1.15.7.2)
· BGP_EXCEED_ROUTE_LIMIT
· BGP_REACHED_THRESHOLD
远端PE发布的私网路由在本端PE上频繁震荡。
本类故障的常见原因主要包括:
· 公网路由震荡
· LDP LSP震荡
· 接口震荡
本类故障的诊断流程如图1-2所示。
图1-2 L3VPN私网路由频繁震荡故障诊断流程图
(1) 检查公网路由是否震荡。
a. 确认路由类型。
执行display ip routing-table命令查看路由类型。
以如下显示为例,Proto字段显示为IS_L1,表示路由类型为IS-IS;Interface字段显示为Tun1,表示部署了LDP over MPLS TE。
<Sysname> display ip routing-table 1.1.1.1
Summary count : 1
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.1/32 IS_L1 15 10 1.1.1.1 Tun1
b. 查看路由是否震荡。
根据路由类型,判断路由是否震荡。以IS-IS为例,执行display ip routing-table protocol isis命令,查看路由信息。如果路由信息一直在显示和不显示两种情况切换,则表示路由震荡。
- 如果路由震荡,请按照路由类型,参见“OSPF邻居Down”、“OSPFv3邻居Down”或“IS-IS路由震荡”故障处理,排除路由问题。
- 如果路由没有震荡,请执行步骤(2)。
(2) 检查LDP LSP是否震荡。
建议每1秒执行一次display mpls ldp peer命令,连续执行5~10次,查看显示信息的State字段。如果该字段的取值在Operational状态和其他状态之间切换,则表示LDP会话震荡,导致LDP LSP震荡。
¡ 如果LDP LSP震荡,则请参见“LDP LSP震荡”故障进行定位。
¡ 如果LDP LSP没有震荡,则执行步骤(3)。
<Sysname> display mpls ldp peer
VPN instance: public instance
Total number of peers: 1
Peer LDP ID State Role GR AUT KA Sent/Rcvd
1.1.1.1:0 Operational Active Off None 298/298
(3) 检查接口是否震荡。
执行display interface brief命令,查看Link和Protocol字段。Link和Protocol字段均显示Up,则表示接口状态为Up,否则表示接口状态为Down。若接口一直在Up和Down两种状态间切换,则表示接口震荡。
¡ 如果接口震荡,则请参见“接口不UP”故障进行定位。
¡ 如果接口没有震荡,请执行步骤(4)。
<Sysname> display interface gigabitethernet 2/0/1 brief
Brief information on interfaces in route mode:
Link: ADM - administratively down; Stby - standby
Protocol: (s) – spoofing
Interface Link Protocol Primary IP Description
GE2/0/1 UP UP --
(4) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
PE间无法交换VPNv4或VPNv6路由。
本类故障的常见原因主要包括:
· 公网IGP路由未发布
· 公网LSP不存在
· BGP对等体未建立
· 未学习到VPNv4或VPNv6路由
本类故障的诊断流程如图1-3所示。
图1-3 PE间无法交换私网路由故障诊断流程图
(1) 检查IGP路由是否存在。
执行display ip routing-table命令,查看是否存在到达对端PE的Loopback接口的网段路由:
<Sysname> display ip routing-table 1.1.1.1
Summary count : 1
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.2/32 IS_L1 15 10 1.1.1.1 LoopBack1
¡ 如果不存在,则在Loopback接口和公网接口下使能IGP协议,确保发布对应网段路由。
¡ 如果存在,则执行步骤(2)。
(2) 检查公网LSP是否存在。
执行display mpls lsp命令,查看是否存在到达远端PE的Loopback接口的公网LSP:
¡ 如果不存在,则在公网接口下使能MPLS功能和MPLS LDP功能,确保建立公网LSP。
¡ 如果存在,则执行步骤(3)。
<Sysname> display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
1.1.1.2/32 LDP -/1049 GE2/0/1
<Sysname> display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
1.1.1.1/24 LDP -/1051 GE2/0/1
执行display mpls ldp peer verbose命令,查看LDP会话是否成功建立:
¡ 如果State字段显示不是Operational,则表示LDP会话没有正常建立,请参见“LDP会话无法Up”故障进行定位。
¡ 如果State字段的显示为Operational,则表示LDP会话已建立并处于Up状态,请执行步骤(3)。
<Sysname> display mpls ldp peer verbose
VPN instance: public instance
Peer LDP ID : 1.1.1.1:0
Local LDP ID : 2.2.2.2:0
TCP Connection : 2.2.2.2:14080 -> 1.1.1.1:646
Session State : Operational Session Role : Active
Session Up Time : 0000:00:14 (DD:HH:MM)
…
(3) 检查BGP对等体关系是否建立。
执行display bgp peer vpnv4命令,查看PE之间BGP VPNv4对等体关系,并执行display bgp peer ipv4 vpn-instance命令,查看PE与CE之间BGP对等体关系:
¡ 如果不存在BGP对等体关系,或者State字段显示不是Established,则表示未建立BGP对等体关系,请参见“BGP邻居无法建立”故障进行定位。
¡ 如果State字段的显示为Established,则表示已建立BGP对等体关系,请执行步骤(4)。
<Sysname> display bgp peer vpnv4
BGP local router ID: 192.168.100.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
1.1.1.2 200 13 16 0 0 00:10:34 Established
<Sysname> display bgp peer ipv4 vpn-instance vpn1
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
10.1.1.1 65410 5 4 0 1 00:01:19 Established
(4) 检查私网路由是否正常。
执行display ip routing-table vpn-instance命令,查看私网路由:
¡ 如果私网路由的掩码不是32位,且发现该路由的协议不是BGP协议,则表示两端PE的Loopback接口的IP地址在同一网段,设备将优选直连路由,而不是私网路由。请修改PE上的Loopback接口的IP地址,将掩码修改为为32位。
¡ 如果私网路由的掩码是32位,且发现该路由的协议是BGP协议,则私网路由正常,请执行步骤(5)。
<Sysname> display ip routing-table vpn-instance vpn1
Summary count : 1
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.0/24 Direct 0 0 1.1.1.1 LoopBack1
(5) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
在图1-4的网络中,配置MPLS L3VPN业务,CE 1与CE 3属于VPN 1,CE 2属于VPN 2。由于业务的需求,在VPN 1和VPN 2上配置了相同的Route Target,以实现不同VPN间互通。
配置完成后,发现CE 1可以Ping通相同VPN的CE 3(IP地址为3.3.3.3),但CE 2无法Ping通不同VPN的3.3.3.3。
本场景中,CE 1可以Ping通相同VPN的CE 3,说明MPLS骨干网中进行标签转发的公网隧道正常,本类故障的常见原因仅包括:PE设备上不同的VPN实例绑定的IP地址存在冲突。
本类故障的诊断流程如图1-5所示。
图1-5 配置相同RT的不同VPN之间不能互通的故障诊断流程图
(1) 检查PE的接口IP是否存在冲突。
在PE 1上执行display ip interface brief命令查看接口的IP地址,例如:
<Sysname> display ip interface brief
*down: administratively down
(s): spoofing (l): loopback
Interface Physical Protocol IP Address/Mask VPN instance Description
...
GE2/0/1 up up 10.1.1.1/24 vpn1 --
GE2/0/2 up up 10.1.1.1/24 vpn2 --
...
如果不同VPN实例的接口IP地址不相同,请执行步骤(2)。
如果不同VPN实例的接口IP相同,则修改其中一个VPN实例中PE上的接口以及与其相连的CE上的接口的IP地址,并重新配置PE设备与CE设备间的路由交换。
由于BGP会将RT匹配的路由在VPN实例间进行互引,为不同VPN的接口设置相同IP地址时,同一目的地址的路由在BGP路由表中将会出现两条,而BGP只会优选其中一条,例如:
<Sysname> display bgp routing-table vpnv4
BGP local router ID is 11.11.11.11
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e - external
a - additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Total number of VPN routes: 11
Total number of routes from all PEs: 2
Route distinguisher: 1:1(vpn1)
Total number of routes: 6
Network NextHop MED LocPrf PrefVal Path/Ogn
* >e 1.1.1.1/32 10.1.1.2 0 0 20i
* >e 2.2.2.2/32 10.1.1.2 0 0 30i
* >i 3.3.3.3/32 22.22.22.22 0 100 0 40i
* >e 10.1.1.0/24 10.1.1.2 0 0 20?
* >i 30.1.1.0/24 22.22.22.22 0 100 0 40?
Route distinguisher: 2:2(vpn2)
Total number of routes: 5
Network NextHop MED LocPrf PrefVal Path/Ogn
* >e 1.1.1.1/32 10.1.1.2 0 0 20i
* >e 2.2.2.2/32 10.1.1.2 0 0 30i
* >i 3.3.3.3/32 22.22.22.22 0 100 0 40i
* >e 10.1.1.0/24 10.1.1.2 0 0 20?
* e 10.1.1.2 0 0 30?
* >i 30.1.1.0/24 22.22.22.22 0 100 0 40?
如上所示,在RD为2:2的VPN实例(即VPN 2)BGP路由表中,优选的10.1.1.0网段的路由来自VPN 1(根据AS_PATH属性判断),VPN 2发布的路由未被优选,所以从VPN 1去往VPN 2的流量不会被PE 1从GigabitEthernet2/0/2接口发送给VPN 2,而是从GigabitEthernet2/0/1接口发送给VPN 1,导致跨VPN通信失败。
所以,将关联了VPN实例的接口以及与其相连的CE上的接口修改为不同的IP地址,可以解决这类问题。以PE-CE间通过EBGP会话交互路由为例,PE 1的处理步骤如下:
a. 在系统视图下,执行interface命令进入关联了VPN实例的接口视图。
b. 执行ip address命令修改接口的IP地址。
c. 在系统视图下,执行bgp命令进入BGP实例视图。
d. 执行ip vpn-instance命令进入BGP-VPN实例视图。
e. 执行undo peer命令删除用原冲突IP地址建立的BGP对等体。
f. 执行peer as-number命令,指定使用新IP地址的CE设备为EBGP对等体。
g. 执行address-family ipv4 unicast命令,进入BGP IPv4单播地址族视图。
h. 执行peer enable命令,使能与CE设备交互BGP IPv4单播路由信息的能力。
假设仅修改了VPN 2的IP地址,则CE 2的处理步骤如下:
i. 在系统视图下,执行interface命令进入与PE 1直连的接口视图。
j. 执行ip address命令修改接口的IP地址。
k. 在系统视图下,执行bgp命令进入BGP实例视图。
l. 执行undo peer命令删除用原冲突IP地址建立的BGP对等体。
m. 执行peer as-number命令,指定使用新IP地址的PE设备为EBGP对等体。
n. 执行address-family ipv4 unicast命令,进入BGP IPv4单播地址族视图。
o. 执行peer enable命令,使能与PE设备交互BGP IPv4单播路由信息的能力。
p. 执行import-route命令或network命令,发布VPN实例的路由信息。
如果故障仍然未能排除,请执行步骤(2)。
(2) 请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
PE设备发布的MVPN路由、VPNv4/VPNv6路由、BGP L2VPN信息、VPN Flowspec路由以及EVPN路由无法通过路由反射器反射给远端PE。
路由反射器缺省会对MVPN路由、VPNv4/VPNv6路由、BGP L2VPN信息、VPN Flowspec路由以及EVPN路由进行VPN-Target过滤,即只将Export Route Target属性与本地Import Route Target属性匹配的路由信息加入到路由表。路由反射器上不存在与接收路由匹配的Route Target时,接收到的路由将被丢弃,导致无法转发该路由信息给远端PE。
关闭路由反射器的VPN-Target过滤功能,可以解决本类故障,本故障的处理流程如图1-6所示。
图1-6 路由反射器进行VPN-Target过滤导致PE无法学习到路由故障处理流程
(1) 检查对应地址族配置,确保配置了undo policy vpn-target命令:
a. 在BGP实例视图下,执行display this命令,查看在各地址族视图下是否存在undo policy vpn-target配置。如果不存在,请执行步骤b;如果存在,请执行步骤(2)。
b. 进入相应的地址族视图,通过undo policy vpn-target命令关闭VPN-Target过滤,使得路由反射器可以转发RT不匹配的路由信息。如果故障仍不能排除,请执行步骤(2)。
(2) 请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
在MPLS L3VPN/IPv6 MPLS L3VPN网络中,PE的VPN实例IP路由表中没有远端PE用户站点的私网路由,导致CE间无法互通。
本类故障的常见原因主要包括:
· 与远端PE的BGP会话未进入Established状态。
· 远端PE未发送私网路由。
· 公网隧道未建立。
· 远端PE发送的私网路由被本端丢弃。
· 远端PE发送的私网路由在本端的BGP路由表中,但未被添加到VPN实例的IP路由表中。
本类故障的诊断流程如图1-7所示。
图1-7 PE的私网IP路由表中没有远端PE发布的路由故障诊断流程图
(1) 检查BGP邻居是否建立。
执行display bgp peer vpnv4或display bgp peer vpnv6命令,查看本端PE与远端PE是否建立起了处于Established状态的BGP会话,例如:
<Sysname> display bgp peer vpnv4
BGP local router ID: 11.11.11.11
Local AS number: 10
Total number of peers: 1 Peers in established state: 1
* - Dynamically created peer
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
22.22.22.22 10 82 69 0 2 01:01:28 Established
¡ 如果已经建立,请执行步骤(3)。
¡ 如果未建立,请参见“三层技术-IP路由类故障处理”手册中的“BGP会话无法进入Established状态”进行定位。BGP会话进入Established状态后,如果故障仍未能排除,请执行步骤(2)。
(2) 查看远端PE是否向本端发布了私网路由信息。
在远端PE上执行display bgp routing-table vpnv4 peer advertised-routes或display bgp routing-table vpnv6 peer advertised-routes命令,查看远端PE是否将私网路由信息发布给本端PE,例如:
<Sysname> display bgp routing-table vpnv4 peer 22.22.22.22 advertised-routes
Total number of routes: 6
BGP local router ID is 11.11.11.11
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e - external
a - additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Route distinguisher: 1:1
Total number of routes: 3
Network NextHop MED LocPrf Path/Ogn
* >e 1.1.1.1/32 10.1.1.2 0 100 20i
* >e 7.7.7.7/32 10.1.1.2 0 100 20?
* >e 10.1.1.0/24 10.1.1.2 0 100 20?
Route distinguisher: 2:2
Total number of routes: 3
Network NextHop MED LocPrf Path/Ogn
* >e 2.2.2.2/32 10.1.1.2 0 100 30i
* >e 7.7.7.7/32 10.1.1.2 0 100 30?
* >e 10.1.1.0/24 10.1.1.2 0 100 30?
如果存在这样的信息,请执行步骤(3),如果不存在,则进行如下检查:
a. 在远端PE上执行display bgp routing-table vpnv4或display bgp routing-table vpnv6命令,查看是否存在想要发布的私网路由。
- 如果存在,请执行步骤b。
- 如果不存在,则检查PE-CE间的配置。PE与CE间可以使用多种协议交互路由信息,包括静态路由、RIP、OSPF、OSPFv3、IS-IS、BGP等。关于BGP路由协议故障处理方法,请参见“三层技术-IP路由类故障处理手册”中的“BGP故障处理”;常见的IGP路由协议故障处理方法,请参见“三层技术-IP路由类故障处理”手册中的“OSPF故障处理”、“OSPFv3故障处理”或“IS-IS故障处理”。远端PE的BGP路由表获得了私网路由后,如果故障仍不能排除,请执行步骤b。
b. 在远端PE的BGP VPNv4地址族视图或者BGP VPNv6地址族视图下执行display this命令,查看是否存在发布策略过滤了私网路由信息导致无法发布,可能造成影响的配置命令有:
- peer prefix-list export
- peer filter-policy export
- peer as-path-acl export
- filter-policy export
- peer route-policy export
可以通过执行上述命令的undo形式命令来取消对私网路由信息发布的过滤,为了避免组网中的其他配置受到影响,请在技术支持人员的引导下修改私网路由信息发布的过滤策略。
如果故障仍不能排除,请执行步骤(3)。
(3) 查看公网隧道是否建立。
MPLS L3VPN的公网隧道可以是LSP隧道、MPLS TE隧道和GRE隧道。当公网隧道为LSP隧道或MPLS TE隧道时,公网标记为MPLS标签,称为公网标签;当公网隧道为GRE隧道时,公网标记为GRE封装。
常见的公网隧道建立方式是使用LDP标签分发协议自动建立标签转发路径,本故障处理流程以该方式为例,介绍建立公网隧道的故障排查方法。其他方式的公网隧道请参见相应的故障处理手册或寻求技术支持人员的帮助进行排查。
在私网路由发布的骨干网路径上,为所有设备执行display mpls ldp peer命令,查看是否与LDP对等体成功建立了会话,例如:
<Sysname> display mpls ldp peer
VPN instance: public instance
Total number of peers: 2
Peer LDP ID State Role GR AUT KA Sent/Rcvd
22.22.22.22:0 Operational Passive Off None 1816/1816
11.11.11.11:0 Operational Passive Off None 1816/1816
如果已经成功建立了会话,请执行步骤(4)。
如果未建立LDP会话,请参见“MPLS类故障处理手册”中的“LDP会话Down的定位思路”进行排查。
如果公网隧道建立后,故障仍不能排除,请执行步骤(4)。
(4) 检查本端PE的BGP路由表中是否存在对端PE发布的私网路由。
在本端PE上执行display bgp routing-table vpnv4或display bgp routing-table vpnv6命令,查看是否存在远端PE发布的私网路由。
如果不存在,则执行如下操作:
a. 在本端PE和远端PE上,均执行display ip vpn-instance instance-name命令,查看本端PE的VPN实例的Import VPN Targets与远端PE的Export VPN Targets是否一致,显示信息举例如下。
<Sysname> display ip vpn-instance instance-name vpn1
VPN-Instance Name and Index : vpn1, 1
Route Distinguisher : 1:1
Interfaces : GigabitEthernet2/0/1
TTL mode: pipe
Address-family IPv4:
Export VPN Targets :
1:1
Import VPN Targets :
1:1
- 如果不一致,则需要在本端或者远端PE的VPN实例视图下通过vpn-target命令,将RT修改为匹配的值。修改RT后,如果本端PE的BGP路由表中仍未存在对端PE发布的私网路由,请执行步骤b;如果本端PE的BGP路由表中已经存在对端PE发布的私网路由,但故障仍不能排除,请执行步骤(5)。
- 如果一致,请执行步骤b。
b. 通过在BGP实例视图下执行display this命令,查看是否存在接收策略过滤了私网路由信息导致无法接收,可能造成影响的配置命令有:
- peer prefix-list import
- peer filter-policy import
- peer as-path-acl import
- filter-policy import
- peer route-policy import
可以通过执行上述命令的undo形式命令来取消对私网路由信息接收的过滤,为了避免组网中的其他配置受到影响,请在技术支持人员的引导下修改私网路由信息接收的过滤策略。
如果故障仍不能排除,请执行步骤(5)。
(5) 检查BGP路由添加到VPN实例IP路由表的受阻原因。可能的原因有:
¡ 设备配置了undo policy vpn-target命令,与当前VPN实例Route Target属性不匹配的VPNv4/VPNv6路由可以添加到VPN实例的BGP路由表中,并能够在BGP路由表中被优选,但是这些路由无法添加到当前VPN实例的IP路由表中。在BGP实例视图下执行display this命令,查看配置了undo policy vpn-target命令的地址族,进入该地址族视图,并执行policy vpn-target命令,可以解决此问题。
¡ 设备配置了routing-table bgp-rib-only命令,,禁止BGP路由下发到IP路由表中。在BGP实例视图下执行display this命令,查看配置了routing-table bgp-rib-only命令的地址族,进入该地址族视图,并执行undo routing-table bgp-rib-only命令,可以解决此问题。
如果故障仍未能排除,请执行步骤(6)。
(6) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
MPLS L3VPN/IPv6 MPLS L3VPN网络中同时存在我司设备和其他厂商设备,用户访问跨站点的私网资源时,不能打开部分网站,也不能通过FTP下载文件。执行ping命令检验发现,在指定ICMP报文的净荷为1464字节以上时Ping不通,指定ICMP报文的净荷小于1464字节时,可以Ping通。
本类故障的常见原因主要为:流量转发路径上设备接口的MTU值过小。
本故障的处理流程如图1-8所示。
(1) 在流量转发路径上,将设备接口的MTU值修改为大于或等于1508字节。
¡ 在我司设备上,可通过display interface命令查看接口的MTU。例如:
<Sysname> display interface gigabitethernet 2/0/1
GigabitEthernet2/0/1
Current state: Administratively UP
Line protocol state: UP
Description: GigabitEthernet2/0/1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
...
需要修改接口的MTU值时,请在该接口视图下执行ip mtu或ipv6 mtu命令。
¡ 其他厂商的设备配置请参考相关的资料。
如果故障仍未能排除,请执行步骤(2)。
(2) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
如图1-9所示,在IPv6 MPLS L3VPN网络中,PE 1上配置了多个接口关联同一个VPN实例VPN 1。在CE 1和CE 2上执行ping ipv6 2001:db8:3::1命令,均能Ping通远端的CE 3网段,但在PE 1上执行ping ipv6 –vpn-instance vpn1 2001:db8:3::1命令时,Ping不同CE 3网段。
本类故障的常见原因主要为:CE 3上没有到达PE 1所有私网IPv6地址的路由。私网IPv6地址的范围是,PE 1上与CE 3相同的VPN实例中,所有处于UP状态的接口的IPv6地址。
本故障的处理流程如图1-10所示。
图1-10 PE设备Ping不同远端CE网段故障诊断流程图
(1) 检查CE 3上是否存在到达PE 1所有私网IPv6地址的路由。
PE 1在Ping远端CE网段时,会使用当前设备上指定VPN实例中所有处于UP状态的接口的IPv6地址中,最小的IPv6地址作为ICMPv6报文的源地址,如果CE 3没有该IPv6地址的路由信息,将会导致ICMPv6报文无法返回。
上述问题可以通过以下方法解决:
¡ 在PE 1上配置发布本设备的所有私网路由,例如,在BGP-VPN IPv6单播地址族视图下,配置import-route direct命令。
¡ 执行Ping操作时,指定ICMPv6回显请求报文中的源IPv6地址为CE 3的IPv6路由表中存在的地址,即执行ping ipv6 –a source-ipv6 -vpn-instance vpn-instance-name host命令。
如果故障仍不能排除,请执行步骤(2)。
(2) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!