为什么在 Cisco ISR 上没有通告到邻居的路由?

网络工程 思科 路由 bgp 思科-ios
2021-07-15 03:21:53

使用以下配置,我尝试向邻居通告网络,但 show 命令仅列出该邻居的 0 个前缀。

router bgp 2
 bgp log-neighbor-changes
 neighbor 128.16.16.34 remote-as 1
 !
 address-family ipv4
  network 128.16.16.0
  network 128.16.16.0 mask 255.255.255.0
  neighbor 128.16.16.34 activate
  neighbor 128.16.16.34 route-map red out
 exit-address-family
!
ip route 128.16.16.0 255.255.255.0 Null0 200
!
ip prefix-list 1 seq 5 permit 128.16.16.16/28
!
route-map red permit 10
 match ip address prefix-list 1
!

在一个接口上有网络 128.16.16.32/30 连接(BGP 邻居),在第二个接口上有网络 128.16.16.16/28 连接,这个第二个网络应该被通告给邻居。

这是路由表:

#sh ip route | inc 128.16.16.
S        128.16.16.0/22 is directly connected, Null0
C        128.16.16.16/28 is directly connected, GigabitEthernet0/0/0
L        128.16.16.18/32 is directly connected, GigabitEthernet0/0/0
C        128.16.16.32/30 is directly connected, GigabitEthernet0/0/1
L        128.16.16.33/32 is directly connected, GigabitEthernet0/0/1

这是 sh bgp 命令的输出:

#sh bgp | inc 128.16.16.
BGP table version is 39103822, local router ID is 128.16.16.34
 *>  128.16.16.0/22  0.0.0.0                  0         32768 i
                       128.16.16.34                          0 1 i
                       128.16.16.34                          0 1 i

而这一个显示通告的路由命令:

#sh ip bgp neighbors 128.16.16.34 advertised-routes 

Total number of prefixes 0 

如果我删除该neighbor 128.16.16.34 route-map red out命令,则 sh 通告的路由命令包含所有路由。我如何调试为什么路由不从路由映射通告路由。

2个回答

您没有针对您尝试宣传的网络的网络声明。

在您的 BGP 配置中添加网络将解决此问题:

router bgp 2
 !
 address-family ipv4
  network 128.16.16.16 mask 255.255.255.240
 exit-address-family
!

您的网络声明用于 /24 或 classfull,您的前缀列表只允许 /28 并且您的本地网络不匹配。您需要对齐遮罩。

试试这个作为例子。

     network 128.16.16.0 mask 255.255.252.0

     ip prefix-list 1 seq 5 permit 128.16.16.16/22