路由策略是控制网络流量路径的核心技术,它允许你通过定义规则来影响路由信息的传播和数据包的转发路径,从而实现精准的流量管理和网络优化。
一、路由-策略 智能导航规则
网络管理员给路由器设置的“交通管理条例”和“智能导航规则”。它的根本目的,就是让网络流量“别瞎走”,按照设计好的、更优的路径去走。
路由协议(如OSPF、BGP)就像是修路和画地图。它们自动探测城市(网络)里的道路(链路),计算出从A点到B点有哪些路,并生成一张标准地图(路由表)。
路由策略 就像是交通管理局。地图上可能有很多路,但管理局会根据实际情况设置规则。
这条路大货车禁行。(过滤掉某些路由)
高峰期,去往CBD的车建议优先走快速路。(修改路由优先级)
所有来自XX小区的车,必须从南门出。(强制指定路径)
没有路由策略,路由器只会傻傻地按照标准地图(协议计算出的最短路径)走,可能会造成“主干道堵死,辅路空空”的局面。这张表格清晰地展示了两种主要路由策略的核心区别。
特性维度 | 路由策略 (Routing Policy) | 策略路由 (Policy-Based Routing, PBR) |
|---|---|---|
作用对象 | 路由信息(路由表条目) | 数据包本身 |
工作层级 | 控制平面(影响路由学习与传播) | 转发平面(影响数据包转发路径) |
核心目的 | 过滤路由、修改路由属性(如优先级、Cost)、控制路由的发布与接收 | 基于策略(如源/目的IP、报文大小)强制改变数据包转发路径,不依赖路由表 |
常见应用 | OSPF、BGP、RIP等路由协议的路引入、过滤和属性调整 | 实现流量分流、负载均衡、保证特定业务质量等 |
- 路由策略:管“哪些路由能进/出路由表”。
- 策略路由:管“哪些包走哪条路出去”。
二、路由策略的配置思路
配置路由策略,无论是“路由策略”还是“策略路由”,通常遵循一个相似的逻辑流程:
定义匹配规则 -> 组织策略行为 -> 应用策略。
定义匹配规则:首先需要告诉设备,哪些流量是你想管理的。这通过定义匹配条件实现。
ACL(访问控制列表):最基本和常用的工具,可以基于IP地址、协议类型等信息进行匹配。
IP-Prefix List(地址前缀列表):专门用于匹配IP路由前缀和掩码长度,比ACL用于路由过滤时更加精确和方便。
其他匹配条件:还可以基于路由类型(如OSPF内部/外部路由)、BGP路径属性(如AS_Path)等进行更复杂的匹配。
组织策略行为:定义好“谁”之后,要指定“做什么”。
对于路由策略(Route-Policy),它是一个强大的策略容器,可以将多个匹配条件(
if-match)和多个执行动作(apply)组合在一个节点(node)中,形成复杂的策略。例如,你可以创建一个route-policy,匹配特定前缀的路由,然后修改其Local_Preference属性。对于策略路由(PBR),在华为设备上通常通过“流分类”(
traffic classifier)定义流量,“流行为”(traffic behavior)指定动作(如重定向下一跳),“流策略”(traffic policy)将二者绑定,最后应用到接口上。
应用策略:制定好的策略需要在正确的“位置”生效。
路由策略 通常应用在路由协议的路由引入、发布(
export)或接收(import)时。策略路由 则直接应用在接口的入方向(
inbound)上,对进入该接口的流量生效。
三、配置案例详解
案例1:使用路由策略控制OSPF路由引入
需求:在路由器R2上,从静态路由引入到OSPF时,只允许网络192.168.2.0/24被引入,而过滤掉192.168.1.0/24。
配置步骤:
定义ACL匹配目标路由:
[R2] acl 2000 [R2-acl-basic-2000] rule 5 permit source 192.168.2.0 0.0.0.255 # 允许192.168.2.0/24 [R2-acl-basic-2000] quit创建一个基本ACL 2000,规则5允许匹配源网络(即路由目的网络)
192.168.2.0/24。
创建Route-Policy并应用动作:
[R2] route-policy STATIC-to-OSPF permit node 10 # 创建路由策略,节点10 [R2-route-policy] if-match acl 2000 # 匹配ACL 2000定义的条件 [R2-route-policy] quit创建一个名为
STATIC-to-OSPF的route-policy。在节点10中,设置动作为permit(允许),并关联之前创建的ACL 2000。这意味着只有匹配ACL 2000的路由才会被允许通过,其他路由在此节点被隐式拒绝。
在OSPF进程中应用Route-Policy:
[R2] ospf 1 [R2-ospf-1] import-route static route-policy STATIC-to-OSPF # 引入静态路由时调用策略在OSPF进程中,使用
import-route static命令引入静态路由时,通过route-policy STATIC-to-OSPF参数调用刚才创建的策略。这样,只有192.168.2.0/24这条静态路由会被引入到OSPF中。
案例2:使用策略路由实现流量分流
需求:来自192.168.1.0/24(如教学楼)的流量从电信链路(下一跳202.100.1.1)发出,而来自192.168.2.0/24(如宿舍楼)的流量从联通链路(下一跳104.114.128.1)发出。
配置步骤:
定义ACL匹配流量:
[Router] acl 3001 [Router-acl-adv-3001] rule 5 permit ip source 192.168.1.0 0.0.0.255 # 匹配教学楼流量 [Router-acl-adv-3001] quit [Router] acl 3002 [Router-acl-adv-3002] rule 5 permit ip source 192.168.2.0 0.0.0.255 # 匹配宿舍楼流量 [Router-acl-adv-3002] quit定义流分类(识别流量):
[Router] traffic classifier c1 # 创建流分类c1 [Router-classifier-c1] if-match acl 3001 # 关联ACL 3001 [Router-classifier-c1] quit [Router] traffic classifier c2 # 创建流分类c2 [Router-classifier-c2] if-match acl 3002 # 关联ACL 3002 [Router-classifier-c2] quit定义流行为(指定动作):
[Router] traffic behavior b1 # 创建流行为b1 [Router-behavior-b1] redirect ip-nexthop 202.100.1.1 # 动作:重定向到电信下一跳 [Router-behavior-b1] quit [Router] traffic behavior b2 # 创建流行为b2 [Router-behavior-b2] redirect ip-nexthop 104.114.128.1 # 动作:重定向到联通下一跳 [Router-behavior-b2] quit定义并应用流策略:
[Router] traffic policy PBR # 创建流策略PBR [Router-trafficpolicy-PBR] classifier c1 behavior b1 # 将流分类c1与流行为b1绑定 [Router-trafficpolicy-PBR] classifier c2 behavior b2 # 将流分类c2与流行为b2绑定 [Router-trafficpolicy-PBR] quit [Router] interface GigabitEthernet 0/0/0 # 进入连接内网的接口 [Router-GigabitEthernet0/0/0] traffic-policy PBR inbound # 在入方向应用流策略此配置在连接内部网络的接口(如
GigabitEthernet 0/0/0)的入方向(inbound)应用策略,当设备收到来自内网的数据包时,会根据策略路由的规则进行转发,而非仅查询普通路由表。
四、验证与调试命令
配置完成后,使用以下命令验证效果:
查看路由表:
display ip routing-table。检查预期路由是否被过滤或属性是否被修改。查看BGP路由表/对等体状态:
display bgp routing-table,display bgp peer。用于检查BGP路由策略是否生效。查看流量策略应用情况:
display traffic-policy applied-record。查看策略路由是否正确应用在接口上。使用ping和tracert测试:从源IP发起测试,验证实际路径是否符合策略设定。
总结
- 路由策略 ≠ 策略路由:前者调路由表内容,后者改数据包路径。
- 配置核心:Match → Action → Apply。
- 适用场景:
- 路由策略:多协议互引、路由聚合、安全过滤。
- 策略路由:多ISP出口、业务隔离、链路质量保障。
华为eNSP模拟器综合实验之-策略路由解析