路由策略/控制 配置双点双向路由重发布
2026/7/18 5:21:17 网站建设 项目流程

路由控制的目的

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

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

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

路由匹配工具

路由匹配工具有ACL 和ip-prefix(IP前缀)两种

ip前缀列表命令

1)ip-prefix-name:

地址前缀列表名称,,,prefix--前缀

2)序号

本匹配项在地址前缀列表中的序号,匹配时根据序号从小到大顺序匹配

3)动作

permit/deny,地址前缀列表的匹配模式为允许/拒绝,,表示匹配/不匹配

4)IP网段与掩码

路由匹配的网络地址,以及限定匹配网络地址的前多少位需严格匹配

5)掩码范围

匹配路由前缀长度,掩码长度的匹配范围为 mask-length<=greater-equal-value<=less-equal-value<=32

掩码基础长度(mask-length) ≤ ge最小值(greater-equal-value) ≤ le最大值(less-equal-value) ≤ 32

IP ip-prefix test index 10 permit 192.168.1.0 24 greater-equal 24 less-equal 26

前缀列表名 序号 动作 ip网段与掩码, 掩码范围

ip ip‑prefix 名字 permit 网络 N ge M le L

  • N:路由的前 N 个比特必须和命令里的网络前缀保持一致
  • ge‑M、le‑L 用来限定路由总的掩码长度范围:掩码;
  • 参数省略规则:
    • 省略le L:默认 L=32;
    • 省略ge M:默认 M=N;
    • ge、le 全都省略:掩码必须严格等于 N,仅匹配这一条路由;
  • 硬性语法约束:N≤M≤L≤32,不满足该条件命令直接报错。
  • greater‑equal:简写ge,规定路由实际掩码的最小值;
  • less‑equal:简写le,规定路由实际掩码最大值。

注意:前缀列表的规则自动以10为步调生成

注意:末尾隐含一条拒绝所有的规则,ip‑prefix 末尾隐含deny 0.0.0.0 0

[r1]ip ip-prefix aa permit 192.168.1.0 24 less-equal 28抓取掩码24.25.26.27.28网段的流量

[r1]ip ip-prefix aa permit 192.168.1.0 24 greater-equal 28抓取的是掩码大于等于28,前面的数 字代表的是前24位不变,后面的数字代表掩码

[r1]ip ip-prefix aa permit 192.168.0.0 16 greater-equal 24 less-equal 24

[r1]ip ip-prefix aa permit 0.0.0.0 0 greater-equal 32---抓取的是所有主机路由

[r1]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32---抓取所有

[r1]ip ip-prefix aa permit 0.0.0.0 0 ---抓取缺省路由

路由策略工具

路由策略是一套对路由条目做「过滤、修改属性、控制发布 / 接收」的工具,用来人为干预路由的传递与优选,实现路由控制、流量调度、防环路、业务隔离。

路由策略工具主要有filter-policy(过滤策略)route-policy(路由策略)两种

filter-policy

前置规则:IP 前缀列表末尾自带隐含 deny 所有,所有未被 permit 语句匹配到的路由,都会触发过滤动作,下文描述均针对被策略 deny 匹配的路由

距离矢量路由协议(RIP)中 filter-policy 逻辑

filter-policy import :直接拦截邻居发送过来的路由更新报文,本机不会接收这条路由,该路由不会存入本地路由表;上游发送的路由直接被丢弃,全网其他设备也无法通过本机获取该网段。

filter-policy export:拦截本机发往邻居的路由更新报文,本机不会将这条路由发布给邻居;下游邻居无法学习到该网段路由。

补充:匹配 permit 的路由不受任何拦截,正常收发、正常加入路由表。

链路状态路由协议(OSPF)中 filter-policy 逻辑

filter-policy import :OSPF 的 LSA 会完整全网泛洪,所有设备的链路状态数据库 LSDB 完全同步,过滤策略不会拦截任何 LSA;

本地设备运行 SPF 算法计算出全部路由后,仅对 deny 路由执行屏蔽,不把该路由写入本机 IP 路由表,同区域其他设备不受影响,依旧能在自身路由表看到该网段。

补充:匹配 permit 的路由,计算完成后正常写入本地路由表。

filter-policy export :仅对通过 import-route 从其他协议引入的外部路由生效,对 OSPF 原生 1、2、3 类内部 / 区域间 LSA 完全无效;

匹配 permit 的外部路由,才会生成 5 类 / 7 类外部 LSA 向外泛洪;

匹配 deny 的外部路由,不会生成对应的外部 LSA,整条外部路由不会在 OSPF 域内传递。

协议类型命令完整作用(区分 permit/deny)核心特点(背诵考点)
距离矢量(RIP)filter-policy import

入方向过滤邻居发来的路由更新

匹配 permit:接收路由,加入路由表

匹配 deny:直接丢弃更新,不接收该路由

拦截路由更新报文;拒绝的路由本机完全收不到,上下游全网受影响
距离矢量(RIP)filter-policy export

出方向过滤发给邻居的路由

匹配 permit:向邻居发布这条路由

匹配 deny:拦截报文,不向邻居发布

拦截发布报文;下游邻居无法学习到被拒绝网段
链路状态(OSPF)filter-policy import

LSA 正常泛洪,本地 SPF 算出全部路由后再过滤

匹配 permit:正常写入本机路由表

匹配 deny:算出路由但不写入本机路由表

LSA 全网完整同步,其他设备不受影响,仅本机看不到 deny 路由
链路状态(OSPF)filter-policy export

仅针对import-route重分布外部路由

匹配 permit:生成 5/7 类外部 LSA 泛洪

匹配 deny:不生成外部 LSA,外部路由不发布

对内网 1/2/3 类 LSA 无任何过滤效果,只管跨协议引入的外部路由

route-policy

步骤大致可分为node---->rule--->action

  1. 前缀列表:
  • P1:匹配 192.168.1.0/24;
  • P2:匹配 192.168.2.0/24;
  • P3:匹配剩下网段。
  1. route‑policy 策略 RP‑TEST:
  • node10:匹配 192.168.1.0/24,cost 改为 20,允许通过;
  • node20:拒绝 192.168.2.0/24;
  • node30:放行其余全部路由;
  1. 在 OSPF 引入静态路由调用该策略。
#1、配置前缀列表 ip ip-prefix P1 index 10 permit 192.168.1.0 24 ip ip-prefix P2 index 10 permit 192.168.2.0 24 #2、配置route‑policy route-policy RP-TEST permit node 10 if-match ip-prefix P1 apply cost 20 route-policy RP-TEST deny node 20 if-match ip-prefix P2 #deny节点里面就算写apply也不会生效 route-policy RP-TEST permit node 30 #没有if‑match代表匹配所有剩余路由,apply不配置,属性保持原样 #3、调用策略(OSPF引入静态路由) ospf 1 import-route static route-policy RP-TEST

route--policy的结构

一个路由策略由一个或多个结点构成,每个结点包括多个if-match和apply子句。

1)节点号

一个路由策略可以由多个结点(node)构成,路由匹配route-policy时遵循以下两个规则

Ⅰ)顺序匹配

在匹配过程中,系统按照节点号从小到大的顺序依次检查各个表项,因此在指定节点号时,要注意符合期望的匹配顺序

Ⅱ)唯一匹配

route-policy各结点号间是“或”的关系,只有通过一个结点匹配,,就认为通过该过滤器,不再进行其他结点的匹配。

2)匹配模式

结点的匹配模式分为两种:permit和deny

Ⅰ)perimit--允许

指定结点的匹配模式为允许。当路由项通过该结点过滤后,将执行该结点的apply(应用)子句,不进入下一个结点;如果路由项没有通过该结点过滤,将进行下一节点继续匹配

Ⅱ)deny--拒绝

指定结点的匹配模式为拒绝,这时apply子句不会被执行。当路由项满足该结点的所有if-match子句时,,将被拒绝通过该结点,不能进入下一结点;如果路由项不满该结点的所有if-match子句,则进入下一个结点继续匹配。

3)if-match子句

定义匹配条件

route-policy的每一个节点都可以包含多个if-match子句,也可以不包含。

4)apply子句

指定动作

路由通过route-policy过滤时,系统按照apply子句指定的动作对路由信息进行一些属性设置route-policy的每个结点可包含多个apply子句,也可以不包含。只需要过滤路由时,不需要设置路由的属性,则可以不用apply子句

5)goto next-node子句

用来设置路由对通过当前结点匹配后,跳转到指定的结点继续匹配

策略路由--PBR

Policy-Based Routing,策略路由让网络设备不仅能够基于报文的目的IP地址进行数据转发,更能基于其他元素进行数据转发:源目端口号,原目MAC地址。。。。。。

区别

路由策略:

针对路由信息,是一套用于对路由信息进行过滤、属性设置等操作的方法,通过对路由的操作或控制,来影响数据报文的转发路径

PBR

针对数据报文,PBR直接对数据报文进行操作,通过多种手段匹配感兴趣的报文,然后执行丢弃或强制转发路径等操作

PBR分类

1)接口PBR

Ⅰ)接口PBR只针对转发的报文起作用,对本地始发的报文无效

Ⅱ)接口PBR调用在接口下,对接口的入方向报文生效,默认设备按照路由表的下一跳进行报文转发,如果配置了接口PBR,则设备按照接口PBR指定的下一跳进行转发。

2)本地PBR

Ⅰ)本地PBR对本地始发流量有效

Ⅱ)本地PBR在系统视图中调用

MQC

MQC是模块化Qos命令行,指通过将具有某类共同特征的数据流划分一类,并为同一类数据流提供相同的服务,也可以为不同类的数据流提供不同的服务。

MQC三要素

1)流分类

配置流分类,用于匹配感兴趣的数据流

可基于VLANTag、acl规则、DSCP等

2)流行为

将感兴趣的报文进行重定向

可以设置重定向的下一跳IP地址或者出接口

3)流策略

在接口的入方向应用流策略

在属于该VLAN并匹配流分类中规则的入方向报文实施策略控制

在全局或板卡上应用流策略

路由策略__filter-policy--- 过滤策略实验

目的:通过过滤策略控制对路由信息的写入

三台路由器OSPF宣告,连通

所有路由已经连通,通过ospf宣告路由

设置1.0/24为主网段,2.0/24,3.0/24为次网段

在接口视图下启用 OSPF,把 LoopBack0 接口划入 Area 0 区域;等价于在 OSPF 进程下用network宣告该接口网段。

ospf network‑type broadcast

  1. LoopBack 接口默认 OSPF 网络类型为Loopback
    • 默认情况下:无论你配置的 IP 掩码是 / 24,OSPF 发布路由强制变成/32 主机路由
  2. 修改为broadcast(广播型)之后:
    • OSPF 会按照接口配置的实际掩码向外发布路由,例如192.168.4.1/24就发布 24 位网段;
    • 同时广播网络类型会发送 Hello 报文,可以建立邻居(Loopback 默认不会发 Hello 报文)。

查看R2上的OSPF路由表

查看R3OSPF路由表

此时R2,R3都有1.0 2.0 3.0 网段的路由信息

filter-policy配置

现在通过filter-policy实现在R2上看不到192.168.1.0这条路由,但是能在R3上看到

前缀列表命令

ip ip-prefix 前缀名 index 序号值 动作 IP网段 掩码 掩码范围

在R2 的ospf中调用过滤策略,

匹配 permit 的三个网段:计算出来之后,正常加入 R2 的路由表

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

此时R2的全局路由表中没有1.0/24网段路由,R2的OSPF路由表中仍有,但是R3全局路由表中有。

原因:

在链路状态协议中,各路由设备间传递的是LSA信息,然后设备根据LSA汇总的LSDB信息计算出路由表。但是filter-policy只能过滤路由信息,无法过滤LSA

撤销R1上对1.0,2.0,3.0的路由通告,改为引入直连,但要保证R2,R3上只能收到1.0/24这条路由

R2路由表,R3同样的

通过filter-policy让R2.R3只能收到1.0这条路由

此时

原因:

OSPF引入外部路由后,为了避免产生路由环路,在发布时通过filter-policy export命令对引入路由进行过滤,只将满足条件的外部路由转换为Type5 LSA 再发布

当网络上同时部署了OSPF和其他路由协议时,如果已经再边界设备上引入了其他路由协议的路由,在默认情况下,该设备将把引入的全部外部路由发布给OSPF邻居。如果只希望将引入的部分外部路由发布给邻居,可以使用filter-policy export命令

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询