前面我们学习了过滤策略,通过路由匹配工具匹配到的路由进行过滤,今天我们继续学习下Route-Policy路由策略。
一、Route-Policy路由策略
Route-Policy是一个策略工具,用于过滤路由信息,以及为过滤后的路由信息设置路由属性。一个Route-Policy由一个或多个节点(Node)构成,每个节点都可以是一系列条件语句(匹配条件)以及执行语句(执行动作)的集合,这些集合按照编号从小到大的顺序排列。
注意:路由策略针对的是路由信息,与后面的策略路由不一样。
当使用Route-Policy时,Node的值小的节点先进行匹配。一个节点匹配成功后,路由将不再匹配其他节点。全部节点匹配失败后,路由将被过滤。
路由策略:
-
permit或deny:指定Route-Policy节点的匹配模式为允许或拒绝。 -
node:指定Route-Policy的节点号。整数形式,取值范围是0~65535。 -
if-match子句:定义该节点的匹配条件。 -
apply子句:定义针对被匹配路由执行的操作。
简单说就是在路由策略里面 通过node节点匹配顺序,一个节点可以有多个if-match条件语句和apply语句,节点内的多个条件语句之间的关系为"与",即匹配所有条件语句才会执行本节点内的动作。 节点之间的关系为"或",route-policy根据节点编号大小从小到大顺序执行,匹配中一个节点将不会继续向下匹配。
匹配顺序:
在一个节点中,如果没有配置apply子句,则该节点仅起过滤路由的作用。如果配置一个或多个apply子句,则通过节点匹配的路由将执行所有apply子句。
二、基本配置命令
# 创建Route-Policy
[Huawei] route-policy route-policy-name { permit | deny } node node
# (可选)配置if-match子句
[Huawei-route-policy] if-match ?
acl 匹配基本ACL
cost 匹配路由信息的cost
interface 匹配路由信息的出接口
ip-prefix 匹配前缀列表
# (可选)配置apply子句
[Huawei-route-policy] apply ?
cost 设置路由的cost
cost-type {type-1 | type-2} 设置OSPF的开销类型
ip-address next-hop 设置IPv4路由信息的下一跳地址
preference 设置路由协议的优先级
tag 设置路由信息的标记域
三、实验配置
关于路由策略大致有几种使用方式:
-
针对整个节点的模式permit/deny,默认如果没有if-match和apple则表示允许所有或者拒绝所有
# 如果只定义了一个permit则表示允许所有路由通过该节点
route-policy test permit node 10
-
只定义节点和if-match语句可以用来过滤路由
# 匹配前缀列表
ip ip-prefix 1 index 20 permit 192.168.2.0 24 greater-equal 24 less-equal 32
# 配置路由策略,节点10满足前缀列表1则允许放行,节点20满足acl 2000则放行,其它的默认拒绝
route-policy test permit node 30
if-match ip-prefix 1
#
route-policy test permit node 40
if-match acl 2000
# 在IS-IS中引入ospf路由时调用路由策略
isis 1
is-level level-2
network-entity 49.0001.0000.0002.00
import-route ospf 1 route-policy test
-
用于修改路由属性,这种用法需要配合节点模式,条件语句,动作语句实现修改属性,常用于BGP、OSPF等
# 配置路由策略,满足acl 2000则给路由添加一个tag属性,后续也可以根据tag进行过滤
route-policy deny1 permit node 40
if-match acl 2000
apply cost 100
# 调用路由策略前,cost为74
<AR3>dis ip routing-table 1.1.1.1 verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination: 1.1.1.1/32
Protocol: ISIS-L2 Process ID: 1
Preference: 15 Cost: 74
NextHop: 10.1.23.2 Neighbour: 0.0.0.0
State: Active Adv Age: 00h00m48s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: D
# 调用路由策略后,Cost为137
<AR3>dis ip routing-table 1.1.1.1 verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination: 1.1.1.1/32
Protocol: ISIS-L2 Process ID: 1
Preference: 15 Cost: 137
NextHop: 10.1.23.2 Neighbour: 0.0.0.0
State: Active Adv Age: 00h00m03s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: D
总结:Route-Policy是一个策略工具,用于过滤路由信息,以及为过滤后的路由信息设置路由属性。路由策略按照节点顺序匹配,根据匹配模式、条件语句、动作语句可以实现路由过滤、路由属性修改。由于路由策略可以调用ACL、前缀列表等,因此具有灵活性需要综合考虑各节点关系与顺序。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布