牢记一点:除非运用于某个接口或BGP邻居,否则ACL、前缀列表和路由映射表不管用。就像ACL或前缀列表那样,单单一个路由映射表语句可以与任何数量的接口或邻居结合使用。然而,任何一个接口或邻居只能支持一个路由映射表语句用于入站流量,只能支持一个路由映射表语句用于出站流量。
我们将为邻居192.168.1.1把刚创建的路由映射表运用到路由器B的BGP配置,使用入站前缀通告。
router-b# conf terminal
router-b(config)# router bgp 200
router-b(config-router)# neighbor 192.168.1.1 route-map RMAP in
现在,我们使用下列命令,检查通告和接收的路由。
针对通告的路由:
show ip bgp neighbor-IP advertised-routes
针对收到的路由:
show ip bgp neighbor-IP routes
你可以发现,虽然路由器A向路由器B通告了四个前缀,但路由器只接收了三个前缀。如果我们检查一下范围,就能发现,只有路由映射表允许的前缀才在路由器B上看得见。其他所有前缀被丢弃了。
提示:要是接收到的前缀没有任何变化,试着使用命令:“clear ip bgp neighbor-IP”,重新设置BGP会话。在我们的例子中:
clear ip bgp 192.168.1.1
正如我们所见,已满足了要求。我们可以在路由器A和B中创建类似的前缀列表和路由映射表语句,以便进一步控制入站和出站前缀。
我在一个地方总结了配置,那样你一眼就能看清。
router bgp 200
network 10.20.0.0/16
neighbor 192.168.1.1 remote-as 100
neighbor 192.168.1.1 route-map RMAP in
!
ip prefix-list PRFX-LST seq 5 permit 10.10.10.0/23 le 24
!
route-map RMAP permit 10
match ip address prefix-list PRFX-LST
结束语