1. 策略路由到底解决什么问题
很多人第一次接触策略路由,是在一个很具体的场景里:公司有两条出口链路,一条带宽大但延迟高,一条带宽小但延迟低,老板要求“视频会议走快的,下载走大的”。静态路由只能按目的地址选路,做不到这件事。策略路由就是在这个缝隙里登场的。
策略路由,英文叫 Policy-Based Routing,简称 PBR。它的核心思想一句话就能说清:不再只根据目的 IP 查表转发,而是根据人为定义的策略来决定数据包走哪条路。这个“策略”可以基于源 IP、目的 IP、协议类型、端口号、报文长度,甚至时间段。换句话说,静态路由是“看目的地”,策略路由是“看人下菜碟”。
在 eNSP 这个网络模拟器里做策略路由实验,价值在于它把真实设备上的复杂配置搬到了一个可以随便折腾的环境。你不需要真机,不需要担心配错了影响生产,打开软件就能搭拓扑、敲命令、抓包验证。对于正在备考网络方向认证、或者刚入行做网络运维的人来说,eNSP 上的策略路由实验是一个绕不开的坎。
这篇文章面向三类人:一是正在学路由交换、想搞懂策略路由和普通路由区别的初学者;二是需要做实验验证方案、但手头没有真机的运维人员;三是已经会配命令、但想搞清楚“为什么这么配”的进阶者。我会从设计思路讲到具体配置,再到排错技巧,尽量把每一步背后的逻辑都摊开说。
需要提前说明的是,eNSP 里的策略路由主要涉及两类工具:Traffic Filter(流分类)和Traffic Behavior(流行为),再通过Traffic Policy(流策略)把它们绑在一起,最后应用到接口上。这套“分类—行为—策略—应用”的四步模型,是华为设备上做策略路由的标准套路,eNSP 完整支持。下面我就按这个逻辑往下拆。
2. 实验拓扑设计与核心思路拆解
2.1 为什么选这个拓扑结构
做策略路由实验,拓扑不能太简单,否则体现不出策略的价值;也不能太复杂,否则排错时你会怀疑人生。我建议用一个“双出口+单内网”的结构,这是最经典的策略路由实验场景。
具体来说:内网有一台 PC 或者一个网段,出口有两台路由器分别连接两个“外部网络”。为了在 eNSP 里模拟方便,可以用两台路由器分别代表两个 ISP 的接入设备,再各自挂一个 Loopback 接口模拟外部服务器。内网侧用一台三层交换机或者路由器作为网关,策略路由就配在这台网关上。
这个结构的优势在于:流量从内网出去时,网关设备需要做决策——走左边还是走右边。如果没有策略路由,默认走一条;有了策略路由,就可以根据源地址或者业务类型分流。实验的验证点也很清晰:从 PC 上 ping 不同的目的地址,看它走的是哪条路。
我在实际搭拓扑时踩过一个坑:一开始把两台出口路由器也连在了一起,想着做冗余。结果路由表里出现了等价路由,数据包转发行为变得不可预测,策略路由的效果被掩盖了。后来我把出口之间的直连去掉,让两条路径完全独立,实验现象才干净。所以建议你搭拓扑时,保持两条出口路径在路由层面互不干扰,除非你就是要做冗余和策略结合的复杂场景。
2.2 策略路由和路由策略的区别
这是初学者最容易混淆的一对概念,我在带新人的时候被问过无数次。这里必须掰扯清楚。
路由策略,英文是 Route-Policy,它作用的对象是路由信息。它决定的是“哪些路由可以被引入到路由表里”“引入时要不要修改属性”。它影响的是控制平面,是路由协议之间传递路由时的过滤器。
策略路由,作用的对象是数据包。它决定的是“这个数据包从哪个接口发出去”。它影响的是转发平面,是已经进入设备的数据包怎么走。
打个比方:路由策略像是公司招聘时的筛选简历,决定哪些人能进公司;策略路由像是员工上班时走哪条路,决定已经入职的人怎么到达工位。两者完全不是一回事,但名字太像,导致很多人配了半天 Route-Policy 发现数据包转发路径没变,然后开始怀疑设备坏了。
在 eNSP 里做策略路由实验,你用的是 Traffic Policy 这套东西,不是 Route-Policy。记住这个区别,能省下你至少两个小时的排错时间。
2.3 策略路由的匹配逻辑与优先级
策略路由在设备上的执行顺序是有严格优先级的。数据包进入接口后,设备会先看有没有应用策略路由。如果有,就按策略里的节点顺序逐条匹配。匹配上了就执行对应的行为,不再查路由表;如果所有节点都没匹配上,才走正常的路由表转发。
这个“节点顺序”很关键。一个 Traffic Policy 里可以包含多个 classifier,每个 classifier 关联一个 behavior。设备会按照 classifier 的编号从小到大依次匹配。编号小的先匹配,匹配成功就执行,后续节点不再检查。所以你在规划策略时,要把最精确的匹配条件放在前面,最宽泛的放在后面。
举个例子:你有一条策略是“源地址是 192.168.1.10 的走出口 A”,另一条是“源地址是 192.168.1.0/24 的走出口 B”。如果宽泛的规则编号在前,那台 1.10 的主机也会被匹配到走出口 B,精确规则永远轮不到。这个坑我在第一次做实验时就踩了,现象是“明明配了精确规则却不生效”,查了半天才发现是顺序问题。
另外要注意,策略路由的匹配是逐包进行的,不是逐流。这意味着同一个 TCP 连接的不同数据包,如果匹配条件里有变化的部分(比如源端口),可能会出现前后走不同路径的情况。虽然实际中很少这么配,但理解这一点对排查“为什么同一个连接时通时不通”很有帮助。
3. 核心配置细节与实操要点
3.1 流分类的定义与匹配规则
流分类,也就是 Traffic Classifier,是策略路由的第一步。它的作用是“把符合条件的流量挑出来”。在 eNSP 的华为设备上,配置流分类的命令框架是这样的:
acl number 3000 rule 5 permit ip source 192.168.1.10 0 destination 10.1.1.0 0.0.0.255 quit traffic classifier CLASS_A operator or if-match acl 3000 quit这里有几个细节值得展开说。
第一,ACL 的选择。做策略路由时,匹配源 IP 和目的 IP 通常用高级 ACL,也就是编号 3000 到 3999 的。基础 ACL 只能匹配源 IP,不够灵活。如果你要匹配端口号,也必须用高级 ACL。在 eNSP 里,ACL 的规则匹配是“一旦命中就停止”,所以规则顺序同样重要。
第二,operator 参数。traffic classifier后面的operator可以是and或者or。and表示这个分类下的所有 if-match 条件必须同时满足,or表示满足任意一个即可。默认是and。我建议在单条件匹配时不用纠结,但多条件匹配时一定要想清楚你要的是“与”还是“或”。比如你要匹配“源 IP 是 A 且目的端口是 80”,那就用and;如果要匹配“源 IP 是 A 或源 IP 是 B”,那就用or。
第三,if-match 的粒度。除了 ACL,还可以直接匹配 VLAN ID、802.1p 优先级、DSCP 值等。在 eNSP 里做基础实验,ACL 是最常用的。但如果你想做更精细的流量控制,比如“只对语音流量做策略路由”,那匹配 DSCP 会更直接。
注意:在 eNSP 里配置 ACL 时,通配符掩码不要写错。
0表示精确匹配,255表示任意。比如source 192.168.1.10 0表示只匹配这一个地址,source 192.168.1.0 0.0.0.255表示匹配整个网段。写反了会导致匹配不到或者匹配过多。
3.2 流行为的配置与下一跳选择
流行为,Traffic Behavior,定义的是“匹配到的流量怎么处理”。在策略路由场景里,最常用的行为是重定向,也就是指定下一跳。
traffic behavior BEHAVIOR_A redirect ip-nexthop 10.0.0.2 quit这里的redirect ip-nexthop后面跟的是下一跳 IP 地址。这个地址必须是直连可达的,或者至少是路由表里能查到的。如果写了一个不可达的下一跳,策略路由会失效,数据包会被丢弃或者走默认路由。
除了redirect ip-nexthop,还有几个相关的行为值得了解:
redirect interface:指定出接口,而不是下一跳 IP。在点到点链路上可以用,但在以太网这种多路访问网络上,指定出接口还需要配合 ARP 解析,不如指定下一跳稳妥。redirect ip-multihop:指定多个下一跳,做负载分担。eNSP 里支持这个命令,但实验时建议先用单下一跳把逻辑跑通。permit或deny:不做重定向,只是放行或丢弃。这个在策略路由里用得少,但在流量过滤场景里很常见。
我个人的经验是:优先用redirect ip-nexthop,并且确保下一跳地址在路由表里是直连或者有明确路由的。在 eNSP 里,如果你配了下一跳但没配对应的直连路由或者 ARP 没解析,策略路由看起来配了但不生效,现象是数据包被丢弃,ping 不通。这时候用display traffic policy statistics看统计计数,如果匹配上了但转发失败,基本就是下一跳不可达的问题。
3.3 流策略的绑定与应用方向
流策略,Traffic Policy,是把流分类和流行为绑在一起的容器。
traffic policy POLICY_A classifier CLASS_A behavior BEHAVIOR_A quit然后应用到接口上:
interface GigabitEthernet0/0/1 traffic-policy POLICY_A inbound quit这里最关键的细节是应用方向。inbound表示对进入这个接口的流量生效,outbound表示对从这个接口发出的流量生效。
在策略路由场景里,通常是在内网侧接口的 inbound 方向应用策略。因为数据包从内网进入网关时,你就要决定它走哪条出口。如果你在出口接口的 outbound 方向应用,那时候路由决策已经做完了,策略路由的效果会打折扣。
但也不是绝对的。有些场景下你需要在出口的 outbound 方向做策略,比如“从出口 A 发出的流量,如果目的地址是某个特定网段,就重定向到出口 B”。这种属于流量工程里的流量牵引,配置逻辑是一样的,只是应用点不同。
提示:在 eNSP 里,一个接口的同一个方向只能应用一个 Traffic Policy。如果你有多个策略要应用,需要把它们合并到一个 policy 里,用不同的 classifier 节点来区分。这一点和真机是一致的。
3.4 实验参数规划与地址分配
为了让实验可复现,我把地址规划列出来。你可以直接抄,也可以按自己的习惯改,但建议保持网段清晰,方便排错。
| 设备角色 | 接口 | IP 地址 | 说明 |
|---|---|---|---|
| 内网网关 | GE0/0/0 | 192.168.1.1/24 | 连接内网 PC |
| 内网网关 | GE0/0/1 | 10.0.0.1/30 | 连接出口 A |
| 内网网关 | GE0/0/2 | 10.0.1.1/30 | 连接出口 B |
| 出口 A | GE0/0/0 | 10.0.0.2/30 | 连接内网网关 |
| 出口 A | Loopback0 | 1.1.1.1/32 | 模拟外部服务器 A |
| 出口 B | GE0/0/0 | 10.0.1.2/30 | 连接内网网关 |
| 出口 B | Loopback0 | 2.2.2.2/32 | 模拟外部服务器 B |
| 内网 PC | eth0 | 192.168.1.10/24 | 网关指向 192.168.1.1 |
这个规划里,内网网关到两个出口各用了一个 /30 的互联地址,干净利落。出口路由器上用 Loopback 模拟外部网络,方便验证。PC 的网关指向内网网关的 GE0/0/0 接口。
路由方面,内网网关上需要两条默认路由或者明细路由指向两个出口。如果你想让策略路由的效果更明显,可以配两条等价的默认路由,然后靠策略路由来分流。但前面说过,等价路由会让转发行为变得不确定,所以我建议默认路由只指向一个出口,另一个出口的路由通过策略路由来指定。这样策略路由生效时走另一条,不生效时走默认,现象对比很清晰。
4. 完整实操过程与验证方法
4.1 基础网络连通性配置
先把底层打通,再谈策略。这一步不能跳过,否则后面策略不生效时你分不清是策略问题还是路由问题。
先配内网网关的基础 IP 和路由:
system-view sysname Gateway interface GigabitEthernet0/0/0 ip address 192.168.1.1 255.255.255.0 quit interface GigabitEthernet0/0/1 ip address 10.0.0.1 255.255.255.252 quit interface GigabitEthernet0/0/2 ip address 10.0.1.1 255.255.255.252 quit ip route-static 0.0.0.0 0.0.0.0 10.0.0.2这里默认路由指向出口 A。出口 B 的路由先不配,留给策略路由来指定。
再配出口 A:
system-view sysname ISP_A interface GigabitEthernet0/0/0 ip address 10.0.0.2 255.255.255.252 quit interface LoopBack0 ip address 1.1.1.1 255.255.255.255 quit ip route-static 192.168.1.0 255.255.255.0 10.0.0.1出口 B 类似:
system-view sysname ISP_B interface GigabitEthernet0/0/0 ip address 10.0.1.2 255.255.255.252 quit interface LoopBack0 ip address 2.2.2.2 255.255.255.255 quit ip route-static 192.168.1.0 255.255.255.0 10.0.1.1配完后,从 PC 上 ping 1.1.1.1 应该能通,ping 2.2.2.2 应该不通,因为默认路由指向出口 A,出口 B 的路由还没配。这个基线很重要,它告诉你“策略路由生效前是什么状态”。
4.2 策略路由的完整配置
现在开始配策略路由。目标:让源地址是 192.168.1.10 的流量走出口 B,其他流量走默认的出口 A。
第一步,定义 ACL 匹配源地址:
acl number 3000 rule 5 permit ip source 192.168.1.10 0 quit第二步,定义流分类:
traffic classifier CLASS_TO_B operator and if-match acl 3000 quit第三步,定义流行为,指定下一跳为出口 B:
traffic behavior BEHAVIOR_TO_B redirect ip-nexthop 10.0.1.2 quit第四步,定义流策略并绑定:
traffic policy POLICY_PBR classifier CLASS_TO_B behavior BEHAVIOR_TO_B quit第五步,应用到内网接口的 inbound 方向:
interface GigabitEthernet0/0/0 traffic-policy POLICY_PBR inbound quit这五步配完,策略路由就生效了。从 PC(192.168.1.10)上 ping 2.2.2.2,应该能通了。而如果你把 PC 的 IP 改成 192.168.1.20,再 ping 2.2.2.2,应该还是不通,因为它不匹配 ACL,走默认路由从出口 A 出去了。
4.3 验证命令与结果解读
配完之后怎么确认策略路由真的生效了?光靠 ping 通不通还不够,你需要看统计信息。
display traffic policy statistics interface GigabitEthernet0/0/0 inbound这个命令会显示每个 classifier 的匹配计数。如果CLASS_TO_B的匹配包数在增加,说明策略被命中了。如果匹配数为 0,说明 ACL 没匹配上,或者流量没从这个接口进来。
另一个有用的命令是:
display traffic-policy applied-record这个命令显示当前设备上所有已应用的流策略,包括应用在哪个接口、哪个方向。有时候你配了策略但忘了应用,或者应用到了错误的接口,这个命令能帮你快速定位。
还有一个排查利器是display acl 3000,看看 ACL 的规则有没有配错,匹配计数有没有增长。如果 ACL 计数不增长,说明流量根本没匹配到这条规则,问题出在 ACL 或者流量本身。
我在实验时遇到过一个现象:策略配好了,ACL 计数也在涨,但 ping 还是不通。后来用display traffic policy statistics看,发现匹配上了但转发失败。查了半天发现是下一跳 10.0.1.2 的 ARP 没解析。因为内网网关的 GE0/0/2 接口虽然配了 IP,但一直没流量,ARP 表里没有 10.0.1.2 的 MAC。手动 ping 一下 10.0.1.2 触发 ARP 解析后,策略路由就正常了。这个坑很隐蔽,因为接口是 up 的,IP 也配了,但 ARP 没建立。
4.4 策略路由与默认路由的配合
策略路由的一个常见误区是:以为配了策略路由,默认路由就不需要了。实际上,策略路由只对匹配到的流量生效,没匹配到的流量还是要查路由表。所以默认路由必须配,而且必须指向一个可用的出口。
在上面的实验里,默认路由指向出口 A,策略路由把特定流量引到出口 B。如果你把默认路由删了,那没匹配策略的流量就会因为没有路由而被丢弃。现象是:匹配策略的 PC 能通,其他 PC 什么都不通。
还有一种情况是:策略路由的下一跳和默认路由的下一跳是同一个。这时候策略路由看起来“没效果”,因为走哪条路都一样。所以做实验时,一定要让策略路由的下一跳和默认路由的下一跳不同,否则你无法验证策略是否真的生效。
另外,如果策略路由里指定的下一跳不可达,设备会怎么处理?在华为设备上,默认行为是丢弃,不会回退到默认路由。这一点和某些厂商的实现不同。所以配策略路由时,下一跳的可达性必须保证。如果你想要“策略路由失效时回退到默认路由”的效果,需要额外配置redirect ip-nexthop的备份下一跳,或者用ip route-static的浮动路由来配合。
5. 常见问题与排查技巧实录
5.1 策略路由不生效的排查思路
策略路由配了但不生效,是最常见的问题。我总结了一个排查顺序,按这个顺序走,基本能定位到原因。
第一步,确认策略是否应用到了正确的接口和方向。用display traffic-policy applied-record看。如果没显示,说明你忘了应用,或者应用到了错误的接口。记住,策略路由通常应用在内网接口的 inbound 方向。
第二步,确认 ACL 是否匹配到了流量。用display acl 3000看匹配计数。如果计数为 0,说明流量没匹配上 ACL。可能的原因有:ACL 规则写错了、流量没经过这个接口、或者 ACL 被其他策略引用了但没生效。
第三步,确认流分类和流行为的绑定是否正确。用display traffic policy user-defined POLICY_PBR看策略内容。有时候 classifier 和 behavior 的名字写错了,或者绑定的时候漏了。
第四步,确认下一跳是否可达。用display ip routing-table 10.0.1.2看有没有路由。用display arp | include 10.0.1.2看 ARP 有没有解析。如果下一跳不可达,策略路由会失效。
第五步,确认接口状态和 VLAN 配置。如果接口是 down 的,或者 VLAN 没放通,流量根本进不来,策略路由自然不生效。
这个排查顺序是我踩了无数次坑之后总结出来的,按这个走,90% 的问题都能解决。
5.2 策略路由与 NAT 的配合问题
在实际网络里,策略路由经常和 NAT 一起用。内网流量走策略路由从某个出口出去时,需要在那个出口上做 NAT 转换。如果 NAT 没配好,现象是策略路由匹配了,但回包回不来。
在 eNSP 里模拟这个场景时,你需要在出口路由器上配 NAT。比如出口 B 上配:
acl number 2000 rule 5 permit source 192.168.1.0 0.0.0.255 quit interface GigabitEthernet0/0/0 nat outbound 2000 quit这样从内网出去的流量,源地址会被转换成出口 B 的接口地址。回包才能正确回到出口 B,再转发回内网。
如果 NAT 没配,或者 ACL 没匹配到,现象是 ping 不通,但策略路由的统计计数在涨。这时候你要检查的是 NAT 配置,而不是策略路由本身。
5.3 常见问题速查表
| 现象 | 可能原因 | 排查命令 | 解决方法 |
|---|---|---|---|
| 策略路由完全不生效 | 策略未应用或应用方向错误 | display traffic-policy applied-record | 检查接口和方向,重新应用 |
| ACL 计数不增长 | ACL 规则错误或流量未经过 | display acl 3000 | 检查 ACL 规则和流量路径 |
| 匹配上了但转发失败 | 下一跳不可达或 ARP 未解析 | display arp、display ip routing-table | 确保下一跳可达,触发 ARP |
| 部分流量生效部分不生效 | ACL 规则顺序或匹配粒度问题 | display acl 3000 | 调整规则顺序,细化匹配条件 |
| 策略路由和默认路由冲突 | 下一跳相同或路由优先级问题 | display ip routing-table | 确保下一跳不同,检查路由优先级 |
| 回包不通 | NAT 未配置或 ACL 未匹配 | display nat session | 在出口上配置 NAT 和对应 ACL |
5.4 几个容易忽略的细节
第一个细节:策略路由的匹配计数是累加的,不会自动清零。如果你想重新统计,需要用reset traffic policy statistics命令手动清零。这个在对比实验前后流量变化时很有用。
第二个细节:eNSP 里有些命令的反馈和真机略有差异。比如display traffic policy statistics的输出格式,eNSP 可能比真机简化一些。但核心的匹配计数和转发计数是有的,足够验证实验。
第三个细节:策略路由的优先级高于路由表,但低于某些特殊转发。比如如果流量被 ACL 匹配了但行为是deny,那数据包会被丢弃,不会走路由表。这个在配策略时要注意,别不小心把流量给 deny 了。
第四个细节:在 eNSP 里做策略路由实验时,建议开启抓包。在接口上右键选择“开始抓包”,用 Wireshark 看数据包的实际走向。有时候统计信息显示匹配了,但数据包实际从另一个接口出去了,抓包能帮你确认真实的转发路径。这个技巧在排查复杂问题时特别有用。
6. 策略路由的扩展玩法与进阶思路
6.1 基于协议类型的策略路由
除了基于源 IP,策略路由还可以基于协议类型做分流。比如“HTTP 流量走出口 A,其他流量走出口 B”。配置上只需要改 ACL 的规则:
acl number 3001 rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination-port eq 80 quit然后在流分类里引用这个 ACL。这样匹配到 TCP 80 端口的流量就会被重定向到指定的下一跳。
这个玩法在实际中很有用,比如你想让办公流量走一条链路,视频流量走另一条链路。但在 eNSP 里做实验时要注意:PC 上模拟 HTTP 流量不太方便,可以用路由器上的telnet或者ftp来模拟。或者直接用 ping 加-p参数指定协议号,但 ping 只能模拟 ICMP,模拟 TCP 需要额外的工具。
6.2 基于报文长度的策略路由
策略路由还可以匹配报文长度。比如“大包走带宽大的链路,小包走延迟低的链路”。配置上需要在 ACL 里加fragment或者用if-match packet-length。
这个玩法在 eNSP 里支持,但实验时要注意:ping 命令默认的报文长度是 56 字节,你可以用ping -s 1500来发大包。然后观察大包和小包是否走了不同的路径。
6.3 策略路由与流量统计的结合
策略路由的流行为里可以加statistics参数,开启流量统计。这样你可以看到匹配到的流量有多少字节、多少个包。这个在分析流量分布时很有用。
traffic behavior BEHAVIOR_TO_B redirect ip-nexthop 10.0.1.2 statistics enable quit开启后,用display traffic policy statistics就能看到详细的字节数和包数。这个功能在 eNSP 里是支持的,但统计精度可能和真机有差异,做实验时不用太纠结具体数值,看趋势就行。
6.4 策略路由的备份与冗余
在实际网络里,策略路由指定的下一跳可能会失效。这时候如果没有备份路径,流量就断了。华为设备支持在流行为里配置多个下一跳,实现备份或负载分担。
traffic behavior BEHAVIOR_TO_B redirect ip-nexthop 10.0.1.2 10.0.0.2 quit这样配的话,如果 10.0.1.2 不可达,会自动切换到 10.0.0.2。但要注意,这种备份是基于下一跳可达性的,不是基于链路质量的。如果下一跳可达但链路拥塞,设备不会自动切换。
在 eNSP 里做这个实验时,你可以手动 shutdown 出口 B 的接口,然后观察流量是否切换到了出口 A。这个实验能帮你理解策略路由的冗余机制。
6.5 策略路由在 eNSP 里的性能考量
eNSP 是模拟器,性能肯定不如真机。在做策略路由实验时,如果你配了复杂的 ACL 和大量的策略节点,模拟器可能会变慢,甚至出现转发异常。我的建议是:实验时尽量保持策略简洁,一个实验只验证一个核心点。不要在一个实验里堆砌太多策略,否则出了问题你很难定位是配置错误还是模拟器性能问题。
另外,eNSP 里的设备型号不同,对策略路由的支持程度也不同。比如 AR 系列路由器和 S 系列交换机的命令略有差异。做实验前先确认你用的设备型号支持哪些命令。一般来说,AR 路由器对策略路由的支持比较完整,S 系列交换机需要看具体型号。
7. 我个人在实际操作中的体会
策略路由这个东西,命令本身不难,难的是想清楚你要什么。我见过太多人上来就敲命令,配完了发现效果不对,然后开始瞎改。其实只要在配之前把三件事想明白,后面就顺了:第一,你要匹配什么流量;第二,匹配到的流量走哪里;第三,没匹配到的流量走哪里。
这三件事对应到配置上,就是 ACL、流行为和默认路由。把这三个点理清楚,策略路由的实验就成功了一半。
另外,eNSP 虽然是个模拟器,但它的价值在于让你可以随便犯错。我在真机上不敢随便改策略路由,因为一改就可能影响业务。但在 eNSP 里,你可以把策略配错、把接口 shutdown、把路由删掉,然后观察现象、分析原因。这种“试错—观察—修正”的循环,才是实验的真正价值。
最后分享一个小技巧:做策略路由实验时,养成看统计信息的习惯。不要只看 ping 通不通,要看display traffic policy statistics里的匹配计数。ping 通可能是巧合,但统计计数不会骗人。匹配计数在涨,说明策略生效了;匹配计数不涨,说明策略没匹配到流量。这个习惯能帮你快速定位问题,也能让你对策略路由的理解更深一层。
策略路由的扩展性很强,今天你用它做基于源 IP 的分流,明天可以用它做基于应用类型的流量工程。核心的“分类—行为—策略—应用”四步模型是不变的。把这个模型吃透,后面遇到再复杂的策略需求,你都能拆解成这四步来实现。