跳到主要内容

在 Windows 上,让一部分流量走 VPN、其余流量直接上网,有不止一种做法,哪种合适取决于你的 VPN 是怎么安装的。这篇文章从实操角度讲 Windows 上的 VPN 分流:先决定哪些流量应该留在隧道之外,再选择适合自己环境的方法,最后检查分流是否真的发生,而不是设置完就想当然。如果你想先弄懂概念,可以先读什么是分流(Split Tunneling),再回到这里。

本文只针对一台 Windows 10 或 Windows 11 电脑。菜单名称会随版本略有变化,请把文中的路径当作参考,找不到时在“设置”的搜索框里查找。

先决定哪些流量留在隧道之外

分流最常见的问题并不是技术上的,而是随手打开功能,随便勾几个应用,最后说不清哪些流量受到了保护。先花五分钟列一张清单。

对每个应用或设备问同一个问题:“如果不经过隧道,直接走我现在所在的网络,我能接受吗?”能接受的,可以考虑排除;不能接受的,就留在隧道里。

流量 是否通常排除 原因
家里的网络打印机或扫描仪 通常需要 它在本地网络中,被推进隧道后常常无法使用
NAS、媒体服务器、智能家居网关 通常需要 同样,本地地址必须留在本地
拒绝 VPN 连接的银行或支付应用 视情况 仅限在可信网络上,例如家里的路由器
延迟很高的在线游戏或语音聊天 视情况 直连可能降低延迟,但该应用就不再受隧道保护
必须通过公司 VPN 访问的工作工具 不应排除 这正是需要隧道的原因
酒店或咖啡馆 Wi-Fi 上的浏览器 不应排除 这是隧道最该保护的流量
软件更新和大文件下载 视情况 排除可节省隧道容量,但本地网络会看到下载来源

可以把自己的版本写在纸上,只需“隧道内”和“隧道外”两列。凡是拿不准的,都放在隧道内,因为全隧道才是更安全的默认值。

在 Windows 电脑里到底发生了什么

Windows 维护一张路由表,里面是一条条规则:“去往这个目的地的流量,从那块网卡出去”。VPN 连接后会增加一块虚拟网卡,然后要么替换默认路由让所有流量进入隧道,要么只加几条范围更窄的规则,让部分目的地进入隧道。

所以分流其实只是另一套规则,常见有两种风格。

  • 排除模式。 除了你列出的应用或地址,其他全部走隧道。适合家里的电脑,只有少数设备必须留在本地。
  • 包含模式。 除了你列出的应用或地址,其他都不走隧道。适合只需要通过隧道访问公司网络的工作笔记本,其余直接上网。

多数提供该功能的消费级 VPN 应用按应用分流,容易理解;Windows 自带的 VPN 配置文件则按目的网络分流,更精确,但需要知道地址。下面三种方法就是按这个思路划分的。

方法一:使用 VPN 应用里的分流选项

这是最简单的路线,建议先试。打开你的 VPN 应用,在设置里找名称类似“分流”“应用排除”“绕过列表”的部分,看它提供哪种模式。

  1. 先断开 VPN,以便从一个明确的起点开始测试。
  2. 打开应用设置,找到分流或按应用设置的部分。不同应用和版本,措辞会不一样。
  3. 选择模式。家用电脑一般从排除模式开始。
  4. 通过选择可执行文件来添加应用,通常位于 C:\Program Files 或 C:\Program Files (x86)。浏览器和游戏启动器常常还会运行辅助程序,先排除主程序,再测试。
  5. 保存并重新连接,然后做下文的验证步骤。

如果应用里没有这个选项,并不是你操作错了。很多应用有意只提供全隧道模式。XPASS 用户使用的免费 VPNclient 应用,其应用商店说明里并没有写明分流界面,所以请以你手上的应用实际显示为准,不要只依赖本文。如果没有,可以选择让所有流量都走 VPN,或为那一个有问题的应用暂时断开,或者在你有 Windows VPN 配置文件的情况下使用方法二。了解通行证的整体情况,可以看下载页和价格页。

方法二:用设置或 PowerShell 为 Windows VPN 配置文件分流

这种方法只适用于存放在 Windows 自身里的 VPN 配置文件,也就是在“设置 > 网络和 Internet > VPN”中能看到的连接。自带虚拟网卡的应用自己管理路由,改 Windows 配置文件对它们没有影响。

使用经典的网络连接窗口

  1. 按 Windows 键,输入“查看网络连接”,打开结果。
  2. 右键点击 VPN 网卡,选择“属性”。
  3. 在“网络”选项卡里选中“Internet 协议版本 4 (TCP/IPv4)”,点“属性”,再点“高级”。
  4. 在“IP 设置”选项卡中,取消勾选“在远程网络上使用默认网关”。
  5. 逐层点“确定”,然后重新连接。

取消勾选后,Windows 不再把所有流量都送进隧道。需要注意的是,此时只有 VPN 默认通告的网络(通常是它自己的子网)会走隧道。想加入特定目的地,就要用 PowerShell。

使用 PowerShell

打开 PowerShell 依次运行下面的命令,把名称换成你在“设置”里看到的配置文件名,必须完全一致。

Get-VpnConnection
Set-VpnConnection -Name "Office" -SplitTunneling $True
Add-VpnConnectionRoute -ConnectionName "Office" -DestinationPrefix 10.20.0.0/16

第一条命令列出配置文件,方便你复制名称;第二条开启分流;第三条添加必须走隧道的目的地,用 CIDR 格式书写。10.x.x.x、192.168.x.x 这类私有地址段在 RFC 1918 中有说明,如果你不熟悉这种写法,值得一读。要撤销某条路由,用 Remove-VpnConnectionRoute 并带上相同的参数。微软关于在 Windows 中连接 VPN 的支持页面,解释了配置文件如何创建以及出现在哪里。

这实际上是包含模式:VPN 只承载你列出的网络,其余直接出去。如果你想要相反的效果,也就是全隧道加少量例外,请用方法一或方法三。

方法三:手动查看和调整路由表

只有在你清楚自己在改什么的时候才使用这种方法,因为一条错误的路由可能让你无法上网。不过,它也是查看其他方法究竟做了什么的最佳途径。

  1. 打开命令提示符,运行 route print,查看 IPv4 路由表。目的地为 0.0.0.0、子网掩码为 0.0.0.0 的那一行就是默认路由。
  2. 记下接口地址和跃点数(metric)。当两条路由同样匹配时,跃点数低的优先。
  3. 连接 VPN 后再运行一次 route print。如果默认路由现在指向 VPN 网卡且跃点数更低,说明是全隧道。
  4. 想让某个本地地址直接出去,可以通过原有网关添加一条更具体的路由,例如 route add 192.168.1.50 mask 255.255.255.255 192.168.1.1,请换成你自己的打印机和路由器地址。
  5. 重启或断开连接后,这条路由会消失,因为添加时没有使用 -p 选项。这是你试验阶段的一道安全保护。

更具体的路由总是胜过默认路由,所以针对单个地址的打印机规则即使在全隧道下也能生效。不要添加你自己解释不清的路由,在路由正常工作几天之前也不要使用持久化选项。

证明分流真的生效了

没有测试过的设置只是猜测。每次修改后都做一遍下面的简短检查,第一次重启后再做一次。

  1. 对比公网 IP。 在走隧道的浏览器里查看你的公网 IP,再从被排除的应用或被排除的浏览器配置中查看一次。两个地址应该不同。如果相同,说明该应用仍在隧道里,或者 VPN 根本没有连上。
  2. 追踪一个目的地。 对走隧道的目的地运行 tracert 8.8.8.8,对被排除的目的地,对打印机地址运行 tracert。前者的第一跳应是 VPN 网关,后者应是你家里的路由器。
  3. 检查 DNS。 分流可能让域名解析请求发给错误的解析器。先读什么是 DNS 泄漏,在 VPN 开启时做一次测试,确认应受保护的流量的解析请求没有出现在你的网络服务商那里。
  4. 重启后重复。 某些驱动和按应用的规则只有在重启后才会完全生效。如果结果有变化,以重启后的为准。

如果结果和预期不符,一次只改一处。同时改两处,就无法知道到底是哪一处修好或搞坏了问题。

三个真实场景

家庭办公室与网络打印机。 小雅在台式机上办公,全天开着 VPN 用于公司工具和日常浏览。每次连接后,激光打印机都会从打印机列表里消失。她用应用里的本地网络选项排除了本地子网,或者按方法三添加一条单地址路由,打印机就回来了,而浏览器仍在隧道里。

既要访问校园门户又想在咖啡馆保持安全的学生。 小明在咖啡馆学习,浏览网页时想开着 VPN。学校门户一发现隧道就要求额外验证。他没有整天关掉 VPN,只排除了用于登录门户的那个浏览器配置,先在家里测试,其他仍留在隧道内。如果他的应用不支持按应用排除,就在登录门户时断开,登录完马上重新连接。

只需要访问公司网络的远程办公者。 小林有一个公司管理的 Windows VPN 配置文件,IT 部门给了她办公室的网段。她在配置文件里启用分流,用 Add-VpnConnectionRoute 添加办公网段。视频会议和音乐直接出去,文件服务器走隧道。是否允许这样做由公司决定,所以她先核对了规定;NIST 的远程办公安全指南也讨论过组织为何会在全隧道和分流之间做选择。

常见错误与快速修复

  • 排除了错误的可执行文件。 排除的是启动器,真正联网的是另一个文件。到任务管理器的“详细信息”选项卡里查看实际联网的进程名。
  • 忘了辅助进程。 浏览器会用单独的进程联网。如果被排除的浏览器仍显示隧道地址,把辅助进程也排除,或换一个浏览器测试。
  • 在公共 Wi-Fi 上把应用留在隧道外。 在家里排除银行应用的理由,在机场并不成立。关闭排除,或者用手机流量处理那件事。
  • 混用多种方法。 同时使用应用级排除和 Windows 配置文件路由,结果很难解读。只用一种方法。
  • 路由掩码写错。 掩码 255.255.255.0 覆盖 254 个地址,而不是一个。确认这正是你想要的。
  • 从不在重启后测试。 没用持久化选项添加的路由重启后会消失,看起来就像 VPN“忘记”了你的设置。
  • 把防火墙弹窗怪到 VPN 头上。 如果 Windows 询问是否允许程序在专用或公用网络上通信,请作出选择。VPN 连接不上这篇指南介绍了会阻止隧道本身的提示。

局限与注意事项

分流是用保护换便利。任何被排除的流量,所受保护都不比关闭 VPN 时更好,包括它所联系的目的地以及网络运营者能看到的内容。被排除的应用还可能把你的真实地址暴露给服务方,如果你选择 VPN 就是为了不让这个地址被看到,这一点就很重要。

它也不是解决网速慢的通用办法。如果所有东西都慢,在断定隧道是原因之前,先读VPN 为什么慢。按应用的列表可能因为程序更新后文件位置变化而失效,所以要定期检查。公司发放的笔记本可能被策略锁定,即使 Windows 允许你修改 VPN 路由,这样做也可能违反合规要求。

最后,不要用排除功能去规避某项服务的规则。如果某个应用不允许 VPN 连接,正当的做法是在可信网络上不开隧道使用它,而不是去找绕过的办法。

总结

要在 Windows 上做好 VPN 分流,先写出一份清单,列明哪些在隧道内、哪些在隧道外;再选择你的环境支持的方法(应用选项、Windows VPN 配置文件加 PowerShell,或谨慎的路由表修改);最后用公网 IP 对比、路径追踪和 DNS 检查来确认结果,并在重启后再验证一次。敏感流量留在隧道内,排除项尽量少,换网络时重新审视。

如果你需要一份与行程或项目时长相匹配的通行证,可以按自己的节奏看看价格页。

常见问题

Windows 自带分流功能吗?

如果 VPN 是在 Windows 系统里自己创建的配置文件,可以取消勾选“在远程网络上使用默认网关”,或用 Set-VpnConnection 命令加 SplitTunneling 开关来分流。自带虚拟网卡的 VPN 应用通常自己管理路由,应先查看应用内的设置。

把某些应用放在 VPN 隧道之外安全吗?

对于你本来就愿意走普通网络的流量,比如可信网络上的银行应用或家里的打印机,风险不大。但隧道之外的流量对当前网络是可见的,所以在公共 Wi-Fi 上不要排除处理敏感数据的应用。

怎么确认分流真的生效了?

分别打开一个被排除的应用和一个走隧道的应用,查看它们各自使用的公网 IP,两者应当不同。再用 route print 或 tracert 查看目的地走的是哪块网卡,并在重启后重复检查。

为什么连上 VPN 后打印机或 NAS 找不到了?

全隧道模式下,发往本地地址的流量可能被推进隧道,到不了家里的网络。排除本地子网,或开启应用里的“访问本地网络”选项(如果有),通常能让设备恢复。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

  • XPASS VPN 创始人
  • eSIMonline.asia 联合创始人
  • 7 年以上网络营销经验
  • Cojourney Visa 与 Cojourney Travel 创始人

短途出行或忙碌的一个月,需要 VPN?

XPASS 提供按天数计算的预付通行证。一次付款,不会自动续费。

查看通行证

继续阅读

VPN 安全

什么是分流隧道(Split Tunneling)?

分流隧道让你选择哪些应用或网站走 VPN,哪些直接访问互联网。它很灵活,但也会改变被保护的范围。

阅读约 9 分钟

设备指南

如何在 Windows 上设置 VPN

分步说明:下载并安装 Windows 版 VPNclient,处理 Windows 安全提示,用 My Pass 上的信息登录并连接。

阅读约 7 分钟

VPN 安全

什么是 DNS 泄漏?

DNS 泄漏是指设备在 VPN 隧道之外查询网站地址。本文说明它为什么发生、如何检测,以及该怎么处理。

阅读约 10 分钟

隐私指南

开着 VPN 用银行应用安全吗?为什么有时用不了

银行应用本身已经加密,许多应用还会对 VPN 连接做出反应。本文解释原因、被拦截时的处理办法,以及出国时如何安全使用银行服务。

阅读约 9 分钟

故障排除

如何修复常见的 Windows VPN 错误(809、789、691)

分步讲解最常见的 Windows VPN 错误代码:含义、各自常见的原因,以及最稳妥的优先尝试方法。

阅读约 7 分钟