route-policy 是什么
route-policy 是华为 VRP 上的通用路由策略框架,作用相当于 Cisco 的 route-map:由若干 node 组成,每个 node 声明 permit 或 deny,node 内先写 if-match 条件、再写 apply 动作。设备按 node 号从小到大依次评估,命中即执行该 node 的动作并结束。
基本信息
| 结构 | route-policy <名字> permit|deny node <号> + if-match + apply |
|---|---|
| 评估顺序 | node 号升序,命中即止 |
| 缺省行为 | 没有任何 node 命中时按 deny 处理 |
| 匹配逻辑 | 同一 node 内不同 if-match 命令之间是与关系,同一命令的多个条件是或关系 |
| 典型应用点 | peer route-policy import/export、import-route route-policy、filter-policy |
典型使用场景
- 对特定邻居限定收发范围:用 peer route-policy import/export 只放行业务前缀
- 引入外部路由时过滤并打标:import-route 配 route-policy,一次完成筛选与属性设置
- 多出口选择:匹配不同来源的前缀后 apply local-preference 或 apply cost
- 对客户/对等/上游分类打 community 标签,供后续集中策略匹配
- 运维审查:把节点号与业务语义对应写进文档,变更时按 node 定位影响面
出方向策略示例
出方向策略示例
# 只对业务前缀追加社区并设置本地优先级,其余不匹配即拒绝
ip ip-prefix PL-BIZ index 10 permit 10.10.0.0 16 less-equal 24
#
route-policy RP-OUT permit node 10
if-match ip-prefix PL-BIZ
apply community 65001:100 additive
apply local-preference 120
#
route-policy RP-OUT deny node 20
#
bgp 65001
ipv4-family unicast
peer 10.0.0.2 route-policy RP-OUT export
#
display bgp routing-table 10.10.1.0常用 if-match 条件
| if-match 条件 | 匹配对象 | 常见组合 |
|---|---|---|
| ip-prefix | 前缀与掩码长度范围 | 配合 import-route 控制引入范围 |
| as-path-filter | AS_PATH 正则 | 拒绝私用 AS、限定起源 AS |
| community-filter | COMMUNITY 值或列表 | 按标签设置 local-preference |
| cost | 路由度量 | 区分来源优先级 |
| interface | 路由出接口 | 直连/特定链路策略 |
查看与验证
查看与验证
display route-policy RP-OUT # 看 node 结构与条件
#
# 修改策略后需重新评估已有路由,否则旧结果保留
refresh bgp all import
refresh bgp all export
#
display bgp routing-table 10.10.1.0 # 核对社区与本地优先级与 Cisco 写法对照
| 能力 | 华为 VRP | Cisco IOS |
|---|---|---|
| 策略骨架 | route-policy 名字 permit node 10 | route-map 名字 permit 10 |
| 匹配条件 | if-match 前缀/AS 路径/社区 | match ip address / as-path / community |
| 设置动作 | apply 社区、cost、本地优先级 | set community / metric / local-preference |
| 缺省处理 | 无 node 命中即拒绝 | 无序列命中即拒绝 |
| 查看命令 | display route-policy | show route-map |
在 import 方向使用 route-policy 时,被拒绝的路由不会进入 BGP 表;在 export 方向使用则只影响发出内容,本机路由表不受影响。同一份策略换方向引用前,先确认方向语义再上线。