BGP 路由过滤

拓扑图

实验需求

1)Prefix-list
R3配置实现通告除了10.1.0.0/24和10.1.1.0/24以外的10.1.X.0/24的路由

2)BGP ORF
R2配置实现(1)需求

3)AS-Path-Filter
R3上配置3.3.3.3/32添加as-path 500并通告,R2过滤掉as-path为500的路由

4)Community-Filter
R3配置30.3.3.3携带团体属性200:3,R2过滤掉该属性路由

5)Filter-policy
AR1过滤10.1.x.0/24(x为偶数)的路由

基本配置

配置IP地址

建立BGP邻居

 sysname AR1
#
interface GigabitEthernet0/0/0
 ip address 12.1.1.1 255.255.255.0 
#
interface NULL0
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
#
bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
#
ip route-static 2.2.2.2 255.255.255.255 12.1.1.2
#
sysname AR2
#
interface GigabitEthernet0/0/0
 ip address 12.1.1.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 23.1.1.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 1.1.1.1 next-hop-local 
 peer 23.1.1.3 as-number 200 
 network 1.1.1.1 255.255.255.255 
 #
ip route-static 1.1.1.1 255.255.255.255 12.1.1.1
#
sysname AR3
#
interface GigabitEthernet0/0/0
 ip address 23.1.1.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
#
interface LoopBack1
 ip address 10.1.0.1 255.255.255.0 
#
interface LoopBack2
 ip address 10.1.1.1 255.255.255.0 
#
interface LoopBack3
 ip address 10.1.2.1 255.255.255.0 
#
interface LoopBack4
 ip address 10.1.3.1 255.255.255.0 
#
interface LoopBack30
 ip address 30.3.3.3 255.255.255.255 
#
bgp 200
 peer 23.1.1.2 as-number 100 
 #

查看BGP邻居关系

1)Prefix-list

R3配置实现通告除了10.1.0.0/24和10.1.1.0/24以外的10.1.X.0/24的路由

R3

route-policy D->B permit node 10 
 if-match ip-prefix 10 
#
ip ip-prefix 10 index 10 permit 10.1.0.0 22 greater-equal 24 less-equal 24
#
bgp 200
 import-route direct route-policy D->B
#

查看R2的BGP路由,收到了10.1.X.0/24的路由

R3上过滤掉10.1.0.0/24和10.1.1.0/24路由

R3

ip ip-prefix filter index 10 deny 10.1.0.0 23 greater-equal 24 less-equal 24
ip ip-prefix filter index 20 permit 0.0.0.0 0 less-equal 32
#
bgp 200
 peer 23.1.1.2 ip-prefix filter export
#

查看R3给R2通告的路由,已过滤目标路由

R2上的BGP路由,没有10.1.0.0/24和10.1.1.0/24路由

2)BGP ORF

R2配置实现以上需求

R3上取消过滤策略

R2

ip ip-prefix 10 index 10 deny 10.1.0.0 23 greater-equal 24 less-equal 24
ip ip-prefix 10 index 20 permit 0.0.0.0 0 less-equal 32
#
bgp 100
 peer 23.1.1.3 ip-prefix 10 import
 peer 23.1.1.3 capability-advertise orf ip-prefix send
#

R3

bgp 200
 undo peer 23.1.1.2 ip-prefix export 
 peer 23.1.1.2 capability-advertise orf ip-prefix receive
#

查看AR3通告的BGP路由,没有通告10.1.0.0/24和10.1.1.0/24路由

R2上的BGP路由,没有10.1.0.0/24和10.1.1.0/24路由

3)AS-Path-Filter

R3上配置3.3.3.3/32路由 添加as-path 500并通告,R2过滤掉as-path为500的路由

R3

ip ip-prefix lo index 10 permit 3.3.3.3 32
#
route-policy as permit node 10 
 if-match ip-prefix lo 
 apply as-path 500 500 additive
#
bgp 200
 network 3.3.3.3 255.255.255.255 route-policy as 
#

查看AR2的BGP路由,3.3.3.3/32的路由携带as-path 500

R2配置过滤as-path500结尾的路由

R2

ip as-path-filter 1 deny (500)$
ip as-path-filter 1 permit .*
#
bgp 100
 peer 23.1.1.3 as-path-filter 1 import 
#

查看R2的BGP路由表,过滤了AS 500结尾的路由

as-path filter中的正则表达式

特殊字符

功能

举例

\

转义字符。将下一个字符(特殊字符或者普通字符)标记为普通字符。

\*匹配*

^

匹配行首的位置。

^10匹配10.10.10.1,不匹配20.10.10.1

$

匹配行尾的位置。

1$匹配10.10.10.1,不匹配10.10.10.2

*

匹配前面的子正则表达式零次或多次。

10*可以匹配1、10、100、1000、……(10)*可以匹配空、10、1010、101010、……

+

匹配前面的子正则表达式一次或多次。

10+可以匹配10、100、1000、……(10)+可以匹配10、1010、101010、……

?

匹配前面的子正则表达式零次或一次。

10?可以匹配1或者10

(10)?可以匹配空或者10

.

匹配任意单个字符。

0.0可以匹配0x0、020、……

.oo.可以匹配book、look、tool、……

()

一对圆括号内的正则表达式作为一个子正则表达式,匹配子表达式并获取这一匹配。圆括号内也可以为空。

100(200)+可以匹配100200、100200200、……

x|y

匹配x或y。

100|200匹配100或者2001(2|3)4匹配124或者134,而不匹配1234、14、1224、1334

[xyz]

匹配正则表达式中包含的任意一个字符。

[123]匹配255中的2

[^xyz]

匹配正则表达式中未包含的字符。

[^123]匹配除123之外的任何字符

[a-z]

匹配正则表达式指定范围内的任意字符。

[0-9]匹配0到9之间的所有数字

[^a-z]

匹配正则表达式指定范围外的任意字符。

[^0-9]匹配所有非数字字符

_

匹配一个逗号(,)、左花括号({)、右花括号(})、左圆括号、右圆括号。匹配输入字符串的开始位置。匹配输入字符串的结束位置。匹配一个空格。

_2008_可以匹配2008、空格2008空格、空格2008、2008空格、,2008,、{2008}、(2008)、{2008)、(2008}

4)Community-Filter

R3配置30.3.3.3携带团体属性200:3,R2过滤掉该属性路由

注意:配置通告团体属性

R3

route-policy add_comm permit node 10 
 apply community 200:3 
#
route-policy comm permit node 10 
 apply community 200:3 
#
bgp 200
 network 30.3.3.3 255.255.255.255 route-policy add_comm 
 peer 23.1.1.2 advertise-community
#

查看R2关于30.3.3.3/32的路由,携带团体属性200:3

R2上过滤掉携带团体属性200:3的路由

R2

ip community-filter 1 deny 200:3
ip community-filter 1 permit
#
route-policy filter_comm permit node 10 
 if-match community-filter 1 
#
bgp 100
  peer 23.1.1.3 route-policy filter_comm import
#

查看R2的BGP路由表,携带200:3团体属性(30.3.3.3/32)的路由被过滤

5)Filter-policy

AR1过滤10.1.x.0/24(x为偶数)的路由

AR1的BGP路由表

AR1过滤10.1.x.0/24(x为偶数)的路由

R1

acl number 2000  
 rule 5 deny source 10.1.0.0 0.0.254.0 
 rule 10 permit 
#
bgp 100
  peer 2.2.2.2 filter-policy 2000 import
#

查看R1的BGP路由表,10.1.x.0/24(x为偶数)的路由已被过滤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值