跳到主要内容

分流(Split Tunneling)本该很简单:你选择哪些应用或地址走 VPN,哪些使用普通连接。它正常时,网银应用走普通线路,手机其余部分受到保护;它不正常时,结果恰恰与你的设置相反:被排除的应用仍显示 VPN 的地址,想保护的应用却漏到了普通网络,或者家里的打印机之类的本地设备凭空消失。

本文写给那些规则已经设好、但表现不对的人,不是入门介绍;入门内容请先读什么是分流。这里从症状出发,教你逐个应用测试,逐项排查常见原因,最后再看 Windows、Android、iPhone 和 Mac 的差异。

先确认你的应用提供哪种分流

“分流”只是一个统称,背后有好几种机制,多数失败是因为你期待一种行为而应用实现的是另一种。

类型 判断方式 常见字样
按应用,排除式 所选应用绕过 VPN,其余走 VPN “Bypass VPN for selected apps”
按应用,仅包含式 只有所选应用走 VPN,其余绕过 “Use VPN only for selected apps”
按路由 所选网络或地址走隧道 “Allowed IPs”、“routes”
按域名 所选网站名遵循规则 “Domain rules”
本地网络例外 家庭地址留在隧道之外 “Allow LAN”、“local network access”

在改任何设置前,先弄清楚你的应用到底提供什么。不同应用和平台的设置界面各不相同,有些根本没有分流。如果找不到相关选项,那就是答案,请不要用额外工具强行实现。

最常见的误解是把两种按应用的模式弄反。如果你的列表处于“仅包含”模式,把网银应用加进去,就是让网银应用走 VPN,和你想要的正好相反。请再读一遍列表上方的标题,确认它的含义。

一个简单测试:证明每个应用实际在做什么

不要只相信设置界面,要测试真实行为。

  1. 断开 VPN,在所怀疑的应用或浏览器里打开 IP 查询页面,记下显示的地址。这是你的正常地址。
  2. 在没有分流规则的情况下连接 VPN,再查一次。地址应该变了,记下来。这是隧道地址。
  3. 加入你的规则,彻底关闭并重新打开被测应用,再查一次。
  4. 如果被排除的应用显示的是隧道地址,或被包含的应用显示的是正常地址,就说明规则没有被应用。

检查时至少使用两个不同的应用,比如两个浏览器,因为一个应用可能遵守规则而另一个无视。请记住,浏览器报告的是它所用连接的地址,而游戏或聊天软件可能走独立通道。对于没有页面可开的应用,次好的测试是:原来拒绝隧道地址的网站现在是否能用了。

这个测试还会告诉你时机问题。许多 VPN 应用只在下一次建立连接时才应用新规则,应用内已有的连接可能一直留在旧路径上,直到重启。

五个常见原因及对策

原因一:应用通过辅助程序或别的文件启动

现代应用很少只用一个程序。聊天软件可能为通话启动辅助程序,浏览器会开很多进程,游戏启动器会把游戏作为文件名不同的第二个程序启动。如果 VPN 按文件选择应用,规则只作用于你选的那个文件,而不是真正发送数据的辅助程序。

可以这样做:

  • 把主程序以及可见的辅助程序或启动器一起加入列表。
  • 每次修改列表后,先关闭应用,再重启 VPN。重启会让 VPN 重新读取规则。
  • 如果是打包应用或商店应用,看看你的 VPN 应用如何列出这类应用,有些与传统程序的选择方式不同。
  • 对于启动器加游戏的情况,分别测试:关闭启动器、单独启动游戏,再反过来。

不要到系统文件夹里去翻找生僻文件。如果应用有你无法识别的辅助程序,可以改用网络层面的排除,或在那段时间里暂时关闭 VPN。

原因二:DNS 查询仍走另一条路

即使应用流量遵守了规则,之前的域名解析也可能不遵守。如果被排除的应用向 VPN 的 DNS 查询,可能得到本应给隧道使用的地址,或者速度很慢,或者找不到家里的本地服务。反过来,被包含的应用可能把 DNS 问题发给互联网服务商,让本地网络看到。

症状包括:网站在一个浏览器里能开、另一个不行,公司的服务器名找不到,页面最初加载很慢。VPN 分离 DNS解释了为什么域名解析有自己的规则,基础知识可看 DNS 是如何工作的。

可以这样做:

  1. 修改规则后重启应用,以清除缓存的查询结果。
  2. 如果你知道网站的地址,试着直接用地址访问。如果可以,就是 DNS 的问题。
  3. 看看 VPN 应用有没有 DNS 选项。除非支持人员建议,否则保持默认。
  4. 清除浏览器的 DNS 缓存,或重启设备。

原因三:IPv6 绕过了规则

有些网络同时使用 IPv6 和 IPv4。如果规则或隧道只覆盖 IPv4,应用可能通过普通连接的 IPv6 访问网站,看上去像是无视了 VPN。IP 查询页面上显示的可能是一个 IPv6 地址,与你的预期不符。IPv6 规范说明了两套地址为什么并存。

如果测试页面显示两个地址,就同时看一下。若 IPv6 是你的普通地址而 IPv4 是隧道的,说明规则只部分生效。详情见 VPN 的 IPv6 泄漏,也可以考虑在网络适配器上关闭 IPv6 作为测试。只有在你愿意修改网络设置时才这样做,并记下原来的值以便恢复。

原因四:本地网络设备无法访问

常见抱怨是“开了 VPN,打印机、电视或 NAS 就不见了”。家中的设备使用私有地址,例如 RFC 1918 描述的范围。当所有流量进入隧道时,对私有地址的请求可能被送到 VPN 服务器,而服务器根本不认识你客厅里的打印机。

选项从简单到复杂依次是:

  1. 在 VPN 应用里找到允许本地网络或局域网访问选项并打开。
  2. 用分流只排除与设备通信的那个应用,比如打印工具或投屏应用。
  3. 打印或投屏期间关闭 VPN,结束后再打开。
  4. 在手机上检查应用是否有本地网络权限,因为操作系统可能单独拦截。

也要留意反方向的风险。允许本地访问意味着同一网络上的附近设备仍可访问你的设备。在公共 Wi-Fi 上,除非必须使用,否则应保持关闭,因为共享网络恰恰是隔离最重要的场合。

原因五:规则已保存但未生效

有时列表看起来正确,却毫无变化。常见原因:

  • 你编辑列表时 VPN 处于连接状态,而它只在连接时读取规则。先断开,再重新连接。
  • 设备睡眠或切换了网络,悄悄以默认状态重启了隧道。
  • 省电模式或严格的后台限制让 VPN 的辅助进程停止运行。
  • 设备上的其他应用,如第二个 VPN、安全套件或工作配置文件,接管了路由。默认路由只能有一个所有者。
  • 更新改动或重置了已保存的列表。重新打开列表对照一下。

一个整洁的做法:修改规则后,完全断开 VPN,等十秒,再连接,然后重做前面的 IP 测试。如果这样就好了,说明是时机问题,而不是规则本身坏了。

各设备的差异

不同平台行为不同,请选择与你所用设备匹配的建议。

Windows。 规则往往取决于程序文件路径。安装了不同副本,或应用更新后换了新文件夹,都可能让原来有效的规则失效。详见 Windows 上的分流。安全软件和 Windows 防火墙也可能干扰,所以当规则看起来正确却没有变化时要一并检查。

Android。 应用列表通常按已安装的应用选择,比按文件更干净。问题多来自工作配置文件、在另一个浏览器中打开链接的应用,以及电池限制。参见 Android 上的 VPN 分流。

iPhone 和 iPad。 iOS 限制 VPN 应用选择应用的方式。有些 VPN 应用提供按域名或网络的规则而不是逐应用列表,也有的什么都没有。不要想当然地认为有 Android 式的列表。如果找不到,就当作平台限制。

Mac。 Mac 有系统扩展和权限提示,必须批准后 VPN 才能按应用引导流量。如果提示被关掉了,规则就什么也不做。参见 Mac 上的 VPN 分流。

日常场景

不接受 VPN 的网银应用。 丽娜排除了网银应用,却仍看到警告。她发现网银应用会在系统浏览器里打开登录页,而浏览器不在排除列表中。于是她用手机流量在使用网银时暂时关闭 VPN,之后再打开。把整个浏览器排除会违背初衷,所以她没有这么做。

使用公司门户的远程办公者。 卡里姆需要公司门户看到公司网络,其他一切在咖啡馆 Wi-Fi 上走 VPN。他的列表处于“仅包含”模式,里面只有浏览器,因此门户通过隧道打开并被拒绝。改用公司 IT 提供的按路由规则后,门户恢复正常。

带流媒体设备的家庭。 家人把视频从手机投到电视。开着 VPN 时,电视从投屏菜单中消失。在 VPN 应用里启用本地网络访问后恢复,旅行时他们则保持关闭。

限制与好习惯

  • 被排除的应用没有隧道保护。不要只图方便就排除应用。
  • 分流不能保证网站的访问规则或检查会因此改变。
  • 保持列表简短。长列表难以审查,错误容易藏在里面。
  • 每次系统或应用更新后重新测试。
  • 在更改网络选项前,把原来的设置记录下来。
  • 如果某项设置不清楚,保持默认并询问支持人员,不要在共用设备上随意试验。

总结

分流不生效时,先确认应用提供哪种类型,再用简单的地址测试证明每个应用实际在做什么。常见原因包括辅助进程、DNS 查询、IPv6、本地网络访问,以及只在重新连接时才读取的已保存规则。平台差异很重要,有些设备根本不提供逐应用列表。一次只修一个原因,每次修改后重新测试,并记住被排除的应用不受 VPN 保护。

如果你想用简单的预付费方案在自己的设备上试验这些步骤,下载页面提供官方应用,价格页面列出了可选的通行证。

常见问题

为什么已经排除的应用仍在使用 VPN?

许多应用会启动辅助进程、内嵌浏览器内核,或从与你所选文件不同的程序启动。如果 VPN 按程序匹配规则,辅助进程可能不符合你的规则。可以把辅助程序一并加入,或在修改列表后重启应用与 VPN。

开着 VPN 时为什么打印机或 NAS 连不上?

家庭网络中的设备使用私有地址。如果 VPN 把所有流量都送入隧道,这些地址可能无法访问。可以寻找“允许本地网络”选项,或用分流让与该设备通信的应用走隧道之外。

怎样测试分流是否真的生效?

在被排除的应用和未排除的应用中分别打开 IP 查询页面。如果显示同一个地址,说明规则没有被应用。请完全重启应用和 VPN 后再测一次。

被排除的应用就等于没有保护吗?

是的,被排除的应用使用普通连接,不经过 VPN 隧道,因此暴露于本地网络能看到的内容。只排除你了解的应用,并避免在不可信的 Wi-Fi 上这样做。

我的 VPN 应用没有分流选项怎么办?

并非所有 VPN 应用或平台都提供该功能。你可以只在那项任务期间暂时关闭 VPN,或使用单独的浏览器配置文件或设备。不要为了强行实现而安装不可信的额外工具。

关于作者

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 分流(Split Tunneling)

一份面向 Windows 的 VPN 分流实操指南:先决定哪些流量不走隧道,再选择合适的方法设置,最后用可靠的步骤验证结果。

阅读约 10 分钟

设备指南

安卓 VPN 分应用代理设置指南

一份实用的安卓分应用 VPN 指南:在包含与排除名单之间做选择,建立名单、测试效果,并处理常见问题。

阅读约 9 分钟

设备指南

macOS 上的分流(Split Tunneling):做法与局限

从实用角度讲清 Mac 上的 VPN 分流:macOS 自身提供什么,按应用与按路由有何不同,如何验证,以及它的局限。

阅读约 10 分钟

VPN 安全

VPN 的 Split DNS(分流 DNS)是什么

Split DNS 让设备按域名选择不同的解析器:内部名称走 VPN,其他名称走平时的解析器。本文介绍原理、使用场景和检查方法。

阅读约 9 分钟