VPN 与加速器

VPN与系统代理深度解析二者对网络访问路径的影响机制

很多普通用户甚至运维人员都容易混淆VPN和系统代理的路由逻辑,二者虽然都能改变部分网络请求的走向,但底层对访问路径的干预层级、覆盖范围、生效逻辑完全不同,本文从实际Windows、macOS设备的配置场景出发,拆解VPN与系统代理对访问路径的影响机制,给出可复现的验证方法,梳理日常使用中的常见故障点,帮助用户快速判断当前设备的网络请求实际转发链路。

设备演示VPN与系统代理对访问路径的影响(ExpressVPN)

可视化呈现不同层级的网络转发逻辑,可直观区分VPN与系统代理对访问路径的干预差异。

二者干预网络路径的底层层级差异

系统代理的生效位置是操作系统的应用层钩子,只有主动读取系统代理配置的应用才会走代理转发,比如Windows上的Edge、Chrome默认会读取Internet选项里的代理设置,但是很多老旧的桌面客户端、本地部署的行业软件、多数网络游戏进程根本不会调用系统代理接口,这类进程的网络请求会直接绕过代理配置,走本地默认网关完成访问。

VPN的生效位置是操作系统的网络层,配置VPN成功之后系统会生成独立的虚拟网卡,路由表会被直接修改,生成的路由规则优先级高于本地物理网卡的默认路由规则,所有没有被指定排除的流量都会直接导向VPN虚拟网卡,不需要应用本身做任何适配,就能实现全进程的路径干预。

最直观的对比场景是,你在Windows里手动配置了本地端口的系统代理,加速器打开命令提示符执行ping公网地址的操作,走的还是本地运营商网关的路径,不会经过代理服务器,但你连上任意标准IPsec或者OpenVPN类型的VPN之后,同样的ping请求就会直接走VPN隧道转发,这是二者最核心的层级差异。

路径影响范围的实际配置验证方法

验证系统代理的路径影响时,可以先清空所有VPN连接,在系统代理页面填入已知的代理服务器地址,然后打开适配系统代理的浏览器访问公网IP查询网站,浏览器显示的出口IP是代理服务器的IP,这时候你打开系统的路由表,Windows用route print命令,macOS用netstat -rn,看不到任何新增的全局路由规则,VPN加速器只有适配了代理的应用的请求才会走指定路径。

验证VPN的路径影响的操作,连接VPN之后再执行同样的路由查询命令,就能看到新增的指向VPN虚拟网卡的路由条目,默认全量模式的VPN会直接替换系统默认路由,所有请求的下一跳都指向VPN虚拟网卡,这时候你再用命令行执行curl同样的IP查询接口,返回的出口IP和浏览器的完全一致,不会出现应用之间路径不统一的情况。

部分分流模式的VPN不会替换全局默认路由,只会给指定网段生成指向虚拟网卡的路由,这种场景下只有访问预设的目标网段的请求才会走VPN隧道,其余流量还是走本地网关,这种模式的路径影响范围和全量生效的系统代理也有明显区别。

配置冲突场景下的路径优先级逻辑

很多用户会同时开启系统代理和VPN,这时候的路径走向不是简单的二选一,系统会先按照路由表的规则判断目标IP的下一跳,如果下一跳指向VPN虚拟网卡,那么请求会先进入VPN隧道封装,再通过VPN的出口转发,系统代理的配置不会对这部分流量生效。

如果路由表里的目标IP下一跳是本地物理网卡的默认网关,那么已经适配系统代理的应用的请求,会先转发给本地配置的代理服务器,再走本地网关的链路发出去,没有适配代理的应用直接走本地网关访问目标地址,相当于同一台设备上同时存在三条不同的访问路径。

常见的故障定位场景,很多用户反馈开了VPN之后部分浏览器请求还是走代理,本质上是浏览器的代理插件强制覆盖了系统代理配置,同时VPN的全局路由规则没有覆盖代理服务器的内网地址,导致浏览器的请求先发给代理服务器,再走本地链路,没有进入VPN隧道,就会出现IP查询结果和VPN出口IP不一致的情况。

隐私边界与路径异常排查思路

从路径影响的范围来看,系统代理的隐私边界只覆盖适配代理的应用进程,其余进程的网络请求完全不会被转发,不会出现非预期的流量泄露到代理服务器的情况,VPN加速器而全局模式的VPN的隐私边界覆盖所有系统进程,所有流量都会进入VPN隧道,只要路由规则没有配置排除项,就不会有流量直接走本地链路。

日常排查路径异常的时候,不要只看浏览器的IP查询结果,要同时用命令行的traceroute工具追踪目标地址的完整路径,看第一跳的地址是本地网关、代理服务器地址还是VPN虚拟网卡的内网地址,就能快速定位当前请求到底是走了直连、系统代理还是VPN隧道,避免被单一应用的返回结果误导判断。

远程办公编辑组(ExpressVPN)
远程办公编辑组
内容编辑

围绕办公网络、视频会议和远程访问,说明连接准备与常见排查步骤。

查看更多文章
连接指南

找到适合当前设备的指南

遇到丢包只出现在探测工具相关问题,可从“对照实际业务和终点响应后再判断”开始阅读。不能仅凭被限制的探测推断所有业务都丢包,需要结合具体环境判断。