VPN 策略路由(Policy-Based Routing)详解
策略路由按规则而不只是按目的地,决定哪些数据包进入 VPN。本文讲它如何工作,以及容易在哪里出错。
阅读约 9 分钟更新于 2026年10月15日作者:XPASS Editorial Team

常规路由很简单:数据包带着目的地地址,系统在路由表里查找,选出最匹配的路由,从对应接口发出去。决定只取决于数据包要去哪里。策略路由改变了这一点:系统会先看数据包的其他信息,比如是哪台设备发的、用了哪个端口、带着什么标记,然后按规则选择一张路由表。
对 VPN 用户来说,这很重要,因为路由器或 Linux 主机正是靠它来决定“这台笔记本走 VPN,那台智能电视不走”,或者“这类流量进隧道,其他流量直接出去”。本文讲解 VPN 场景下策略路由的思路、组成部分、实用示例、可能出错的地方以及测试方法。内容只停留在路由层面。若想了解“排除某些应用”的通用概念,请阅读 什么是分流隧道;路由器上的具体规则见 路由器上的分流隧道。
常规路由解决不了的问题
装了 VPN 的设备有两条出路:物理网络和隧道接口。默认路由决定优先使用哪一条。通常 VPN 会加入一条路由,让隧道成为默认出口,于是一切流量都走隧道。
再设想一个家用路由器,上面有一条 VPN 连接,还有几台设备:
- 工作笔记本应走 VPN。
- 智能电视应用应走普通连接,因为它在 VPN 地址上会失灵。
- 手机只在主人需要时才走 VPN。
- 家中的服务器必须能从本地网络访问。
基于目的地的路由无法表达这些要求,因为这四台设备可能访问同一个目的地。真正不同的是来源,也就是设备,或者流量的用途。这正是策略路由要填补的空白。

策略路由如何工作
这个思路由三个协同工作的部分组成。
1. 匹配(Match)。 规则描述它适用于哪些数据包。常见的条件包括:
- 源 IP 地址或地址段,通常用来标识某台设备或一组设备。
- 目的地址或地址段。
- 协议和端口,例如 TCP 443 或 UDP 123。
- 入站接口,比如某个特定的 Wi-Fi 网络或 VLAN。
- 防火墙标记(firewall mark),也就是防火墙事先打上的一个小标签。
2. 选择路由表(Select a table)。 规则匹配后,系统改用某张指定的路由表,而不是主表。一张表可能把所有流量送往 VPN 接口,另一张送往普通网关。
3. 转发(Route)。 数据包按选中的表走,匹配的流量进入 VPN,其余沿默认路径。
Linux 上的典型写法如下,仅用于说明大致形态。
# Table 100 sends traffic into the VPN interface
ip route add default dev vpn0 table 100
# Rule: traffic from the work laptop uses table 100
ip rule add from 192.168.1.20 lookup 100 priority 1000
路由器固件把同样的思路包装成界面:选设备,选“使用 VPN”或“绕过 VPN”,系统自动写出等效的规则。这些示例里的私有地址段来自 RFC 1918 所说明的保留地址集合。
规则顺序与优先级
规则按顺序检查,第一条匹配的规则生效,因此优先级是策略路由中最重要的单一概念。
家庭网络的一个简短例子:
- 优先级 100:访问本地网络(192.168.1.0/24)的流量使用主表,打印机和家中服务器仍可访问。
- 优先级 200:来自工作笔记本的流量使用 VPN 表。
- 优先级 300:按需使用 VPN 的手机,仅当流量带有特定标记时才使用 VPN 表。
- 优先级 32766:其余一切使用主表,也就是普通连接。
如果规则 2 排在规则 1 之上,工作笔记本就无法再访问家里的打印机,因为它的本地流量被送进了隧道而无处可去。如果规则 4 意外排在最前面,所有 VPN 规则都永远不会匹配。大多数“策略不起作用”或“打印机不见了”的问题,最后都归结为顺序。
匹配类型对比
| 匹配类型 | 标识的对象 | 适合 | 注意 |
|---|---|---|---|
| 源地址 | 一台设备或一组设备 | 按设备开关 VPN | 地址必须固定,请使用地址保留 |
| 目的地址 | 某台服务器或地址段 | 只把办公室或工作目的地送进隧道 | 背后有多个地址的服务会随时间变化 |
| 端口与协议 | 一类流量 | 让某项服务走 VPN | 很多应用共用常见端口,规则会覆盖过宽 |
| 接口或 VLAN | 整个网段 | 访客 Wi-Fi 或“VPN 专用”Wi-Fi | 需要路由器支持分段 |
| 防火墙标记 | 防火墙设置的标签 | 条件复杂的组合 | 更难读懂,更容易配错 |
基于源地址的规则最容易理解:连在“VPN Wi-Fi”上的设备走隧道,连在普通 Wi-Fi 上的不走。许多家庭选这种方式,因为不需要逐个应用去考虑。
策略路由与相近概念的区别
人们常问它与类似的想法有何不同。
- 应用级分流隧道: 由手机或电脑上的应用来决定,通常按进程名。策略路由在网络层做决定,所以对无法安装 VPN 应用的设备(比如电视或游戏机)同样有效。
- 静态路由: 指向某个目的地的固定路由。它可以把某个地址段送入隧道,但不能按发送设备来选择。
- VPN 路由器与 VPN 应用: 策略路由是路由器方案灵活性的一部分。更全面的比较见 VPN 路由器与 VPN 应用。
- 零信任或按应用访问: 它们工作在身份和应用层面,是完全不同的思路。
一个完整的例子
设想一个家庭,路由器支持策略规则,并已配置了 VPN 连接。
- 爸爸的工作笔记本:192.168.1.20。
- 妈妈的手机:192.168.1.30。
- 智能电视:192.168.1.40。
- NAS 存储:192.168.1.50。
目标是:笔记本始终在隧道内;手机仅在连接名为“Private”的 Wi-Fi 时才在隧道内;电视从不使用隧道;所有设备都能访问 NAS。
他们按顺序设置了四条规则。第一,去往 192.168.1.0/24 的流量使用主表。第二,来自 192.168.1.20 的流量使用 VPN 表。第三,从 Private Wi-Fi 进入的流量使用 VPN 表。第四,其余使用主表。他们还加了第五项:一条防火墙规则,如果 VPN 接口断开,就丢弃来自 192.168.1.20 和 Private Wi-Fi 的流量,起到断网保护的作用。
结果:笔记本始终受保护,手机按 Wi-Fi 选择,电视照常使用,NAS 仍可访问。他们的测试方法是在每台设备上打开 IP 检测页面,确认显示的地址符合预期。

策略路由哪里会出问题
多数故障是悄无声息的。网络照样能用,只是不像你想的那样。
- 隧道断开时泄漏。 如果 VPN 接口断了,VPN 表就失去默认路由。系统可能回落到主表,流量就以明文出去。请加一条规则来阻断这些流量,而不是让它回落。
- DNS 走错路。 设备把域名查询发给路由器,而路由器可能用普通连接。要确保走 VPN 的设备,其 DNS 也经过隧道。见 什么是 DNS 泄漏。
- 忽略了 IPv6。 为 IPv4 写的规则不适用于 IPv6。如果网络分配了 IPv6 地址,设备可能绕过策略。要么也对 IPv6 做路由,要么对这些设备关闭它。
- 地址变化。 如果设备重启后获得了不同的本地地址,源地址规则就不再匹配。请使用 DHCP 地址保留。
- MTU 问题。 隧道会缩小可用的数据包大小。如果没有调整最大包长,经 VPN 表的流量在某些网站上可能会卡住。
- 地址段重叠。 如果你所访问的网络与你家使用同一个私有地址段,本地路由会优先,部分流量会去错地方。
- 旧标记或连接跟踪。 修改规则后,已有连接可能继续沿用旧路径,让测试变得混乱。请重新建立连接,或清除已跟踪的状态。
如何测试一套策略
- 检查规则列表。 按顺序阅读当前生效的规则和路由表,确认与你的意图一致。
- 逐台设备测试。 在每台设备上打开 IP 检测页面,与预期对照。
- 测试 DNS。 对应当在隧道内的设备做 DNS 泄漏测试。
- 测试 IPv6。 使用能报告 IPv6 的网站,确认没有意外的地址。
- 主动断开隧道。 有意断开 VPN,确认受保护的设备会失去网络,而不是改用普通连接。
- 测试本地访问。 在策略生效时打印、打开 NAS、向电视投屏。
- 重启路由器。 确认规则和隧道按正确顺序恢复。
限制与良好习惯
策略路由功能强大,也很容易过度设计。请遵循几条原则。
- 优先使用基于源地址的规则,它们最容易阅读和审查。
- 规则够用就好,并在每条规则旁写一行说明。
- 修改前备份配置,以便恢复到可用状态。
- 不要把路由器上的规则当作针对同一网络中蓄意用户的安全边界。设备的拥有者通常可以修改自己的网络设置。
- 记住:策略路由不会让 VPN 更私密,它只决定哪些流量进入隧道。
- 在路由器上逐步设置时,请使用设备厂商自己的说明,并参考 路由器设置指南。
总结
策略路由让路由器或电脑按来源、端口、接口或标记等规则,而不仅是目的地,来选择数据包的路径。对 VPN 而言,它是让部分设备或流量进入隧道、而其余走普通连接的底层机制。关键在于规则顺序、隧道断开时的兜底措施、一致的 DNS 与 IPv6 行为,以及逐台设备的测试。规则要少而易读,并且要亲自验证,而不是想当然地相信它有效。
如果一张预付的 VPN 通行证能帮你测试这样的设置,可在 价格页面 查看目前的选择。
常见问题
用最简单的话说,策略路由是什么?
它是路由器或电脑根据数据包本身的规则来选择路径的方法,比如是哪台设备发出的、用了哪个端口、被打上了什么标记,而不是只看目的地地址。
策略路由与分流隧道有什么区别?
分流隧道是目标:一部分流量走 VPN,一部分不走。策略路由是实现该目标的一种技术手段,通常在路由器或 Linux 主机上,通过匹配发送设备、端口或防火墙标记的规则来完成。
普通家用路由器能用策略路由吗?
只有固件支持才行。许多消费级路由器提供简单的“按设备开关 VPN”,其实就是藏在友好界面背后的策略路由。更高级的规则通常需要能暴露路由表和防火墙标记的固件。
策略路由生效期间 VPN 断开会怎样?
取决于配置。如果没有兜底规则,本应走 VPN 的流量可能通过普通连接泄漏。设计良好的策略会包含一条规则,在隧道断开时阻止或丢弃这些流量。
使用它必须懂路由表吗?
在界面友好的路由器上做基本的按设备设置,不需要。若要在 Linux 或高级固件上自写规则,在依赖它之前,应当先理解路由、规则优先级,以及 DNS 如何跟随流量。
参考资料
关于作者

Bob Kanokphon Thongdee
- XPASS VPN 创始人
- eSIMonline.asia 联合创始人
- 7 年以上网络营销经验
- Cojourney Visa 与 Cojourney Travel 创始人
继续阅读

VPN 基础
路由器 VPN 还是 VPN 应用:哪种方式适合你的家?
VPN 应该装在路由器上,还是装在每台设备上?本文从速度、智能家居设备、Mesh Wi-Fi、分流和日常便利性几个方面比较两种做法。
阅读约 10 分钟



