02-路由故障案例
本章节下载 (222.81 KB)
配置NQA track与静态路由联动时,Track状态切换正常,但是联动静态路由无法失效,导致路由无法正常切换。
(1) 查看设备的Track状态,发现Track状态已经切换至Negative状态,切换正常。
<sysname> display track 2
Track ID: 2
State: Negative
Duration: 0 days 0 hours 1 minutes 18 seconds
Tracked object type: NQA
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object
NQA entry: admin admin2
Reaction: 2
Remote IP/URL: 192.168.1.5
Local IP: 183.207.34.81
Interface: --
(2) 查看设备的路由信息,联动的静态路由未失效,即静态路由与Track联动未生效。
<sysname> display ip routing-table vpn-instance JI[1D[Jis[1D[JaSu2
Destinations : 21 Routes : 21
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 183.207.34.82 XGE3/1/5
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
(1) 首先查看设备静态路由配置,发现设备有3条Track联动静态路由的配置,而根据客户反馈只有Track 2不生效,通过查看静态路由配置未发现异常。
<sysname> display current-configuration | include route-static
ip route-static vpn-instance JiaSu1 0.0.0.0 0 183.207.34.98 preference 65 description Jiasu1-bei
ip route-static vpn-instance JiaSu1 0.0.0.0 0 183.207.34.74 description JiaSu1-zhu track 1
ip route-static vpn-instance JiaSu2 0.0.0.0 0 183.207.34.106 preference 65 description JiaSu2-bei
ip route-static vpn-instance JiaSu2 0.0.0.0 0 183.207.34.82 preference 30 description JiaSu2-zhu track 2
ip route-static vpn-instance JiaSu3 0.0.0.0 0 183.207.34.90 description JiaSu3-zhu track 3
ip route-static vpn-instance JiaSu3 0.0.0.0 0 183.207.34.114 preference 65 description Jiasu3-be
(2) 进一步分析Track的状态,发现Track状态改变了一分钟多,但是没通知到对应的模块。
<sysname> display track 2
Track ID: 2
State: Negative
Duration: 0 days 0 hours 1 minutes 18 seconds
Tracked object type: NQA
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object
NQA entry: admin admin2
Reaction: 2
Remote IP/URL: 192.168.1.5
Local IP: 183.207.34.81
Interface: --
(3) 在设备上实际配置,输入配置的时候发现问题:先配置description,后配置track,这种配置实际上JiaSu2-zhu track 2整个内容都属于description的描述内容,非真正关联了Track,从而导致未生效。即并非仅Track 2不生效,实际上是三个Track都不生效。
[sysname] ip route-static vpn-instance JiaSu2 0.0.0.0 0 183.207.34.82 description JiaSu2-zhu track 2 ?
TEXT Route description (up to 150 characters)
<cr>
正确配置是先配置track,后配置description,修改成下面的配置后功能正常。
ip route-static vpn-instance JiaSu2 0.0.0.0 0 183.207.34.82 track 2 description JiaSu2-zhu
如图1-1所示为某行业典型三级组网,其中Device A和Device B为省级核心PE设备,Switch A为省核心CE设备,Device C和Device D为市级核心设备,Device E和Device F为县级核心设备,Switch A为县级核心CE设备,Switch A与某IP地址为8.8.8.8的站点连接。
Switch B通过主备链路接入县级PE设备:
· 主用链路路为Device A、Device C和Device E。主用链路通过BGP和MPLS L3VPN将路由传递给省核心PE设备Device A,在Device A上BGP VPNv4路由与OSPF路由互相引入,最后Device A通过OSPF将路由传递给Switch A。Device A和Device E具有相同的OSPF域标识符(均为缺省值0)。
· 备用链路为Device B、Device D和Device F,备用链路在Device F上将接入层的静态路由引入到OSPF中,然后Device F通过OSPF将路由传递给Switch A。
组网中存在两个OSPF进程:Device A、Device A、Device B和Device D上运行的是OSPF 1,Device D和Device F上运行的是OSPF 2。Device D上两个OSPF进程互相引入路由。
此组网的目的是:当链路正常时,流量通过主用链路;当主用链路发生故障时,流量通过备用链路;当主用链路的故障修复后,流量重新走主用链路。目前的问题是当主用链路发生故障后流量会切换到备用链路,但是主用链路的故障修复后流量不会切回到主用链路。
图1-1 BGP及OSPF路由优选导致来回路径不一致组网图
以下显示信息仅为示例,并非设备实际的软、硬件信息。
(1) 已知某站点IP地址为8.8.8.8,对应的VPN实例为1,查看Device A上关于此站点的路由。
<DeviceA> display ip routing-table vpn-instance 1 8.8.8.8
Summary count : 1
Destination/Mask Proto Pre Cost NextHop Interface
8.8.8.8/32 BGP 255 2 6.6.6.6 XGE3/1/1
站点的路由8.8.8.8从BGP学习到,下一跳地址是Device C的Loopback地址,优先级为255。
(2) 查看Device A的OSPF 1的链路状态数据库信息,查看IP地址为8.8.8.8对应的站点对应的LSA。
<DeviceA> display ospf 1 lsdb
OSPF Process 1 with Router ID 10.0.0.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.0.0.2 10.0.0.2 669 36 80000003 0
Router 5.5.5.5 5.5.5.5 661 48 80000004 0
Router 1.1.1.1 1.1.1.1 660 60 80000007 0
Network 10.0.0.6 5.5.5.5 660 32 80000002 0
Network 10.0.0.2 10.0.0.2 669 32 80000002 0
Sum-Net 8.8.8.8 10.0.0.2 650 28 80000001 2
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 10.0.0.0 5.5.5.5 642 36 80000001 1
External 7.7.7.7 5.5.5.5 642 36 80000001 1
Route distinguisher: 1:6
Total number of routes: 1
Paths: 1 available, 1 best
BGP routing table information of 8.8.8.8/32:
From : 6.6.6.6 (6.6.6.6)
Rely nexthop : 10.0.0.10
Original nexthop: 6.6.6.6
OutLabel : 1279
Ext-Community : <OSPF Domain Id: 0.0.0.0:0>, <OSPF Router Id: 6.6.6.6:0:0>,
<OSPF AreaNum: 0.0.0.0 RouteType: 1 Option: 0>, <RT: 1:1>
RxPathID : 0x0
TxPathID : 0x0
AS-path : (null)
Origin : incomplete
Attribute value : MED 2, localpref 100, pref-val 0
State : valid, internal, best
IP precedence : N/A
QoS local ID : N/A
Traffic index : N/A
IP地址为8.8.8.8对应的站点对应的LSA的“Type”为“Sum-Net”,即这是一条类型为Network Summary LSA(Type-3)的LSA。Device A和Device E具有相同的OSPF域标识符(均为0)。站点8.8.8.8的BGP VPNv4路由中携带的OSPF域标识符为0,Device A将BGP VPNv4路由引入OSPF时,因为Device A的主域标识符与路由中携带的OSPF域标识符相同,此路由作为Network Summary LSA(即Type-3 LSA)发布给Switch A。
在Device B上有两条关于站点8.8.8.8的LSA,一条是OSPF 1中由Device A发布的Type-3 LSA,一条是OSPF 2中由Router F发布的Type-5 LSA。Type-3 LSA的优先级高于Type-5 LSA,因此Device B上两个OSPF进程互相引入路由时,OSPF 1引入的Type-5 LSA未处于激活状态,OSPF 2引入的Type-3 LSA处于激活状态。Device B会将Type-3 LSA发布给备用链路,流量会根据Type-3 LSA转发,即流量通过主用链路。
(3) 在Device A上先中断再恢复BGP邻居,使用display ip routing-table命令显示目的地址为8.8.8.8的VPN实例1的路由信息。
<DeviceA> display ip routing-table vpn 1 8.8.8.8
Summary count : 1
Destination/Mask Proto Pre Cost NextHop Interface
8.8.8.8/32 O_ASE2 150 1 10.0.0.1 XGE3/1/1
此时8.8.8.8的路由为OSPF路由而不是BGP路由。此路由为Device D引入的Type-5 LSA,流量通过备用链路转发。
(4) 在Device A上使用display bgp routing-table vpnv4命令显示目的地址为8.8.8.8的BGP VPNv4路由信息。
<DeviceA> display bgp routing-table vpnv4
BGP local router ID is 2.2.2.2
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 routes from all PEs: 1
Route distinguisher: 1:2(1)
Total number of routes: 6
Network NextHop MED LocPrf PrefVal Path/Ogn
* > 1.1.1.1/32 10.0.0.1 2 32768 ?
* > 5.5.5.5/32 10.0.0.1 3 32768 ?
* > 7.7.7.7/32 10.0.0.1 2 32768 ?
* >i 8.8.8.8/32 6.6.6.6 2 100 0 ?
* > 10.0.0.0/20 10.0.0.1 2 32768 ?
* > 10.0.0.4/30 10.0.0.1 3 32768 ?
Route distinguisher: 1:6
Total number of routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
* >i 8.8.8.8/32 6.6.6.6
可见BGP邻居被成功恢复,但是流量没有从备用链路切换到主用链路上。
(5) 在Device A上配置路由策略,将IP地址为8.8.8.8的路由的优先级设置为130。
a. 定义一条名为p1的IPv4地址前缀列表,只允许8.8.8.8/32的路由通过。
<DeviceA> system-view
[<DeviceA] ip prefix-list p1 permit 8.8.8.8 32
b. 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。如果匹配已存在的地址前缀列表p1,那么设置该路由协议的优先级为130。
[<DeviceA] route-policy policy1 permit node 10
[<DeviceA-route-policy-policy1-10] if-match ip address prefix-list p1
[<DeviceA-route-policy-policy1-10] apply preference 130
(6) 查看Device A上8.8.8.8站点的路由。
<DeviceA> display ip routing-table vpn-instance 1 8.8.8.8
Summary count : 1
Destination/Mask Proto Pre Cost NextHop Interface
8.8.8.8/32 BGP 130 2 6.6.6.6 XGE3/1/1
此时8.8.8.8的路由为恢复为BGP路由,流量通过主用链路转发。
如果通过domain-id命令配置了OSPF域标识符,则PE将OSPF路由引入到BGP时,主域标识符被附加到BGP VPNv4路由上,作为BGP的扩展团体属性传递给对端PE。对端PE接收到BGP路由后,将本地配置的OSPF主域标识符、从域标识符和路由中携带的OSPF域标识符进行比较:如果主域标识符或从域标识符与其相同,且为区域内或区域间路由,则将路由重新引入到OSPF时,该路由作为Network Summary LSA(即Type-3 LSA)发布给CE;否则,该路由将作为AS External LSA(即Type-5 LSA)或NSSA External LSA(即Type-7 LSA)发布给CE。
主用链路正常时,在Device D上有两条关于站点8.8.8.8的LSA,一条是OSPF 1中由Device A发布的Type-3 LSA,一条是OSPF 2中由Device F发布的Type-5 LSA。Type-3 LSA的优先级高于Type-5 LSA,因此Device D上两个OSPF进程互相引入路由时,OSPF 1引入的Type-5 LSA未处于激活状态,OSPF 2引入的Type-3 LSA处于激活状态。Device D会将Type-3 LSA发布给备用链路,而不会将Type-5 LSA发布给主用链路,流量会根据Type-3 LSA转发,即流量通过主用链路。
BGP路由出现异常时,Type-3 LSA取消,Device A学到了Device D引入的Type-5 LSA,流量走备用链路。BGP路由恢复后,因为Type-5 LSA生成的OSPF路由的优先级为150,而BGP路由的缺省优先级为255,OSPF路由的优先级高,BGP路由处于未激活状态。因此流量仍然通过备用链路。
通过路由策略配置站点的BGP路由的优先级,使BGP路由的优先级高于OSPF,这样在BGP路由恢复时流量会自动从备用链路切换到主用链路。
设备接口物理状态UP/DOWN后查看相应的Trap信息有记录,但是没有提示具体的接口编号。
%Nov 21 16:36:10:014 2017 Sysname SNMP/6/SNMP_NOTIFY: Notification linkDown(1.3.6.1.6.3.1.1.5.3) with ifIndex(1.3.6.1.2.1.2.2.1.1.610)=610;ifAdminStatus(1.3.6.1.2.1.2.2.1.7.610)=1;ifOperStatus(1.3.6.1.2.1.2.2.1.8.610)=2.
(1) 查看其它设备的Trap信息,发现在接口物理状态UP/DOWN后相应的Trap信息包含具体的接口,比如下列Trap信息:
%Nov 21 16:15:00:954 2017 Sysname SNMP/6/SNMP_NOTIFY: Notification linkDown(1.3.6.1.6.3.1.1.5.3) with ifIndex(1.3.6.1.2.1.2.2.1.1.592)=592;ifAdminStatus(1.3.6.1.2.1.2.2.1.7.592)=1;ifOperStatus(1.3.6.1.2.1.2.2.1.8.592)=2.
%Nov 21 16:15:00:953 2017 Sysname SNMP/6/SNMP_NOTIFY: Notification hh3cIfPortDown(1.3.6.1.4.1.25506.2.40.3.0.6) with ifIndex(1.3.6.1.2.1.2.2.1.1.592)=592;ifDescr(1.3.6.1.2.1.2.2.1.2.592)=Ten-GigabitEthernet1/6/0/10.
(2) 设备的Trap信息没有具体的接口信息,不利于监控系统及时发现异常。
%Nov 21 16:36:10:014 2017 Sysname SNMP/6/SNMP_NOTIFY: Notification linkDown(1.3.6.1.6.3.1.1.5.3) with ifIndex(1.3.6.1.2.1.2.2.1.1.610)=610;ifAdminStatus(1.3.6.1.2.1.2.2.1.7.610)=1;ifOperStatus(1.3.6.1.2.1.2.2.1.8.610)=2.
缺省情况下,设备发送的LinkUp/LinkDown告警信息的格式为标准格式,不包含具体的端口信息。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
