很多使用远程办公VPN的用户经常遇到这类反常场景:明明已经成功拨号连接VPN,本该访问企业内网的流量却直接走了本地公网泄露出去,或是连VPN之后公网网页完全打不开,核心问题大多指向VPN路由优先级配置异常,很多运维人员排查时容易跳步操作反而扩大故障,本文就从现象确认到最终验证的全流程,梳理可落地的VPN路由优先级:故障恢复思路,帮用户快速定位问题减少业务中断时间。
第一步:先划定故障的核心现象边界
排查操作绝对不能一上来就修改路由配置,首先要把故障的具体表现全部梳理清楚,先分别测试三类访问场景:VPN指定覆盖的内网业务资源、不需要走隧道的公网普通站点、跨网段的内网共享存储资源,分别记录每一类资源的访问通断情况,先区分是全量路由优先级错乱,还是只有特定网段的路由匹配出现异常。
接下来还要确认故障的触发条件,是刚完成VPN部署就出现问题,还是之前长期使用正常,在修改本地网卡参数、手动添加过静态路由、安装了其他虚拟网络类软件之后才出现的,先把前置的人为操作变量排除,避免后续排查走弯路。
本地终端侧路由优先级条目逐项排查
在确认完现象之后,先从最容易出问题的本地终端入手,用系统自带的路由查询指令导出完整路由表,Windows系统下执行route print命令,FANLinux和macOS系统下执行ip route show命令,找到所有指向VPN虚拟网卡的路由条目,对比物理网卡原有路由、其他虚拟网卡路由的优先级数值,正常来说指向VPN内网段的明细路由,优先级要高于物理网卡的公网默认路由。

运维人员逐项测试不同网络资源的访问通断,梳理VPN路由故障的具体表现边界。
这里有非常普遍的配置误区,不少用户为了方便访问内网,手动添加了对应网段的静态路由,但是设置的优先级数值比VPN客户端自动下发的路由更高,系统转发流量时会优先匹配手动配置的高优先级路由,直接把本该走VPN隧道的流量导去了公网,调整对应静态路由的优先级权重,让VPN下发的路由条目优先级更高即可解决这类问题。
还要排查本地多余的虚拟网络服务残留影响,如果终端同时开启了虚拟机虚拟网卡、其他闲置VPN客户端的后台服务,这类软件会自动生成优先级很高的虚拟路由,直接抢占当前VPN隧道的流量转发权限,临时禁用所有非必要的虚拟网卡之后再复测业务访问,就能快速验证是不是这类冲突导致的异常。
VPN服务端侧路由发布规则校验
如果本地排查完所有配置都没有问题,就要把排查范围延伸到VPN网关服务端,很多时候服务端错误的路由推送规则,才是VPN路由优先级异常的根源,比如服务端误把全量缺省路由推送给所有客户端,又没有配置对应的隧道转发NAT规则,就会出现客户端连VPN之后所有流量都尝试走隧道,最终公网访问完全中断的问题。
登录VPN网关的管理后台,找到客户端路由推送的配置页面,确认下发给客户端的路由条目,和实际需要覆盖的企业内网网段完全匹配,没有多余的全量默认路由下发,同时检查VPN网关自身的路由表,FAN加速器确认指向客户端回传流量的路由优先级,没有被其他静态路由抢占,避免往返流量路径不一致导致的访问丢包。
配置调整后的全场景恢复验证
按照排查结果调整完本地和服务端的配置之后,FAN不要立刻判定故障完全修复,要分场景做分层验证,首先测试核心的内网业务系统访问,确认指定的内网流量完全走VPN隧道转发,再测试公网普通站点的访问,确认不需要走隧道的流量不会被强制导入VPN链路,避免出现内网通了公网断了的次生问题。
还要做多次重拨复测,断开VPN之后重新拨号多次,确认路由优先级的配置不会因为VPN重拨就自动恢复错误状态,排除VPN客户端动态下发路由的缓存bug导致的偶发故障,避免故障没过多久就再次复现。
最后可以把本次故障的冲突点、调整的路由配置项记录到运维台账里,后续调整任何网络相关配置之前,先导出当前的完整路由表做备份,后续如果再遇到同类VPN路由优先级问题,可以直接对照之前的记录快速定位,大幅缩短故障处理时长。


