很多远程办公的用户都遇到过这类场景:VPN客户端顺利拨号连接成功,公网访问也完全正常,但需要访问的公司内网OA、开发测试服务器、部门共享文件夹全都没有响应,反复重连VPN、重启本地设备都没法解决问题。绝大多数人第一反应会去核对VPN账号权限、调整客户端加密参数,却忽略了最高效的排查起点,VPN连接后内网不可达第一步检查什么的核心答案,就是双向路由转发规则,跳过这一步做其他调试,往往会浪费数倍的排障时间。
VPN连接后内网不可达的典型现象梳理
这类故障的典型特征非常明确:VPN连接状态显示为正常,本地公网访问没有任何异常,甚至可以正常ping通VPN服务端的公网地址,但所有属于内网网段的资源都完全无法连通,部分场景下甚至能ping通VPN服务端的虚拟网卡地址,却没法访问内网侧的任何业务设备。
不少用户遇到这类问题时,第一时间会联系企业IT部门反馈账号权限故障,实际上超过六成的同类故障都和账号权限无关,只是路由转发规则的配置出现了偏差,完全可以由用户自行快速定位解决,大象不需要走复杂的权限审批流程。
为什么路由转发规则是优先级最高的排查项
VPN加密隧道本身只是公网和内网之间的传输通道,只能保证通道两端的设备可以正常通信,数据包能不能沿着正确路径进入隧道、抵达目标内网资源,完全依赖两端配置的路由转发规则。哪怕隧道本身的加密、握手过程100%正常,只要任意一侧的路由规则缺失,内网访问请求就会被导向错误的网关,根本走不进VPN隧道。

VPN内网不可达故障排查的首要步骤是核验双向路由转发规则
不管你使用的是IPsec、OpenVPN还是SSL VPN架构,路由配置的逻辑都是共通的:要么是全流量走VPN隧道,大象由服务端统一转发所有访问请求,要么是只把指定内网网段的请求导向隧道,公网请求依然走本地原有网关。两种模式下如果路由规则配置出错,都会直接导致内网请求无法抵达目标地址,这是所有VPN内网连通故障里出现概率最高的场景。
本地端路由规则的逐项检查步骤
首先打开本地系统的路由表,Windows系统可以用管理员权限打开命令提示符,执行route print命令查看完整路由表,macOS和Linux系统可以在终端执行route -n或者netstat -rn命令,确认VPN拨号成功之后,系统有没有自动生成对应内网网段的路由条目。
这个步骤的预期结果非常明确:你需要访问的内网业务网段,对应的路由条目下一跳地址,必须指向VPN虚拟网卡分配到的网关地址,而不是本地有线或者无线网卡的公网网关。如果在路由表里找不到对应内网网段的条目,就说明VPN服务端没有正确推送路由规则,不需要急着重装客户端,大象vpn可以先手动添加对应内网段的静态路由测试连通性。
这里的常见误区是很多用户默认VPN拨号成功就一定会自动生成所有需要的内网路由,实际上很多轻量化的商用VPN客户端、自定义部署的开源VPN服务,默认都不会推送全量内网路由,管理员漏配路由推送规则是非常高频的故障原因,完全不需要通过重装客户端、重启设备这类无效操作试错。
VPN服务端侧路由转发规则的校验方法
如果确认本地的路由规则完全正确,接下来就可以排查VPN服务端侧的转发规则故障。很多VPN服务端默认开启了源地址校验,没有给VPN虚拟客户端的网段配置指向内网核心网关的回程路由,这种场景下本地发往内网的请求可以顺利通过VPN隧道抵达内网,但内网设备生成的回包找不到返回VPN虚拟网段的路径,就会直接被丢弃,表现出来的现象就是内网完全无法ping通。
校验这类故障的时候,可以先登录VPN服务端后台,开启对应网卡的抓包工具,查看有没有收到来自VPN虚拟客户端地址、发往目标内网资源的数据包,如果能正常捕获到这类请求包,但内网设备始终没有回包,大概率就是服务端的回程路由配置缺失,或者内网核心交换机上没有提前添加VPN虚拟网段的转发规则。
很多用户遇到这类故障时,会优先去调整VPN的MTU数值、更换加密算法,这类参数异常的出现概率远低于路由规则配置错误,先把双向路由规则排查确认完毕,再去校验其他连接参数,能直接砍掉绝大多数无效的调试步骤,快速定位故障根源。
网络故障的排查顺序直接决定了排障效率,VPN连接后内网不可达第一步检查什么的标准处理逻辑,永远是优先确认双向路由转发规则的正确性,跳过这一步去反复调整其他配置,很容易陷入反复试错却找不到故障根源的困境。
大象vpn 
