现场组网如上,EOR1分别与CE和EOR2建立ospf邻居
现场EOR1分别与CE和EOR2建立ospf多实例邻居,ospf进程为80,互联三层口分别为vlanif 4008和RAGG100.3998。同时EOR1和EOR2还通过vlanif1715建立进程号为81的ospf多实例邻居,TOR做二层透传。ospf 80和ospf 81处于同一个vpn实例内。FW发布一条O_ASE1默认路由给CE,CE再将这条路由发布给EOR1,EOR1再继续发布给EOR2,正常情况下,EOR1和EOR2上的路由学习如下:
< EOR01>display ip routing-table vpn-instance M2M
Destinations : 508 Routes : 2349
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 O_ASE1 150 10150 10.215.5.169 Vlan4008 (与CE的互联接口)
< EOR02>display ip routing-table vpn-instance M2M
Destinations : 508 Routes : 2373
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 O_ASE1 150 10151 10.215.5.185 RAGG100.3998 (与EOR1的互联接口)
但是故障时候查看EOR1上的默认路由是通过EOR2的ospf 81学到的,下一跳指向EOR2且路由类型为第二类外部路由, EOR2上路由学习则是正常的,因此导致路由环路,如下:
< EOR01>display ip routing-table vpn-instance M2M
Destinations : 508 Routes : 2373
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 O_ASE2 150 1 192.168.252.114 Vlan1715 (与EOR1的直连地址,中间经过了二层TOR)
< EOR02>display ip routing-table vpn-instance M2M
Destinations : 508 Routes : 2373
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 O_ASE1 150 10151 10.215.5.185 RAGG100.3998 (与EOR1的互联接口)
后面客户通过手动添加和删除指向CE的默认路由恢复故障。
1.查看路由的详细信息,发现CE发的O_ASE1已经加入路由表,但是处于未激活状态。
[EOR1]dis ip routing-table vpn-instance M2M 0.0.0.0 verbose
Summary count : 4
Destination: 0.0.0.0/0
Protocol: O_ASE2
Process ID: 81
SubProtID: 0x8 Age: 01h02m11s
Cost: 1 Preference: 150
IpPre: N/A QosLocalID: N/A
Tag: 1 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x102 OrigAs: 0
NibID: 0x1300000b LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x10041 OrigNextHop: 192.168.252.114
Label: NULL RealNextHop: 192.168.252.114
BkLabel: NULL BkNextHop: N/A
Tunnel ID: Invalid Interface: Vlan-interface1715
BkTunnel ID: Invalid BkInterface: N/A
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A PathID: 0x0
Destination: 0.0.0.0/0
Protocol: O_ASE1
Process ID: 80
SubProtID: 0x4 Age: 01h02m11s
Cost: 51 Preference: 150
IpPre: N/A QosLocalID: N/A
Tag: 1 State: Inactive Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x102 OrigAs: 0
NibID: 0x13000007 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x41 OrigNextHop: 10.215.5.169
Label: NULL RealNextHop: 10.215.5.169
BkLabel: NULL BkNextHop: N/A
Tunnel ID: Invalid Interface: Vlan-interface4008
BkTunnel ID: Invalid BkInterface: N/A
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A PathID: 0x0
2. 根据ospf选路规则O_ASE1的优先级大于O_ASE2,为什么O_ASE2加入了路由表且处于激活状态并最终显示在了vpn路由表里呢?客户这边反馈故障时候FW侧发生了短时间路由震荡,时间和我们设备O_ASE1路由明细中显示的路由存活时间相对应,也就是说O_ASE1故障时候短暂消失过。查看EOR1和EOR2上的配置发现ospf 81均配置了default-route-advertise的命令。
ospf 81 router-id 192.168.249.232 vpn-instance M2M_
default-route-advertise 发布type2的默认路由
import-route direct
import-route static
vpn-instance-capability simple
area 0.0.0.0
这个命令的作用是在当前vpn路由表里面存在默认路由的情况下会引入并发布该默认路由,也就是说EOR1和EOR2均会将本地vpn路由表里的默认路由通过ospf 81以O_ASE2的形式互相发给对方。如下:
<H3C S6900-54QF-F-JN4F-EOR01>dis ospf 81 ls ase 0.0.0.0
OSPF Process 81 with Router ID 192.168.249.232
Link State Database
Type : External
LS ID : 0.0.0.0
Adv Rtr : 192.168.249.232 这个是本地发布的
LS age : 880
Len : 36
Options : O E
Seq# : 8000005d
Checksum : 0x2bbc
Net mask : 0.0.0.0
MTID 0 Metric : 1
E Type : 2
Forwarding Address: 0.0.0.0
Tag : 1
Type : External
LS ID : 0.0.0.0
Adv Rtr : 192.168.249.242 EOR2发布的 发布源
LS age : 881
Len : 36
Options : O E
Seq# : 8000135d
Checksum : 0xb515
Net mask : 0.0.0.0
MTID 0 Metric : 1
E Type : 2 ---------------------这里 type
Forwarding Address: 0.0.0.0
Tag : 1
故障时由于发布端默认路由震荡,EOR1上收到的O_ASE1路由删除,也撤销了发布的O_ASE2路由,但EOR2处于下游,对这个路由震荡感知有延时,如果震荡很快的话,EOR1分2次计算,先删再加,而EOR2是将这两次计算合并到一次计算,相当于没有感知到这次震荡,EOR2上默认路由就不会变,依然会发送O_ASE2默认路由给EOR1,导致EOR1本地vpn路由表里没有默认路由的情况下将EOR2发布的O_ASE2默认路由加入了路由表里。而后续EOR1又可以重新学习到type 1的默认路由并且加表,由于路由管理计算路由比较时只比较路由的优先级 和cost而type1 和type2的优先级相同都是150 但是type 1的路由cost 比较大, 所以type1的路由会处于未激活状态。
3.为什么现场增加和删除静态路由后就恢复正常了呢?这是因为配置静态路由后, ospf 81 配置了default-route-advertise就可以再次发布默认路由,未配置permit-calculate-other 参数,本地发布默认路由后则不会再计算其他默认路由,所以会删掉 EOR2发布的默认路由,而CE是通过ospf80和EOR1建立邻居的,ospf80未配置default-route-advertise,所以不受影响,依然存在于路由管理表里面,处于未激活状态。这个时候路由管理表里面只剩下静态默认路由和CE发的type1路由,这时候再删除静态路由后,路由管理表里面就只有CE发布的type1路由了,所以就将这个type1路由加表,故障恢复。
[EOR1]dis ip routing-table vpn-instance M2M_Gi_GGSN 0.0.0.0 verbose
Summary count : 3
Destination: 0.0.0.0/0
Protocol: Static
Process ID: 0
SubProtID: 0x1 Age: 00h00m15s
Cost: 0 Preference: 60
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x102 OrigAs: 0
NibID: 0x11000000 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x10060 OrigNextHop: 10.215.5.169
Label: NULL RealNextHop: 10.215.5.169
BkLabel: NULL BkNextHop: N/A
Tunnel ID: Invalid Interface: Vlan-interface4008
BkTunnel ID: Invalid BkInterface: N/A
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A PathID: 0x0
Destination: 0.0.0.0/0
Protocol: O_ASE1
Process ID: 80
SubProtID: 0x4 Age: 00h11m26s
Cost: 51 Preference: 150
IpPre: N/A QosLocalID: N/A
Tag: 1 State: Inactive Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x102 OrigAs: 0
NibID: 0x13000007 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x41 OrigNextHop: 10.215.5.169
Label: NULL RealNextHop: 10.215.5.169
BkLabel: NULL BkNextHop: N/A
Tunnel ID: Invalid Interface: Vlan-interface4008
BkTunnel ID: Invalid BkInterface: N/A
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A PathID: 0x0
建议将EOR2 ospf 80的路由优先级:preference ase 149,修改为低于默认的150。以避免路由震荡导致EOR2的默认路由异常。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作