一、概述
可以将 ip as-path access-list 命令中的正则表达式用于边界网关协议 (BGP)。
二、拓扑
AS号码分别为1,2,3。
三、配置
R1:
router bgp 1
bgp router-id 1.1.1.1
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
network 12.1.1.0 mask 255.255.255.0
neighbor 12.1.1.2 remote-as 2
R2:
router bgp 2
bgp router-id 2.2.2.2
bgp log-neighbor-changes
network 2.2.2.2 mask 255.255.255.255
network 12.1.1.0 mask 255.255.255.0
network 23.1.1.0 mask 255.255.255.0
neighbor 12.1.1.1 remote-as 1
neighbor 23.1.1.3 remote-as 3
R3:
router bgp 3
bgp router-id 3.3.3.3
bgp log-neighbor-changes
network 3.3.3.3 mask 255.255.255.255
network 23.1.1.0 mask 255.255.255.0
neighbor 23.1.1.2 remote-as 2
neighbor 23.1.1.2 route-map BGP in
四、现象
- 从路由表中看出、R3学到了1.1.1.1 2.2.2.2 和12.1.1.0 网段的路由
现在要求如下:
- R3上看不到R2网段的路由,使用as path方法
- 配置
ip as-path access-list 100 deny _2$#拒绝AS 2的路由
ip as-path access-list 100 permit .*#允许所有
route-map BGP permit 10#route-map 调用上面的as-path
match as-path 100
router bgp 3
neighbor 23.1.1.2 route-map BGP in #在In方向调用已经写好的route-map
有的时候现象出不来的话,需要软清下BGP的进程
clear ip bgp * soft
现象如下,这样子就拒绝从AS 2 产生的路由了
同理,如果拒绝从 AS_1产生的路由 。修改正则表达式即可
现象如下: