route-map配合bgp、ospf

通过acl或前缀列表,把需要学习的路由匹配出来

注意:

1)匹配路由条目的工具有acl和前缀列表两种,只要选择其中一种就可以

2)若需要匹配一个网段下的几个子网路由,那么用前缀列表会更方便一线,当然用acl也是可以的,只是要写多个条目

如下示例,匹配路由条目172.16.1.32/27、172.16.1.48/28和172.16.1.56/29,acl需要写3个ace条目,前缀列表只要1个条目

1)使用acl匹配路由条目

注意:

此处acl匹配的是路由条目,掩码用0.0.0.0精确匹配对应的路由条目

R2(config)#ip access-list standard 1

R2(config-std-nacl)#10 permit 172.16.1.32 0.0.0.0

R2(config-std-nacl)#20 permit 172.16.1.48 0.0.0.0

R2(config-std-nacl)#30 permit 172.16.1.56 0.0.0.0

R2(config-std-nacl)#exit

2)使用前缀列表匹配路由条目

注意:

1)前缀列表只能用来匹配路由条目,不能用来做数据包过滤

2)前缀列表匹配的是一个网段下的子网,ge代表大于等于多少位掩码,le代表小于多少位掩码

3)前缀列表也是从上往下匹配,与acl的匹配顺序及规则是一样的

R2(config)#ip prefix-list ruijie seq 10 permit 172.16.1.0/24 ge 28 le 30   //定义前缀列表ruijie,匹配前缀为172.16.1.0/24,子网掩码大于等于28小于等于30的路由条目

配置route-map

注意:

1)route-map除了可以用来做路由过滤,还能够修改路由的属性

2)route-map可以match的条件比较多(包括 路由条目、metric、metric-type等条件),distribute-list只能匹配路由条目

3)route-map的执行顺序从上到下,最后隐含一条deny any

4)route-map的执行逻辑如下:

route-map aaa permit 10
match x y z    //多个match条件横着写,是or的关系,只要满足其中一个条件,该match语句就算匹配
match a
set b   //多个set语句竖着写,会同时执行多个set动作
set c

route-map aaa permit 20
match p

   match q       //多个match条件竖着写,是and的关系,要多个条件同时满足,该match语句才算匹配
set r

route-map aaa deny any (系统隐含)

执行逻辑如下:

 If (x or y or z)
then set(b and c)
else if (p and q)
then set r
else deny

实例:

某台锐捷路由器R

ip access-list standard 1 #设置acl 1号抓取流量
10 permit 192.168.0.0 0.0.0.255

route-map x4 permit 10 #创建路由策略,调用1号acl,动作为修改Preferred-value为200
match ip address 1
set weight 200

route-map x4 permit 20 #设置空节点,一定需要,否则默认拒绝掉所有流量

router bgp 200 #进入bgp中对R3调用策略,根据选路规则将选择Preferred-value值大的

neighbor 3.3.3.3 route-map x4 in
————————————————

 

版权声明:本文内容由互联网用户撰写,该文观点仅代表作者本人。本站爱分享仅提供分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请立马联系本站,本站将立刻删除。
THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭