AS_Path Filter的应用方式
AS_Path过滤器只定义一个过滤工具,需要在某个地方调用这个过滤工具才会最终生效。在BGP中可以有两种方式调用AS_Path过滤器:
- 通过peer命令直接调用AS_Path_Filter。
- 通过route-policy调用AS_Path_Filter。
应用方式一:通过peer命令直接调用as-path-filter
#
ip as-path-filter s1 permit ^100$
#
bgp 65100
peer 10.1.1.2 as-path-filter s1 import
#
在应用方式1中,定义了一个AS_Path_Filter并关联了一个正则表达式^100$,这个AS_Path_Filter可以匹配AS_PATH严格为100的路由(不包含任何其他的AS号或其他数字),随后将AS_Path_Filter应用在了peer命令上,这样一来,只有被AS_Path_Filter s1所匹配的路由,才会被传递给BGP邻居10.1.1.2。
应用方式二:通过route-policy调用as-path-filter
#
ip as-path-filter s1 permit ^100$
#
route-policy huawei permit node 10
if-match as-path-filter s1
apply local-preference 100
#
bgp 65100
peer 10.1.1.2 route-policy huawei import
#
在应用方式2中,在route-policy中的if-match命令调用定义好的AS_Path_Filter,随后使用apply命令设置Local-Preference路径属性值,并在BGP配置模式下应用在了peer命令上(import方向)。这样,该交换机在收到BGP邻居10.1.1.2所发送过来的BGP路由中,所有被AS_Path_Filter匹配的路由均将LP路径属性值设置为100。
AS_Path Filter的使用举例
如图10-15所示,LSW1与LSW2之间,LSW1与LSW3之间,LSW2与LSW3之间,LSW2与LSW4之间,LSW3与LSW4之间,LSW4与LSW5之间都建立EBGP邻居。各个设备把LoopBack0接口的IP地址通过network命令发布到BGP中,用作测试路由网段。
图10-15 使用AS_Path Filter对BGP路由进行过滤
当没有使用AS_Path过滤器时,LSW1的原始BGP路由表如下。
[LSW1] display bgp routing-table
BGP Local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 9
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.9/32 0.0.0.0 0 0 i
*> 2.2.2.9/32 10.1.1.2 0 0 65200i
* 10.1.2.2 0 65300 65200i
*> 3.3.3.9/32 10.1.2.2 0 0 65300i
* 10.1.1.2 0 65200 65300i
*> 4.4.4.9/32 10.1.1.2 0 65200 65400i
* 10.1.2.2 0 65300 65400i
*> 5.5.5.9/32 10.1.1.2 0 65200 65400 65500i
* 10.1.2.2 0 65300 65400 65500i
Case1:定义一个AS_Path过滤器s1,只接收AS 65500始发的路由。
[LSW1] ip as-path-filter s1 permit _65500$ //定义一个AS_Path过滤器s1
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s1 import //通过peer命令调用
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s1 import
配置完成后BGP路由表如下:
[LSW1] display bgp routing-table
BGP Local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 3
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.9/32 0.0.0.0 0 0 i
*> 5.5.5.9/32 10.1.1.2 0 65200 65400 65500i
* 10.1.2.2 0 65300 65400 65500i
从以上显示信息可以看出,AS 65500始发的路由被允许,其他路由被拒绝。
Case2:定义一个AS_Path过滤器s2,拒绝AS 65500始发的路由,允许接收其他路由。
[LSW1] ip as-path-filter s2 deny _65500$
[LSW1] ip as-path-filter s2 permit .*
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s2 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s2 import
配置完成后BGP路由表如下:
[LSW1] display bgp routing-table
BGP Local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 7
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.9/32 0.0.0.0 0 0 i
*> 2.2.2.9/32 10.1.1.2 0 0 65200i
* 10.1.2.2 0 65300 65200i
*> 3.3.3.9/32 10.1.2.2 0 0 65300i
* 10.1.1.2 0 65200 65300i
*> 4.4.4.9/32 10.1.1.2 0 65200 65400i
* 10.1.2.2 0 65300 65400i
从以上显示信息可以看出,AS 65500始发的路由被拒绝,其他路由被允许。
Case3:定义一个AS_Path过滤器s3,拒绝经过AS 65400的路由
[LSW1] ip as-path-filter s3 deny _65400_
[LSW1] ip as-path-filter s3 permit .*
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s3 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s3 import
配置完成后BGP路由表如下:
[LSW1] display bgp routing-table
BGP Local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 5
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.9/32 0.0.0.0 0 0 i
*> 2.2.2.9/32 10.1.1.2 0 0 65200i
* 10.1.2.2 0 65300 65200i
*> 3.3.3.9/32 10.1.2.2 0 0 65300i
* 10.1.1.2 0 65200 65300i
从以上显示信息可以看出,经过AS 65400的路由被拒绝,其他路由被允许。
Case4:定义一个AS_Path过滤器s4,拒绝经过AS 65400的路由,其中AS 65400既不是路由的始发AS,也不是路由经过的最后一个AS。
[LSW1] ip as-path-filter s4 deny ._65400_.
[LSW1] ip as-path-filter s4 permit .*
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s4 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s4 import
配置完成后BGP路由表如下:
[LSW1] display bgp routing-table
BGP Local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 7
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.9/32 0.0.0.0 0 0 i
*> 2.2.2.9/32 10.1.1.2 0 0 65200i
* 10.1.2.2 0 65300 65200i
*> 3.3.3.9/32 10.1.2.2 0 0 65300i
* 10.1.1.2 0 65200 65300i
*> 4.4.4.9/32 10.1.1.2 0 65200 65400i
* 10.1.2.2 0 65300 65400i
从以上显示信息可以看出,只有AS_Path的中间AS是65400的路由被拒绝,其他路由被允许。
Case5:定义一个AS_Path过滤器s5,匹配本地始发路由,不接收其他AS的任何路由。
[LSW1] ip as-path-filter s5 permit ^$
[LSW1] bgp 65100
[LSW1-bgp] ipv4-family unicast
[LSW1-bgp-af-ipv4] peer 10.1.1.2 as-path-filter s5 import
[LSW1-bgp-af-ipv4] peer 10.1.2.2 as-path-filter s5 import
配置完成后BGP路由表如下:
[LSW1] display bgp routing-table
BGP Local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.9/32 0.0.0.0 0 0 i
从以上显示信息可以看出,只有AS_Path为空的本地始发路由被允许,其他路由被拒绝。