不少企业远程办公用户都遇到过这类场景:前一天还能正常通过VPN访问内网业务系统、共享存储,打完一波系统补丁、VPN客户端自动升级之后,再拨号连接VPN就只能刷公网网页,所有内网资源全部打不开。很多人第一反应就是近期的更新把VPN搞出了问题,但故障根因往往不是非黑即白的,需要按照规范步骤逐一排查,才能确认VPN连接后内网不可达的问题是否和最近更新有关,避免盲目操作扩大故障影响范围。
排查前的前置基准确认
我们这里讨论的VPN连接后内网不可达,特指VPN拨号流程完全成功、设备已经拿到VPN分配的虚拟内网IP,公网访问状态完全正常的前提下,无法访问企业侧内网资源的故障,不包含VPN拨号本身报错、连不上网关的场景,两类故障的排查逻辑完全不同,不要混为一谈。
正式开始排查前要先梳理更新前的正常运行基准,比如之前连VPN之后可以正常访问的内网网段范围、VPN客户端默认的分流模式、本地虚拟网卡的IP段,把这些信息整理出来,后续排查的时候可以直接对比当前状态和基准状态的差异,避免引入无关变量干扰判断。
验证更新关联度的核心排查方向
首先排查本地操作系统更新的影响,不管是Windows的月度安全补丁还是macOS的迭代小版本更新,不少系统更新会在后台默认重置所有虚拟网卡的优先级,原本VPN虚拟网卡的路由优先级高于物理网卡,更新之后优先级被反向调低,访问内网网段的流量会直接走物理网卡发往当前所在的公网出口,根本不会走VPN隧道转发,自然就出现内网不可达的问题。
其次要确认VPN客户端本身有没有静默更新,很多主流VPN客户端都开启了后台自动升级开关,不需要用户手动确认就会安装新版本,部分版本更新会默认改动之前的分流配置,比如之前用户用的是全流量走VPN隧道的模式,更新之后自动切换成仅访问指定域名走隧道的分流模式,而内网的业务网段没有被加入分流白名单,就会直接导致内网资源访问失败。
除此之外还要确认企业侧VPN网关有没有同步做更新调整,不少企业运维团队会选在非工作日的业务低峰期升级VPN网关固件、迭代安全访问策略,很多时候这个更新时间点刚好和用户本地设备的更新时间重合,用户很容易误以为故障出在自己的设备上,实际是网关侧更新之后新增了访问控制规则,没有给当前VPN账号开放对应内网资源的访问权限。
排除关联因素的验证操作方法
先做本地更新的回滚验证,把最近3天内安装的系统补丁暂时卸载,有条件的话把VPN客户端装回更新前的历史稳定版本,重启设备之后重新拨号VPN,观察内网资源的访问状态,如果操作之后内网访问完全恢复,基本可以确认故障和本地端的更新改动直接相关。
如果回滚本地更新之后故障依旧,可以联系企业的网络运维人员,帮忙查看VPN网关侧的操作日志,确认故障出现的时间窗口有没有网关固件升级、访问策略调整的相关记录,同时让运维在后台查看当前VPN账号的路由下发状态,确认完整的内网网段路由有没有正常推送到你的接入设备上。
也可以手动检查本地设备的路由表状态,Windows设备可以通过系统命令调出路由列表,macOS设备也可以用对应命令查看活动路由,确认目标内网网段有没有指向VPN虚拟网卡的转发规则,如果这条规则在更新之后消失了,不管是系统更新误删还是客户端更新没有自动下发,都可以临时添加静态路由先恢复内网访问,再继续定位根因。
排查过程中的常见误区规避
很多用户遇到故障之后第一时间卸载VPN客户端重新安装,没有提前导出系统更新日志、VPN客户端的配置备份,反而把更新留下的故障痕迹全部清空,后续排查的时候根本找不到是哪项配置改动导致的问题,反而拉长了故障恢复的整体时间。
还有部分用户为了尽快恢复内网访问,直接手动修改物理网卡的默认网关,试图强制所有流量走内网隧道,这类操作很容易导致本地公网访问完全中断,甚至和当前所处局域网的其他设备产生IP地址冲突,影响同一办公区域其他用户的正常网络使用。
最后需要注意,单次排查确认故障和某一次更新有关,也不能直接认定所有同类VPN连接后内网不可达问题都是更新导致的,比如本地设备的第三方防火墙刚好在同一时间点自动升级规则,拦截了VPN内网的访问数据包,也会出现完全一致的故障表现,需要交叉验证多个变量才能最终定位真实根因。
VPN加速器 

