VPN 与加速器

VPN断开后网络异常常见原因排查与修复方法汇总

VPN断开后网络异常常见原因排查与修复方法汇总 | shadowrocket

很多用户在日常使用VPN访问企业内部办公资源、shadowrocket合规境外学术资料的时候,经常遇到VPN手动断开或者意外断线之后,本地普通网页、内网共享文件夹、本地局域网打印机都无法正常访问的情况,这类VPN断开后网络异常的常见原因大多和系统底层网络配置的残留有关,我们可以从不同使用场景一步步定位故障,不用直接强制重启设备就能解决大部分问题。

网络设备:VPN断开后网络异常:常见原因

用户在日常办公环境下通过系统命令行工具排查VPN断线后的网络路由残留故障

系统路由表残留VPN规则导致的网关冲突

这是日常使用中概率最高的故障场景,很多人用Windows自带VPN客户端或者开源VPN工具的时候,VPN连接阶段会自动生成指向VPN虚拟网卡的临时默认路由,把所有流量都导向远端服务器,正常断开的时候程序应该自动删除这条临时路由,但如果是VPN进程意外崩溃、shadowrocket下载电脑直接休眠唤醒后断线,这条路由规则就会留在系统配置里。

检查步骤非常简单,Windows用户可以按下Win+R输入cmd打开命令提示符,输入route print查看活动路由列表,找到0.0.0.0网段的条目,如果除了本地物理网卡的网关条目之外,还存在指向VPN虚拟网卡IP的默认路由,就说明是残留规则导致的网关冲突。

修复的时候直接在命令行输入route delete 0.0.0.0删掉多余的默认路由,之后系统会自动加载本地网卡原本的网关规则,验证的时候随便打开一个常用的普通网页,能正常加载就说明这个故障点已经排除,很多用户遇到这种情况直接重启家用路由器,完全找不到问题根源,其实故障点出在本地电脑的配置里,和上层网关没有关系。

DNS服务器配置被VPN客户端强制篡改未恢复

不少企业级VPN客户端为了避免用户断线后访问公网时泄露内部资源的专属域名,会在连接阶段把系统DNS改成企业内部的解析服务器,正常断开之后应该自动切回用户原本的运营商DNS,但部分客户端没有适配Windows或者macOS的最新系统权限,断开VPN之后没有把DNS配置改回来。

验证方法也很容易操作,Windows用户可以在网络和共享中心里点开当前连接的属性,找到Internet协议版本4的配置项,查看首选DNS服务器地址,如果显示的是陌生的内网IP,不是自己运营商的公共DNS或者之前手动设置的公共DNS地址,就说明DNS配置残留。macOS用户可以在系统设置的网络详情里查看DNS标签页的条目,同样能看到残留的VPN专属DNS地址。

修复的时候直接把DNS配置改回自动获取,或者手动填写常用的公共DNS地址,之后在命令行输入ipconfig /flushdns刷新本地DNS缓存,就可以恢复正常的域名解析,常见误区是很多用户以为自己网络欠费了,反复检查宽带账单,其实只是解析地址不对,导致所有网页都无法正常打开。

虚拟网卡状态异常占用网络优先级

部分VPN安装的时候会在系统里生成专属的虚拟网卡,长期使用之后如果多次异常断线,这个虚拟网卡可能会处于假连接的状态,系统的网络优先级列表里把这个已经没有实际流量的虚拟网卡排在物理网卡前面,所有网络请求都先往不存在的虚拟通道发,自然就会出现网络完全不通的情况。

排查的时候可以打开系统的网络连接列表,找到对应VPN的虚拟网卡,右键选择禁用,等待几秒之后再重新启用,或者直接卸载掉长期不用的VPN客户端附带的多余虚拟网卡,之后再测试普通网络访问状态。

还有一种常见场景是用户同时安装了多个不同的VPN客户端,多个虚拟网卡的优先级互相冲突,只要全部禁用非当前在用的多余虚拟网卡,就能解决大部分优先级错位导致的网络异常。如果前面几个步骤都排查完还是有异常,可以尝试暂时关闭系统第三方防火墙软件,部分安全软件的流量过滤规则会和VPN的断线回调逻辑冲突,修改了系统的底层流量转发规则,重置网络堆栈之后基本都能恢复正常,不需要直接重装系统。

手机连接编辑组 | shadowrocket
手机连接编辑组
内容编辑

整理 Android 与 iOS 的连接权限、后台运行和网络切换注意事项。

查看更多文章
配置入门

从一个连接问题开始

遇到WireGuard对端端口变更相关问题,可从“同步批准的配置并检查相关网络规则”开始阅读。开放一个端口不等于认证与路由配置正确,需要结合具体环境判断。