很多用户在日常使用VPN的过程中,经常碰到连接后访问内网资源不通、VPN加速器公网访问路径异常的问题,大部分时候都把故障原因归到网络带宽不足或者VPN客户端存在bug上,实际上这类异常的核心来源,是VPN数据封装机制和普通联网的底层处理逻辑存在本质差异,我们可以从现象排查的角度逐层拆解VPN数据封装:与普通联网的区别,快速定位绝大多数常见的连接异常问题。
普通联网的原生数据传输逻辑排查基准
我们先搭建排查的基准对照体系,先确认普通联网状态下的数据包封装规则,没有开启任何VPN相关服务的时候,设备发出的以太网帧只需要经过两层基础封装,内层是TCP或者UDP的传输层头,外层是对应公网目标IP的IP头。

普通联网状态下的数据包仅包含传输层头与公网IP头两层基础封装,无额外加密字段
你可以在本地开启系统自带的抓包工具,随便访问一个公网站点,过滤IP协议包就能看到,所有向外发送的数据包源IP都是你当前运营商分配的公网地址,数据包的头部没有额外的加密字段,传输路径上的运营商节点、中间路由设备都能直接读取数据包里的源目地址和未加密的明文内容。
普通联网的配置前提非常简单,只要本地物理网卡获取到正确的DHCP地址、网关和DNS服务器地址,就能直接完成三层路由转发,不需要额外的虚拟网卡驱动介入处理流量。
VPN数据封装的核心新增处理环节
当你启动VPN客户端完成服务端认证连接之后,系统会生成一块独立的虚拟网卡,所有匹配VPN路由规则的流量都会先被转发到这块虚拟网卡做二次封装,这也是VPN数据封装:与普通联网的区别最核心的起点。
你可以在系统的网络适配器列表里找到新出现的VPN虚拟网卡,查看它分配的地址,这个地址一般是企业内网或者VPN服务端分配的虚拟网段地址,VPN加速器和你本地运营商给的公网IP不属于同一个网段。
二次封装的过程里,原始的普通IP数据包会被完整作为载荷,外层再套一层新的公网IP头,指向VPN服务端的公网地址,同时整个内层的原始数据包还会被加密处理,外层路由节点只能看到最外层的源目地址,无法读取内层的传输内容。
两类传输模式的故障定位差异点
普通联网出现访问故障的时候,排查路径非常直接,依次检查本地网卡配置、网关连通性、白鲸DNS解析结果、目标端口连通性就能定位大部分问题,不需要考虑额外的封装处理带来的变量。
而VPN连接后出现访问异常的时候,你首先要区分故障出在封装前还是封装后,先断开VPN测试普通联网状态下访问公网是否正常,排除本地运营商链路本身的问题之后,再重新连接VPN做逐层排查。
第一步先检查VPN客户端生成的虚拟网卡是否获取到了正确的内网IP地址,如果虚拟网卡显示无IP或者地址冲突,说明VPN服务端的地址分配池已经耗尽,需要联系服务端管理员扩容,这个问题在普通联网场景下只会出现在本地局域网的DHCP服务故障,和VPN的故障触发逻辑完全不同。
常见的配置误区校验规则
很多用户误以为开启VPN之后所有流量都会走加密封装隧道,实际上大部分VPN客户端默认会设置分流规则,只有匹配指定网段的流量才会走封装隧道,其余流量还是按照普通联网的逻辑直接转发,你可以在VPN客户端的路由配置页面查看当前的分流规则列表,确认你要访问的目标地址是否在隧道转发的范围内。
还有不少用户碰到过连接VPN之后本地打印机、局域网共享文件夹无法访问的问题,这是因为VPN的默认路由规则把所有本地局域网流量也导向了虚拟封装隧道,你只需要在VPN配置里添加本地局域网网段的直连路由,就能恢复普通联网状态下的本地局域网访问能力。
需要注意的是,VPN数据封装本身不会改变原始数据包的传输内容,只是增加了外层的加密封装头,不存在所谓的自动提速效果,部分场景下访问跨地域内网资源的体验变好,只是因为封装后的流量走了VPN服务端的专属专线链路,VPN加速器和普通公网的公共转发路径不同。
白鲸官网 



