组网需求
如图1,RouterA与RouterB、RouterB与RouterC之间建立EBGP连接。用户希望AS10的设备和AS30的设备无法相互通信。
配置AS_Path过滤器组网图
配置思路
采用如下思路配置BGP的AS_Path过滤器:
1. 在RouterA和RouterB之间、RouterB和RouterC之间分别配置EBGP连接,并引入直连路由,使AS之间通过EBGP连接实现相互通信。
2. 在RouterB上配置AS_Path过滤器,并应用该过滤规则,使AS20不向AS10发布AS30的路由,也不向AS30发布AS10的路由。
操作步骤
1. 配置各接口的IP地址(略)
2. 配置EBGP
# 配置RouterA。
[RouterA] bgp 10 [RouterA-bgp] router-id 1.1.1.1 [RouterA-bgp] peer 200.1.2.2 as-number 20 [RouterA-bgp] import-route direct
# 配置RouterB。
[RouterB] bgp 20 [RouterB-bgp] router-id 2.2.2.2 [RouterB-bgp] peer 200.1.2.1 as-number 10 [RouterB-bgp] peer 200.1.3.2 as-number 30 [RouterB-bgp] import-route direct [RouterB-bgp] quit
# 配置RouterC。
[RouterC] bgp 30 [RouterC-bgp] router-id 3.3.3.3 [RouterC-bgp] peer 200.1.3.1 as-number 20 [RouterC-bgp] import-route direct [RouterC-bgp] quit
# 查看RouterB的发布路由表。以RouterB发布给RouterC的路由表为例,可以看到RouterB发布了AS10引入的直连路由。
同样,查看RouterC的路由表,可以看到RouterC也通过RouterB学习到了这条路由。
3. 在RouterB上配置AS_Path过滤器,并在RouterB的出方向上应用该过滤器。
# 创建编号为1的AS_Path过滤器,拒绝包含AS号30的路由通过(正则表达式“_30_”表示任何包含AS30的AS列表,“.*”表示与任何字符匹配)。
[RouterB] ip as-path-filter path-filter1 deny _30_ [RouterB] ip as-path-filter path-filter1 permit .*
# 创建编号为2的AS_Path过滤器,拒绝包含AS号10的路由通过。
[RouterB] ip as-path-filter path-filter2 deny _10_ [RouterB] ip as-path-filter path-filter2 permit .*
# 分别在RouterB的两个出方向上应用AS_Path过滤器。
[RouterB] bgp 20 [RouterB-bgp] peer 200.1.2.1 as-path-filter path-filter1 export [RouterB-bgp] peer 200.1.3.2 as-path-filter path-filter2 export [RouterB-bgp] quit
4. 查看RouterB的发布路由表。
查看RouterB发往AS30的发布路由表。可以看到表中没有RouterB发布的AS10引入的直连路由。
同样,RouterC的BGP路由表里也没有这些路由。
查看RouterB发往AS10的发布路由表。可以看到表中没有RouterB发布的AS30引入的直连路由。同样,RouterA的BGP路由表里也没有这些路由。





