VPN 分流是什么:让一部分流量走隧道,其余保持直连

分流,英文叫 Split Tunneling,指的是由用户或规则决定哪些流量进入 VPN 隧道、哪些继续走本地网络。与之对应的“全局模式”则是把设备上的所有流量统一送进隧道。分流的价值很实际:本地银行网站、本地视频、局域网里的打印机和投屏设备,没必要绕一大圈去线路出口再回来,直连反而更快、更稳定;而真正需要稳定出口的应用,则继续走隧道。

全局与分流的流量走向
全局与分流的流量走向

三种常见的分流方式

不同客户端的叫法不同,但思路大致可以归为三类。

按应用分流:以程序为单位决定走哪里

这种方式以应用为粒度:指定某几个程序走隧道,其余直连;或者反过来,指定某几个程序绕过隧道。Android 系统本身就支持为每个 VPN 设置允许或排除的应用,Windows 和 macOS 上则要看客户端是否提供了进程规则。优点是直观,普通用户不需要理解 IP 和域名;缺点是对于同一个应用里不同请求的区分无能为力。

按域名或 IP 规则分流:以目的地为单位

规则模式根据目标域名、IP 段或地区归属来决定流量走向,常见于支持订阅规则的代理客户端。粒度更细,可以做到“同一个浏览器里,A 网站走隧道,B 网站直连”。代价是需要维护规则,规则写错或过期会造成“该直连的走了隧道、该走隧道的直连了”。

反向分流:先全局,再设排除名单

最容易上手的是“全局加排除”:默认所有流量都进隧道,再把已知需要直连的应用、网段或域名加入绕过名单。局域网网段(比如常见的 192.168 开头的地址段)、本地银行和支付应用,是最常见的排除对象。

方式粒度适合谁需要注意
按应用分流应用想简单区分几个常用软件的用户应用有多个进程或启动器时容易漏
按域名、IP 规则分流目的地址需要同一应用内区分不同网站的用户规则需要维护,规则顺序影响结果
全局加排除名单应用或网段刚开始用、希望出问题时容易排查的用户排除名单要随应用更新而调整

配置步骤:一次只改一处,改完就验证

  1. 先列清单:把平时用的应用分成“必须走隧道”“必须直连”“无所谓”三类,其中“必须直连”一般包括网银、本地视频和局域网设备。
  2. 先用全局模式确认线路本身可用,再开始分流,避免把线路问题误当成分流问题。
  3. 把确定要直连的应用或网段加入绕过名单,保存后重连隧道,因为有些客户端要重建隧道才会应用新规则。
  4. 逐个验证:打开被排除的应用,看看出口地址是否是本地;再打开需要加速的应用,看出口是否是线路所在地。
  5. 把设置记在备忘里,换设备或重装客户端时可以照着恢复。

分流中最容易踩的三个坑

坑一:应用有多个进程,只加了一个

浏览器通常有主进程、网络进程、渲染进程;游戏往往有启动器和游戏本体两个程序;聊天软件有时还带独立的更新进程。按应用分流时,如果只把其中一个加入名单,另外的进程仍然会走默认路径,表现就是“明明排除了,却还是走隧道”。遇到这种情况,在任务管理器里把相关进程都找出来再添加。

坑二:规则顺序决定最终走向

规则模式里,通常是自上而下匹配,命中第一条就不再往下。把“直连所有本地地址”的规则放在“全部走隧道”之后,前者就永远不会生效。检查规则时,先看顺序,再看内容。

坑三:域名解析走了另一条路

分流之后,DNS 查询走哪条路径也需要确认。如果被排除的网站,其域名解析仍然交给隧道内的解析服务,可能得到一个并不适合本地网络的地址,表现为访问变慢或者加载不全。反过来,需要走隧道的网站如果在本地解析,也可能返回不一致的结果。排查时可以先在客户端里确认 DNS 的处理方式,再对照上述规则检查。

设置分流前先分三类
设置分流前先分三类

我自己的用法是:电脑上用“全局加排除”,把局域网网段和网银加入排除名单;手机上用系统的按应用选项,只让需要稳定出口的几个应用走隧道。如果想找一款分流设置比较直观的客户端试用,可以看看 TonBoVPN,实际有哪些分流选项,以客户端内的设置页为准。

小结:分流是为了少绕路,不是为了多折腾

如果你的需求只是浏览网页和使用几个常用应用,全局模式已经够用;当你发现本地网站变慢、局域网设备连不上、网银反复要求重新验证时,再考虑分流。设置的原则是一次只改一处、改完立刻验证,并把调整记在备忘里。