Print

某局点MSR 5660 BGP路由学习异常问题处理经验案例

2019-07-29发表

组网及说明


组网如图

问题描述

如上图所示,MSR 5660与SR 88之间建立EBGP邻居,且邻居关系建立正常,但是从MSR5660侧发布一条私网路由,SR88侧学不到。

过程分析

在MSR5660侧有如下配置:

address-family ipv4 unicast

  preference 100 100 200

  network 14.133.0.0 255.255.0.0

  network 14.134.0.0 255.255.0.0

  network 14.136.0.0 255.255.0.0

  peer 20.7.1.81 enable

  peer 20.7.1.81 route-policy to_bgp export

#

route-policy to_bgp permit node 10

if-match ip route-source prefix-list yewu_to_bgp

apply cost 50

#

route-policy to_bgp permit node 20

if-match ip route-source prefix-list bangong_to_bgp

apply cost 100

#

route-policy to_bgp permit node 30

if-match ip route-source prefix-list shipin_to_bgp

apply cost 90

#

ip prefix-list bangong_to_bgp index 10 permit 14.134.0.0 16

ip prefix-list shipin_to_bgp index 10 permit 14.136.0.0 16

ip prefix-list yewu_to_bgp index 10 permit 14.133.0.0 16

#

ip route-static 14.133.0.0 16 NULL0 preference 250 description "for bgp"

ip route-static 14.134.0.0 16 NULL0 preference 250 description "for bgp"

ip route-static 14.136.0.0 16 NULL0 preference 250 description "for bgp"

但是在SR88侧学习不到上面的三条路由,尝试在5660侧引入静态,发现还是不行,通过dis bgp rou ipv4 peer 20.7.1.81 advertised-routes看到,MSR没有将这几条路由发出去

>dis bgp rou ipv4 peer 20.7.1.81 advertised-routes

 Total number of routes: 0

且现场通过抓包发现,当现场按照上述配置后,MSR不会向对端发送update报文,将route-policy去掉之后,MSR将会发送更新报文给对端,且对端可以学习到这三条路由。通过查看route-policy,如下:

peer 20.7.1.81 route-policy to_bgp export

route-policy to_bgp permit node 30

if-match ip route-source prefix-list shipin_to_bgp

apply cost 90

 ip prefix-list yewu_to_bgp index 30 permit 10.81.36.254 32

前缀列表所匹配的流量以及route-policy的配置均没有问题。因此怀疑是否有其他限制。

解决方法

通过查找官网资料发现,route-source:匹配路由发布的源地址。仅对BGP路由有效,对IGP路由无效,其识别匹配的是IP路由表详细信息中的"Neighbor"字段。这里指的“对BGP路由有效”是对从邻居学习到的BGP路由有效,对自己始发的和IGP路由来说,是匹配不上该策略的,因此,才会出现不会向对端发送update报文。

因此需要将现场的策略做如下更改,更改配置后正常。

if-match ip route-source prefix-list yewu_to_bgp

if-match ip address prefix-list yewu_to_bgp