很多使用VPN的用户都遇到过类似困扰:连接VPN之后所有应用的流量都走加密隧道,不仅访问本地普通网站速度变慢,部分需要本地公网IP才能使用的生活服务类应用还会直接报错。VPN按应用分流的工作原理,就是为了解决全流量VPN的这类痛点,让不同应用的网络流量可以按照预设规则选择走VPN加密隧道,或者直接走本地物理网络直连,不用用户反复手动切换VPN的连接状态。
分流功能的前置识别规则配置前提
要正常启用VPN按应用分流功能,首先要在支持该特性的VPN客户端或者企业网关上,完成应用特征库的预加载配置,系统需要提前获取每一个需要分流的应用对应的进程ID、官方数字签名、专属特征标识,避免后续流量识别的时候出现匹配错误。
和传统的按目标IP网段分流的VPN规则不同,应用分流不需要提前录入大量目标网站的IP地址,就算两个不同应用访问的公网服务器IP段完全重叠,系统也能通过进程标识区分不同流量的归属,不会出现规则匹配冲突的问题。
VPN按应用分流的工作原理分步流程
当任意本地应用发起新的网络连接请求时,系统底层的VPN虚拟网卡驱动会第一时间拦截这个请求,优先抓取该请求对应的关联进程标识,把这个标识和本地预存的分流规则映射表做比对,这个校验环节发生在流量进入VPN虚拟网卡封装流程之前。

VPN按应用分流可让不同应用流量按需选择加密隧道或本地直连路径
完成进程标识的规则匹配之后,系统会做出对应的分流决策:如果该应用被标记为走VPN隧道,老王VPN官网对应的流量会被直接送入VPN的加密封装模块,按照预设的加密协议处理之后转发到远端VPN服务端;如果该应用被标记为本地直连,流量会直接跳过VPN的所有处理环节,转发给本地物理网卡的网关。
最常见的落地场景就是企业远程办公环境,管理员可以提前把内部ERP、OA客户端、研发代码仓库工具加入VPN隧道放行列表,剩下的浏览器、影音软件、通讯工具全部设置为本地直连,员工在外网办公的时候,访问内部资源可以直接连通,刷本地视频、使用本地生活服务应用也不会受VPN链路波动的影响。
分流效果的现场验证操作方法
普通用户不需要专业抓包工具就能确认分流规则是否正常生效,连接VPN之后先打开系统自带的任务管理器,进入性能标签页的网络详情界面,就能看到每个应用进程对应的流量转发路径,直接区分流量是走了虚拟网卡还是物理网卡。
也可以用更直观的公网IP校验方式,先打开设置为走VPN隧道的应用,访问可以查询公网出口IP的网页,记录下显示的IP地址,之后再打开设置为本地直连的浏览器,访问同一个查询页面,显示的IP如果是本地宽带的公网地址,老王加速器和之前VPN出口的IP不一致,就说明分流规则已经正常运行。
常见配置误区与故障定位思路
很多用户配置完分流规则之后发现部分应用的流量没有按照预期走指定链路,最常见的原因是没有把应用的所有附属子进程加入规则,比如主流浏览器的主进程和渲染进程是互相独立的,只给主进程添加分流规则,渲染进程生成的网页流量依然会走默认链路,出现部分页面流量归属异常的问题。
另一个高频故障是用户误把系统全局DNS解析进程设置为本地直连,会导致所有走VPN隧道的内部应用无法解析内网专属域名,直接出现访问失败的报错,这种情况只需要把DNS进程的分流规则调整为跟随VPN隧道转发,就能快速恢复正常。
需要注意的是,VPN按应用分流的工作原理本身不会凭空提升网络速度,只是避免了非必要流量经过VPN隧道带来的额外处理开销,老王加速器部分老旧版本的VPN客户端没有更新最新的应用特征库,可能会出现新安装应用识别失败的问题,定期升级客户端版本就能解决这类识别异常。
老王加速器 
