09、路由策略与路由控制

  • Home
  • 09、路由策略与路由控制
  • By: admin

路由控制概述

路由控制可以通过路由策略(Route-Policy)实现,路由策略应用灵活而广泛,有以下几种常见方式:

控制路由的发布:通过路由策略对发布的路由进行过滤,只发布满足条件的路由。

控制路由的接收:通过路由策略对接收的路由进行过滤,只接收满足条件的路由。

控制路由的引入:通过路由策略控制从其他路由协议引|入的路由条目,只有满足条件的路由才会被引入。

路由匹配工具

匹配工具:访问控制列表ACL

访问控制列表(Access Control List,ACL)是一个匹配工具,能够对报文及路由进行匹配和区分。

ACL按照规则编号从小到大匹配,默认从5开始,步长为5,一但匹配成功就结束匹配。

ACL应用举例:

ACL只能匹配路由的前缀,无法匹配路由的网络掩码。例如,在下图(最左边)中,如果有一条1.1.2.0/30的路由,它也能匹配成功;1.1.2.8/30也能匹配成功。

匹配工具:IP-Prefix前缀列表

IP前缀列表(IP-Prefix List)是将路由条目的网络地址、掩码长度作为匹配条件的过滤器,可在各路由协议发布和接收路由时使用。

不同于ACL,IP-Prefix List能够同时匹配IP地址前缀长度以及掩码长度,增强了匹配的精确度。

序号一般以10为步长,10、20、30等。

# 精确匹配192.168.1.0 22这条路由

ip ip-perfix test index 10 permit 192.168.1.0 22

# 严格匹配192.168.1.0的前22位,掩码长度可以在24~32范围内(包括24和32)

ip ip-perfix test index 10 permit 192.168.1.0 22 greater-equal 24

# 严格匹配192.168.1.0的前22位,掩码长度可以在22~26范围内(包括22和26)

ip ip-perfix test index 10 permit 192.168.1.0 22 less-equal 26

# 严格匹配192.168.1.0的前22位,掩码长度可以在24~26范围内(包括24和26)

ip ip-perfix test index 10 permit 192.168.1.0 22 greater-equal 24 less-equal 26

IP-Prefix的匹配机制

顺序匹配、唯一匹配(匹配到一条就不再继续往下匹配)、默认拒绝。

IP-Prefix的匹配示例

IP-Prefix一些特殊用法

IP-Prefix和ACL的区别

(1)产生背景

ACL的产生最初目的是为了过滤数据包而诞生的

IP-Prefix的产生是用于精确匹配路由条目

(2)实现功能

ACL既可以用来匹配路由,又可以用来过滤数据包

IP-Prefix只能用来匹配路由,不能用于过滤数据包。

(3)匹配路由精确度

ACL不能进行精确匹配路由,匹配路由时只能匹配路由的网络号,但无法匹配掩码。

地址前缀列表比ACL更灵活,可以精确匹配路由,对于前缀相同而掩码不同的路由可以精确匹配

路由策略工具

策略工具:Filter-Policy(过滤-策略)

Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。

在OSPF中的应用

filter-policy import命令对接收的路由设置过滤策略,只有通过过滤策略的路由才被添加到路由表中,没有通过过滤策略的路由不会被添加进路由表,但不影响对外发布出去。

通过filter-policy export命令对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为Type5 LSA(AS-external LSA)并发布出去。

filter-policy import命令实际上是对OSPF计算出来的路由进行过滤,不是对发布和接收的LSA进行过滤。

考点:filter-Policy只能过滤本地始发的5类LSA,有些特殊的3类LSA也能过滤。

在IS-IS中的应用

与OSPF相似,filter-policy import命令只会对本地的路由表产生影响,不会将匹配的路由加入到路由表,不会影响本地设备的LSP的扩散和LSDB的同步。

缺省情况下,设备将把引入的全部外部路由发布给IS-IS邻居。如果只希望将引入的部分外部路由发布给邻居,可以使用filter-policy export命令实现。

配置命令

在OSPF中的应用

按照过滤策略,设置OSPF对接收的路由进行过滤。

[Huawei-ospf-100] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name [ secondary ] } import

# 示例

filter-policy 匹配规则 import

# 匹配acl 2001

filter-policy 2001 import

# 匹配命名型acl text1

filter-policy acl-name text1 import

# 匹配IP前缀列表 text2

filter-policy ip-prefix text2 import

# 匹配路由策略 text3

filter-policy ip-prefix text3 import

按照过滤策略,设置对引入的路由在向外发布时进行过滤。

[Huawei-ospf-100] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route policy route-policy-name } export [ protocol [ process-id ] ]

# 示例

filter-policy 匹配规则 export 协议 【进程号】

在IS-IS中的应用

配置IS-IS路由加入IP路由表时的过滤策略。

[Huawei-isis-1] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route policy-name } import

# 示例(同ospf)

filter-policy 匹配规则 import

配置IS-IS对已引入的路由在向外发布时进行过滤的过滤策略。

[Huawei-isis-1] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route policy-name } export [ protocol [ process-id ] ]

# 示例(同ospf)

filter-policy 匹配规则 export 协议 【进程号】

在BGP中的应用

配置对接收的路由信息进行过滤。

[Huawei-bgp-af-ipv4] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name } import

# 示例

filter-policy 匹配规则 import

配置对发布的路由进行过滤,只有通过过滤的路由才被BGP发布。

[Huawei-bgp-af-ipv4] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix name } export [ protocol [ process-id ] ]

# 示例

filter-policy 匹配规则 export 协议 【进程号】

配置向对等体(组)发布或从对等体(组)接收路由时的过滤策略。

[Huawei-bgp-af-ipv4] peer { group-name | ipv4-address } filter-policy { acl-number | acl-name acl-name } { import | export }

策略工具:Route-Policy

Route-Policy是一个策略工具,用于过滤路由信息,以及为过滤后的路由信息设置路由属性。

一个Route-Policy由一个或多个节点(Node)构成,每个节点都可以是一系列条件语句(匹配条件)以及执行语句(执行动作)的集合,这些集合按照编号从小到大的顺序排列。

多个条件语句之间的关系为“与”。

一个条件语句中多个条件的关系为“或”。

不写条件代表匹配任意。

(1)Route-Policy的组成

Route-Policy由一个或多个节点构成,每个节点包括多个if-match和apply子句。

permit或deny:指定Route-Policy节点的匹配模式为允许或拒绝。

node:指定Route-Policy的节点号。整数形式,取值范围是0~65535。

if-match子句:定义该节点的匹配条件。

apply子句:定义针对被匹配路由执行的操作。

(2)Route-Policy的匹配顺序

路由策略使用不同的匹配条件和匹配模式选择路由改变路由属性。

默认动作也是拒绝(未全部匹配成功就拒绝通过)。

由上图可以看出,只有当节点的匹配模式为premit时,才会执行apply。

(3)Route-Policy的基础配置命令

1、创建Route-Policy

# 创建路由策略,并进入Route-Policy视图

[Huawei]route-policy route-policy-name {permit | deny} node node-number

2、(可选)配置if-match子句

3、(可选)配置apply子句

示例

# 双点双向中解决路由环路

route-policy i2o deny node 10

if match tag 400

route-policy i2o premit node 20

apply tog 300

[AR2-ospf-1]import-route isis route-policy i2o