视频加载失败

路由策略与策略路由

5638 字
28 分钟
路由策略与策略路由

路由策略与策略路由#

HCIP-Datacom 核心知识点 | 控制平面与转发平面的流量操控工具集

一、路由策略概述#

1.1 基本概念#

路由策略(Routing Policy) 是一组用于控制路由的引入、发布和接收的规则集合,通过匹配特定条件对路由进行过滤或属性修改,从而实现对网络路由行为的精细化控制。

核心作用:

  • 过滤路由:控制哪些路由能够被接收、发布或引入
  • 修改路由属性:调整Cost、Local_Pref、MED、AS_Path、Community等属性
  • 控制路由选路:通过属性修改间接影响路由优选结果
  • 路由引入控制:在多协议互引时精确控制引入范围

1.2 路由策略 vs 策略路由(PBR) 🏷️高频考点#

对比维度路由策略(Routing Policy)策略路由(PBR)
作用层面控制平面(Control Plane)转发平面(Forwarding Plane)
影响对象路由表(哪些路由能进入路由表)数据包转发路径
是否改变路由表
是否改变转发路径间接影响(通过改变路由表)直接影响
匹配对象路由条目(前缀、掩码、属性)数据包(源/目IP、端口、长度等)
典型工具Filter-Policy / Route-Policypolicy-based-route
生效时机路由学习/发布阶段报文转发阶段

匹配成功

匹配失败

数据包入接口

是否配置PBR?

PBR匹配

执行apply动作转发

查路由表转发

出接口

匹配成功

匹配失败

数据包入接口

是否配置PBR?

PBR匹配

执行apply动作转发

查路由表转发

出接口


二、路由策略工具体系 🏷️高频考点#

华为VRP提供多种路由策略工具,按功能可分为三大类:匹配工具过滤工具属性操纵工具

工具作用层面功能典型场景
Filter-Policy路由过滤过滤路由(接收/发布方向)OSPF/IS-IS/BGP路由过滤
Route-Policy路由过滤+属性操控过滤路由+修改属性BGP属性操控、路由引入
IP-Prefix(Prefix-List)前缀匹配匹配IP前缀(比ACL更精确)配合Filter-Policy/Route-Policy
ACL地址匹配匹配数据包/路由IP配合Filter-Policy使用
AS-Path-FilterAS_Path匹配匹配BGP AS_Path属性BGP路由过滤
Community-FilterCommunity匹配匹配BGP Community属性BGP路由过滤
Ext-Community-Filter扩展Community匹配匹配RT/RD属性VPN场景
Route-Import(import-route)路由引入将一个协议路由引入另一个协议OSPF引入直连/BGP引入OSPF

2.1 工具间的调用关系#

应用场景

过滤/操控工具

匹配工具

IP-Prefix

ACL

AS-Path-Filter

Community-Filter

Filter-Policy

Route-Policy

OSPF/IS-IS

BGP

Import-Route

应用场景

过滤/操控工具

匹配工具

IP-Prefix

ACL

AS-Path-Filter

Community-Filter

Filter-Policy

Route-Policy

OSPF/IS-IS

BGP

Import-Route

关键区别:Filter-Policy 只能过滤路由,不能修改属性;Route-Policy 既能过滤路由,也能修改属性。


三、Filter-Policy 详解 🏷️高频考点#

3.1 Filter-Policy 原理#

  • 功能定位:仅用于过滤路由,不能修改路由属性
  • 应用方向
    • import(接收方向):从邻居/协议收到的路由先过滤再加入路由表
    • export(发布方向):从路由表选出路由过滤后再发布给邻居
  • 匹配条件:可调用ACL、IP-Prefix、Gateway等

3.2 各协议中 Filter-Policy 的行为差异 🏷️高频考点#

不同协议中Filter-Policy的过滤效果不同,这是考试高频考点:

协议import方向export方向
OSPF过滤从LSDB计算出的路由加入路由表(不影响LSDB控制ABR产生的Type-3 LSA(只对ABR生效
IS-IS过滤LSP转化的路由(不影响LSP数据库)控制发布的LSP
BGP过滤从Peer收到的BGP路由过滤向Peer发布的BGP路由

⚠️ OSPF关键点:在OSPF中,Filter-Policy import方向只影响本路由器路由表,不影响LSDB的完整性和LSA泛洪;export方向仅对ABR上Type-3 LSA生效,无法过滤Type-1/2/5 LSA。

3.3 Filter-Policy 配置命令#

Terminal window
# OSPF中使用Filter-Policy(调用ACL)
acl 2000
rule permit ip source 10.1.1.0 0.0.0.255
rule deny ip source 10.2.0.0 0.0.255.0
#
ospf 1
filter-policy 2000 import # 接收方向过滤(ACL 2000)
filter-policy 2000 export # 发布方向过滤(仅ABR对Type-3 LSA生效)
# OSPF中使用Filter-Policy(调用IP-Prefix)
ip ip-prefix PREFIX1 index 10 permit 10.1.1.0 24
ip ip-prefix PREFIX1 index 20 permit 10.2.0.0 16 less-equal 24
#
ospf 1
filter-policy ip-prefix PREFIX1 import
# IS-IS中使用Filter-Policy
isis 1
filter-policy 2000 import
filter-policy 2000 export
# BGP中使用Filter-Policy(按Peer)
bgp 100
peer 10.1.1.2 as-number 200
peer 10.1.1.2 filter-policy 2000 import
peer 10.1.1.2 filter-policy ip-prefix PREFIX1 export
# BGP中使用Filter-Policy(全局)
bgp 100
filter-policy 2000 import
filter-policy ip-prefix PREFIX1 export

3.4 Filter-Policy 匹配逻辑#

permit

deny

未匹配任何规则

收到/发布路由

调用Filter-Policy

ACL/Prefix匹配?

接收/发布该路由

过滤该路由

默认deny: 过滤

permit

deny

未匹配任何规则

收到/发布路由

调用Filter-Policy

ACL/Prefix匹配?

接收/发布该路由

过滤该路由

默认deny: 过滤

注意:ACL在Filter-Policy中,permit表示允许该路由,deny表示拒绝该路由。ACL默认最后隐含deny any,未明确匹配的路由将被过滤。


四、IP-Prefix(Prefix-List)详解 🏷️高频考点#

4.1 IP-Prefix 原理#

IP-Prefix List 是专门为路由前缀匹配设计的工具,相比ACL具有以下优势:

  • 精确指定掩码长度:ACL只能用通配符匹配IP,无法精确控制掩码
  • 支持掩码范围匹配:可通过 greater-equal / less-equal 指定掩码长度范围
  • 匹配对象明确:匹配的是路由前缀(网络号+掩码),而非数据包IP

4.2 ACL vs IP-Prefix 对比 🏷️高频考点#

对比项ACLIP-Prefix
匹配对象数据包IP地址(可匹配源/目的)路由前缀(网络号+掩码)
掩码控制通配符掩码,无法精确指定前缀长度可精确指定,也可指定范围
灵活性通配符灵活性高但不够精确掩码范围匹配更精确
适用场景数据包过滤、简单路由过滤路由过滤(推荐)
命令acl + ruleip ip-prefix

4.3 匹配规则详解#

命令格式:

ip ip-prefix prefix-name [ index index-number ] { permit | deny } ip-address mask-length [ greater-equal min-length ] [ less-equal max-length ]

匹配逻辑:

  • ip-address mask-length:精确匹配指定前缀和掩码
  • greater-equal min-length:掩码长度最小值
  • less-equal max-length:掩码长度最大值
  • 规则:mask-length <= greater-equal <= less-equal <= 32

4.4 IP-Prefix 配置示例#

Terminal window
# 1. 精确匹配 10.1.1.0/24
ip ip-prefix PREFIX1 index 10 permit 10.1.1.0 24
# 2. 匹配 10.0.0.0/8 到 10.255.255.0/16(掩码长度8~16)
ip ip-prefix PREFIX2 index 10 permit 10.0.0.0 8 less-equal 16
# 3. 匹配所有掩码长度为 /24 的路由
ip ip-prefix PREFIX3 index 10 permit 0.0.0.0 0 less-equal 24
# 4. 匹配所有 /8 到 /24 的路由
ip ip-prefix PREFIX4 index 10 permit 0.0.0.0 8 less-equal 24
# 5. 匹配默认路由 0.0.0.0/0
ip ip-prefix DEFAULT index 10 permit 0.0.0.0 0
# 6. 匹配除默认路由外的所有路由
ip ip-prefix NODEFAULT index 10 deny 0.0.0.0 0
ip ip-prefix NODEFAULT index 20 permit 0.0.0.0 0 less-equal 32
# 7. 使用 greater-equal 和 less-equal 组合
# 匹配 192.168.0.0/16,掩码长度 17~24
ip ip-prefix PREFIX5 index 10 permit 192.168.0.0 16 greater-equal 17 less-equal 24

4.5 IP-Prefix 匹配范围示意#

ip ip-prefix P1 permit 10.0.0.0 8 less-equal 16
└─ 匹配范围:10.0.0.0/8、10.0.0.0/9 ... 10.255.255.0/16
ip ip-prefix P2 permit 10.1.0.0 16 greater-equal 17 less-equal 24
└─ 匹配范围:10.1.0.0/17 ~ 10.1.255.0/24(必须是10.1.0.0的子网)
ip ip-prefix P3 permit 0.0.0.0 0 less-equal 32
└─ 匹配所有IPv4路由

⚠️ 易错点ip-addressmask-length 确定了匹配的前缀范围,所有匹配的路由必须是该前缀的子网。例如 10.0.0.0 8 less-equal 16 只能匹配10.x.x.0且掩码8~16的路由,不能匹配172.16.0.0/16。


五、Route-Policy 详解 🏷️高频考点#

Route-Policy 是最强大的路由策略工具,既能过滤路由,也能修改路由属性,是BGP属性操控的核心工具。

5.1 Route-Policy 结构#

  • 由多个**节点(node)**组成,按编号从小到大顺序匹配
  • 每个node包含:
    • 匹配模式:permit / deny
    • 匹配条件:if-match(可选,无if-match表示匹配所有)
    • 执行动作:apply(可选,无apply表示只过滤不修改)

5.2 Route-Policy 匹配逻辑 🏷️高频考点#

permit

deny

全部为permit或无node

路由进入Route-Policy

从最小node编号开始

node匹配模式

if-match条件是否满足?

if-match条件是否满足?

执行apply动作,允许通过,停止匹配

继续匹配下一个node

拒绝该路由,停止匹配

还有下一个node?

所有node都不匹配

Route-Policy是否有显式deny?

默认拒绝该路由

permit

deny

全部为permit或无node

路由进入Route-Policy

从最小node编号开始

node匹配模式

if-match条件是否满足?

if-match条件是否满足?

执行apply动作,允许通过,停止匹配

继续匹配下一个node

拒绝该路由,停止匹配

还有下一个node?

所有node都不匹配

Route-Policy是否有显式deny?

默认拒绝该路由

匹配规则总结:

  • 按node编号从小到大依次匹配
  • 匹配到第一个node即停止
  • 同一node内多个if-match条件之间是”与”关系(必须同时满足)
  • 多个node之间是”或”关系(任一node匹配即生效)
  • permit node:匹配则执行apply并允许通过,否则继续匹配下一个node
  • deny node:匹配则拒绝该路由,否则继续匹配下一个node
  • 所有node都不匹配:路由被拒绝(Route-Policy默认隐含deny all)

5.3 if-match 匹配条件#

匹配条件命令适用场景
IP前缀if-match ip-prefix PREFIX1通用路由前缀匹配
ACLif-match acl 2000通用IP匹配
AS_Pathif-match as-path-filter 1BGP专用
Communityif-match community-filter 1BGP专用
接口if-match interface GigabitEthernet0/0/0匹配出接口
开销if-match cost 100匹配路由开销
路由类型if-match route-type external-type-1匹配OSPF路由类型
下一跳if-match ip next-hop ip-prefix PREFIX1匹配下一跳
标签if-match tag 100匹配路由标签
BGP路由if-match bgp-route origin igp匹配BGP Origin属性

注意:同一Route-Policy的同一node中,同一类型的if-match只能有一个(如不能同时配两个if-match ip-prefix),不同类型间是”与”关系。

5.4 apply 执行动作#

动作命令修改属性适用协议
Local_Prefapply local-preference 200BGP Local_PrefBGP
MED/Costapply cost 50BGP MED / IGP CostBGP / IGP
AS_Pathapply as-path 100 100 additiveBGP AS_Path(prepend)BGP
Communityapply community 100:100 additiveBGP CommunityBGP
下一跳apply next-hop 10.1.1.1下一跳BGP / IGP
Preferred-Valueapply preferred-value 100Preferred-Value(华为私有)BGP
Originapply origin igpBGP OriginBGP
开销类型apply cost-type type-1OSPF外部路由类型OSPF
标签apply tag 100路由标签OSPF/IS-IS

5.5 Route-Policy 配置示例#

Terminal window
# 定义IP-Prefix和AS-Path-Filter
ip ip-prefix PREFIX1 index 10 permit 10.1.1.0 24
ip ip-prefix PREFIX2 index 10 permit 192.168.0.0 16 less-equal 24
#
as-path-filter 1 permit ^100$
as-path-filter 2 permit _200_
# 定义Route-Policy
route-policy RP_TEST permit node 10
if-match ip-prefix PREFIX1
apply local-preference 200
#
route-policy RP_TEST permit node 20
if-match ip-prefix PREFIX2
apply cost 50
apply preferred-value 100
#
route-policy RP_TEST deny node 30
if-match as-path-filter 1
#
route-policy RP_TEST permit node 100
apply as-path 100 100 100 additive
#
# 应用到BGP
bgp 100
peer 10.1.1.2 as-number 200
peer 10.1.1.2 route-policy RP_TEST import

5.6 Route-Policy 匹配示例分析#

以上述配置为例,分析路由匹配结果:

路由匹配node结果
10.1.1.0/24node 10(PREFIX1匹配)允许,Local_Pref=200
192.168.1.0/24node 20(PREFIX2匹配)允许,Cost=50,PV=100
AS_Path含100的路由node 30(as-path-filter 1)拒绝
其他所有路由node 100(无if-match,匹配所有)允许,AS_Path prepend 100 100 100

六、路由引入(Import-Route)详解 🏷️高频考点#

6.1 路由引入原理#

路由引入:将一个路由协议学习到的路由引入到另一个路由协议中,实现多协议间的路由信息交换。

关键特性:

  • 引入时默认不携带原协议开销值(需手工指定或通过Route-Policy设置)
  • 引入到OSPF的路由默认为外部路由(Type 5 LSA),Origin在BGP中为Incomplete(?)
  • 引入到IS-IS的路由默认为Level-2路由(可指定level-1/level-1-2/level-2)
  • 引入到BGP的路由Origin默认为Incomplete(?)(import-route方式)或IGP(i)(network方式)

6.2 路由引入场景对比#

引入方向场景注意事项
OSPF → BGP将IGP路由发布到BGP推荐用network(Origin=IGP);import-route Origin=Incomplete
BGP → OSPF将BGP路由引入IGP慎重,可能导致大量Type-5 LSA,影响OSPF规模
OSPF → IS-IS协议间迁移需注意开销值映射;IS-IS默认引入Level-2
IS-IS → OSPF协议间迁移注意IS-IS路由的Level级别
Static → OSPF静态路由引入OSPF产生Type-5 LSA,默认Type-2外部路由
Direct → OSPF直连路由引入OSPF产生Type-5 LSA
OSPF → OSPF进程间引入使用import-route,产生Type-5 LSA

6.3 路由引入配置#

Terminal window
# 1. OSPF引入直连路由
ospf 1
import-route direct
# 2. OSPF引入静态路由
ospf 1
import-route static
# 3. OSPF引入BGP路由并设置开销类型和值
ospf 1
import-route bgp type 1 cost 50 # Type-1外部路由,Cost=50
# 4. OSPF引入IS-IS路由并设置Tag
ospf 1
import-route isis 1 tag 100
# 5. BGP引入OSPF路由
bgp 100
import-route ospf 1
# 6. BGP引入直连路由
bgp 100
import-route direct
# 7. 引入时使用Route-Policy控制(推荐)
ip ip-prefix IMPORT_PREFIX index 10 permit 10.0.0.0 8 less-equal 24
#
route-policy RP_IMPORT permit node 10
if-match ip-prefix IMPORT_PREFIX
apply cost 100
route-policy RP_IMPORT permit node 20
#
ospf 1
import-route bgp route-policy RP_IMPORT type 1
# 8. IS-IS引入OSPF路由(指定Level)
isis 1
import-route ospf 1 level-2
import-route direct level-1
# 9. OSPF进程间引入
ospf 1
import-route ospf 2

6.4 路由引入中的开销值与默认值#

引入目标协议默认开销默认类型
OSPF1(Type-2:不累加内部开销)External Type-2
IS-IS0(Level-2路由)Level-2
BGPMED继承原协议开销(部分场景)Origin=Incomplete
RIP0(不可达,需手工设置)

⚠️ 重点:OSPF引入路由默认是Type-2外部路由,Cost默认为1,且不随内部链路开销累加。Type-1外部路由开销会累加内部链路开销,更适用于需要精确选路的场景。


七、策略路由(PBR)详解 🏷️高频考点#

7.1 PBR 概述#

策略路由(Policy-Based Routing, PBR):基于策略的数据包转发机制,绕过常规路由表查找,根据自定义规则将报文转发到指定路径。

核心特性:

  • 作用于转发平面,不影响路由表
  • PBR优先于路由表查找(匹配成功则不再查路由表)
  • 可基于源IP、目的IP、报文长度、入接口等条件转发
  • 常用于流量工程、多出口负载分担、策略性选路

7.2 PBR 分类 🏷️高频考点#

类型配置位置生效范围典型场景
本地PBR系统视图仅对设备本机始发的报文生效设备自身产生的ICMP、Telnet等流量
接口PBR接口视图对该接口入方向的转发报文生效用户流量策略转发

转发流量

设备本机

本机产生的报文

本地PBR

接口入方向报文

接口PBR

匹配成功?

执行apply动作转发

查路由表转发

转发流量

设备本机

本机产生的报文

本地PBR

接口入方向报文

接口PBR

匹配成功?

执行apply动作转发

查路由表转发

7.3 PBR 匹配与动作#

匹配条件(if-match):

  • if-match acl:匹配ACL(源/目的IP、端口等)
  • if-match packet-length:匹配报文长度范围

执行动作(apply):

  • apply next-hop ip-address:设置下一跳(主下一跳)
  • apply output-interface interface:设置出接口
  • apply default-next-hop ip-address:设置默认下一跳(路由表无匹配时使用)
  • apply output-interface null 0:丢弃报文(黑洞)

7.4 PBR 工作流程 🏷️高频考点#

可达

不可达

报文进入接口

接口是否应用PBR?

正常查路由表转发

按node顺序匹配PBR

node是否匹配?

是否有apply next-hop?

继续匹配下一node

所有node都不匹配?

下一跳是否可达?

按PBR转发,不查路由表

查路由表转发

可达

不可达

报文进入接口

接口是否应用PBR?

正常查路由表转发

按node顺序匹配PBR

node是否匹配?

是否有apply next-hop?

继续匹配下一node

所有node都不匹配?

下一跳是否可达?

按PBR转发,不查路由表

查路由表转发

PBR匹配规则:

  • 按node编号从小到大依次匹配
  • permit node匹配成功 → 执行apply动作
  • deny node匹配成功 → 不执行PBR,正常查路由表转发
  • 所有node都不匹配 → 正常查路由表转发
  • PBR匹配成功但apply的下一跳不可达 → 退回查路由表(重要!)

7.5 PBR 配置命令#

Terminal window
# 1. 定义ACL匹配条件
acl 3000
rule permit ip source 192.168.1.0 0.0.0.255
#
acl 3001
rule permit ip source 192.168.2.0 0.0.0.255 destination 10.0.0.0 0.255.255.255
# 2. 定义Route-Policy用于PBR
route-policy PBR_TEST permit node 10
if-match acl 3000
apply next-hop 10.1.1.1
#
route-policy PBR_TEST permit node 20
if-match acl 3001
apply next-hop 10.1.2.1
#
route-policy PBR_TEST permit node 30
if-match packet-length 1000 1500
apply next-hop 10.1.3.1
#
route-policy PBR_TEST deny node 100
# deny node:不执行PBR,正常查路由表
# 3. 应用本地PBR(系统视图)
ip policy-based-route PBR_TEST
# 或
local policy-based-route PBR_TEST
# 4. 应用接口PBR(接口视图)
interface GigabitEthernet0/0/0
ip policy-based-route PBR_TEST
#
# 5. 配置默认下一跳(路由表无匹配时使用)
route-policy PBR_TEST permit node 10
if-match acl 3000
apply default-next-hop 10.1.4.1

7.6 PBR 典型应用场景#

场景:企业双出口负载分担

┌─────────┐
│ ISP-A │
│ 10.1.1.1│
└────┬────┘
│ GE0/0/0
┌────────────────┴────────────────┐
│ 企业出口路由器 │
│ ip policy-based-route PBR │
├────────────────┬────────────────┤
│ GE0/0/1 │ GE0/0/2 │
└────┬───────────┴──────┬─────────┘
│ │
┌────┴────┐ ┌───┴────┐
│部门A │ │部门B │
│192.168.1│ │192.168.2│
└─────────┘ └────────┘
Terminal window
# 部门A流量走ISP-A,部门B流量走ISP-B
acl 3000
rule permit ip source 192.168.1.0 0.0.0.255
acl 3001
rule permit ip source 192.168.2.0 0.0.0.255
#
route-policy PBR_DUAL permit node 10
if-match acl 3000
apply next-hop 10.1.1.1
route-policy PBR_DUAL permit node 20
if-match acl 3001
apply next-hop 10.1.2.1
#
interface GigabitEthernet0/0/0 # 内网接口
ip policy-based-route PBR_DUAL
#

八、路由策略与策略路由综合对比 🏷️高频考点#

对比项路由策略(Routing Policy)策略路由(PBR)
作用层面控制平面转发平面
影响对象路由表(哪些路由进入路由表)数据包转发路径
是否改变路由表
是否改变转发路径间接影响(通过改变路由表)直接影响
匹配对象路由条目数据包
优先级路由学习阶段生效优先于路由表查找
典型工具Filter-Policy / Route-Policypolicy-based-route
配置位置协议视图系统视图 / 接口视图
典型场景路由过滤、属性修改、路由引入控制流量工程、多出口选路

8.1 两者协同工作示意#

转发平面

控制平面

路由学习

路由策略过滤

路由表

数据包入接口

PBR匹配?

PBR转发

查路由表

出接口

转发平面

控制平面

路由学习

路由策略过滤

路由表

数据包入接口

PBR匹配?

PBR转发

查路由表

出接口


九、BGP 专用过滤工具 🏷️高频考点#

9.1 AS-Path-Filter#

用于匹配BGP路由的AS_Path属性,使用正则表达式。

Terminal window
# 定义AS-Path-Filter
as-path-filter 1 permit ^100$ # AS_Path正好是100(起源AS为100)
as-path-filter 2 permit _100_ # AS_Path中包含100
as-path-filter 3 permit ^$ # AS_Path为空(本AS产生的路由)
as-path-filter 4 permit ^100_ # AS_Path以100开头
as-path-filter 5 permit _200$ # AS_Path以200结尾
as-path-filter 6 deny . # 拒绝所有
as-path-filter 6 permit .* # 允许所有
# 在Route-Policy中使用
route-policy RP_BGP permit node 10
if-match as-path-filter 1
apply local-preference 200

正则表达式符号说明:

  • ^:匹配字符串开头
  • $:匹配字符串结尾
  • _:匹配AS边界(空格、逗号、开头或结尾)
  • .:匹配任意单个字符
  • *:匹配前一个字符0次或多次
  • +:匹配前一个字符1次或多次
  • .*:匹配任意字符串

9.2 Community-Filter#

用于匹配BGP Community属性。

Terminal window
# 基本Community-Filter
ip community-filter 1 permit 100:100
ip community-filter 1 permit 100:200
ip community-filter 2 permit internet
ip community-filter 3 permit no-export
ip community-filter 4 permit no-advertise
# 高级Community-Filter(支持正则)
ip community-filter advanced 10 permit ^100:
# 在Route-Policy中使用
route-policy RP_COMM permit node 10
if-match community-filter 1
apply community 100:100 100:200 additive

Well-known Community:

Community含义
internet向所有BGP邻居发布(默认)
no-export不向其他AS发布(仅在本AS及联盟内发布)
no-advertise不向任何BGP邻居发布
no-export-subconfed不向联盟外AS发布
local-as不向联盟外发布,但可在本AS内发布

十、常见故障排查#

10.1 路由策略不生效#

现象排查方向
路由未被过滤检查node的permit/deny模式是否正确
路由被误过滤检查ACL/Prefix的默认deny规则
Route-Policy全过滤检查是否有最后permit node放行其他路由
属性未修改检查apply动作在deny node中无效(deny node不执行apply)
OSPF import方向不生效OSPF中import方向只影响本路由表,不影响邻居LSDB

10.2 PBR 不生效#

现象排查方向
流量未按PBR转发检查ACL是否匹配(源/目的地址)
PBR匹配但走路由表检查apply的下一跳是否可达
本机流量不受控检查是否配置本地PBR(接口PBR对本机流量无效)
接口PBR无效检查是否在入接口应用(PBR只对入方向生效)

10.3 路由引入异常#

现象排查方向
引入路由未出现检查import-route命令及Route-Policy匹配
引入路由Cost异常OSPF默认Type-2 Cost=1,需手工指定
BGP引入Origin异常import-route的Origin为Incomplete,network为IGP
引入路由选路异常检查开销类型(Type-1 vs Type-2)和开销值

10.4 常用排查命令#

Terminal window
# 查看Route-Policy配置
display route-policy [ name RP_NAME ]
# 查看IP-Prefix配置
display ip ip-prefix [ name PREFIX_NAME ]
# 查看ACL配置
display acl 2000
# 查看AS-Path-Filter配置
display as-path-filter [ 1 ]
# 查看Community-Filter配置
display ip community-filter
# 查看PBR配置及命中
display ip policy-based-route [ interface GigabitEthernet0/0/0 ]
display local policy-based-route setup
# 查看BGP路由策略应用
display bgp routing-table peer 10.1.1.2
display bgp routing-table
# 查看路由表
display ip routing-table
display ip routing-table protocol ospf
display ip routing-table protocol bgp
# 查看Filter-Policy应用(OSPF)
display ospf [ 1 ] brief
display ospf [ 1 ] routing
display ospf [ 1 ] lsdb
# 查看引入的路由
display ospf [ 1 ] routing
display isis routing
display bgp routing-table
# 调试命令
terminal monitor
terminal debugging
debugging ip packet
debugging ospf event

十一、知识点速查表#

11.1 工具速查#

工具能否过滤能否改属性典型协议
Filter-PolicyOSPF/IS-IS/BGP
Route-PolicyBGP/Import-Route
IP-Prefix匹配工具配合上述工具
ACL匹配工具配合Filter-Policy
AS-Path-Filter匹配工具BGP专用
Community-Filter匹配工具BGP专用

11.2 默认行为速查#

协议Filter-Policy importFilter-Policy export默认路由引入开销
OSPF影响路由表,不影响LSDBABR控制Type-3 LSAType-2,Cost=1
IS-IS过滤LSP转化的路由控制发布的LSP0(Level-2)
BGP过滤接收路由过滤发布路由Origin=Incomplete

11.3 Route-Policy 匹配逻辑速查#

node模式if-match匹配结果
permit满足执行apply,允许通过,停止
permit不满足继续匹配下一node
deny满足拒绝该路由,停止
deny不满足继续匹配下一node
全部不匹配隐含deny all,拒绝该路由

十二、考点总结 🏷️高频考点#

  1. 路由策略 vs 策略路由:控制平面 vs 转发平面,影响路由表 vs 影响转发路径
  2. Filter-Policy:只能过滤,不能改属性;OSPF中import不影响LSDB
  3. IP-Prefix vs ACL:Prefix匹配路由前缀更精确,支持掩码范围
  4. Route-Policy:最强大,既能过滤又能改属性;node间”或”,if-match间”与”
  5. Route-Policy默认deny:所有node不匹配则路由被拒绝
  6. 路由引入:OSPF默认Type-2 Cost=1;BGP import-route Origin=Incomplete
  7. PBR优先于路由表:匹配成功则不查路由表;下一跳不可达则退回查路由表
  8. PBR分类:本地PBR(本机流量)vs 接口PBR(转发流量,入方向)
  9. PBR的deny node:不执行PBR,正常查路由表(不是丢弃!)
  10. AS-Path-Filter正则^100$(精确)、_100_(包含)、^$(本AS产生)

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
路由策略与策略路由
https://blog.zs13.tech/posts/网络/01-路由协议/路由策略与策略路由/
作者
zs13
发布于
2026-08-05
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
zs13
Hello, I'm Zs13.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
22
分类
1
标签
46
总字数
64,717
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.15.10
文章许可
CC BY-NC-SA 4.0
1
路由策略与策略路由
一、路由策略概述
1.1 基本概念
1.2 路由策略 vs 策略路由(PBR) 🏷️高频考点
二、路由策略工具体系 🏷️高频考点
2.1 工具间的调用关系
三、Filter-Policy 详解 🏷️高频考点
3.1 Filter-Policy 原理
3.2 各协议中 Filter-Policy 的行为差异 🏷️高频考点
3.3 Filter-Policy 配置命令
3.4 Filter-Policy 匹配逻辑
四、IP-Prefix(Prefix-List)详解 🏷️高频考点
4.1 IP-Prefix 原理
4.2 ACL vs IP-Prefix 对比 🏷️高频考点
4.3 匹配规则详解
4.4 IP-Prefix 配置示例
4.5 IP-Prefix 匹配范围示意
五、Route-Policy 详解 🏷️高频考点
5.1 Route-Policy 结构
5.2 Route-Policy 匹配逻辑 🏷️高频考点
5.3 if-match 匹配条件
5.4 apply 执行动作
5.5 Route-Policy 配置示例
5.6 Route-Policy 匹配示例分析
六、路由引入(Import-Route)详解 🏷️高频考点
6.1 路由引入原理
6.2 路由引入场景对比
6.3 路由引入配置
6.4 路由引入中的开销值与默认值
七、策略路由(PBR)详解 🏷️高频考点
7.1 PBR 概述
7.2 PBR 分类 🏷️高频考点
7.3 PBR 匹配与动作
7.4 PBR 工作流程 🏷️高频考点
7.5 PBR 配置命令
7.6 PBR 典型应用场景
八、路由策略与策略路由综合对比 🏷️高频考点
8.1 两者协同工作示意
九、BGP 专用过滤工具 🏷️高频考点
9.1 AS-Path-Filter
9.2 Community-Filter
十、常见故障排查
10.1 路由策略不生效
10.2 PBR 不生效
10.3 路由引入异常
10.4 常用排查命令
十一、知识点速查表
11.1 工具速查
11.2 默认行为速查
11.3 Route-Policy 匹配逻辑速查
十二、考点总结 🏷️高频考点