09、路由策略与路由控制

路由控制概述

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

  • 控制路由的发布:通过路由策略对发布的路由进行过滤,只发布满足条件的路由。
  • 控制路由的接收:通过路由策略对接收的路由进行过滤,只接收满足条件的路由。
  • 控制路由的引入:通过路由策略控制从其他路由协议引|入的路由条目,只有满足条件的路由才会被引入。

image-20241006133525971

路由匹配工具

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

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

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

image-20241006133936625

ACL应用举例:

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

image-20241006134108887

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

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

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

image-20241006134434779

序号一般以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的匹配示例

image-20241006135640774

IP-Prefix一些特殊用法

image-20241108104223173

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也能过滤。

image-20250216100359860

在IS-IS中的应用

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

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

image-20250216100538823

配置命令

  1. 在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 协议 【进程号】
  1. 在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 协议 【进程号】
  1. 在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)构成,每个节点都可以是一系列条件语句(匹配条件)以及执行语句(执行动作)的集合,这些集合按照编号从小到大的顺序排列。

  • 多个条件语句之间的关系为“与”。
  • 一个条件语句中多个条件的关系为“或”。
  • 不写条件代表匹配任意。

image-20241006141059931

(1)Route-Policy的组成

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

  • permit或deny:指定Route-Policy节点的匹配模式为允许或拒绝。
  • node:指定Route-Policy的节点号。整数形式,取值范围是0~65535。
  • if-match子句:定义该节点的匹配条件。
  • apply子句:定义针对被匹配路由执行的操作。

image-20241006141330050

(2)Route-Policy的匹配顺序

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

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

image-20241006141839755

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

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

1、创建Route-Policy

# 创建路由策略,并进入Route-Policy视图
[Huawei]route-policy route-policy-name {permit | deny} node node-number

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

image-20241006142218046

3、(可选)配置apply子句

image-20241006142258002

示例

# 双点双向中解决路由环路
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
posted @ 2025-05-28 11:55  最爱喝开水  阅读(123)  评论(0)    收藏  举报