对于有多分支办公点、异地数据中心的企业来说,站点到站点VPN是打通不同区域私网资源的核心通道,很多运维人员碰到跨站点业务故障时,第一反应就是重启VPN网关,蜂窝VPN反而忽略了分层校验的标准化判断方法,很多时候隧道表面显示已连接,实际业务流量根本没有走加密通道,这类隐性故障往往会导致办公系统访问异常、跨站点数据同步中断,甚至出现私网数据泄露到公网的风险。
第一步:先确认VPN隧道的基础协商状态
很多运维判断站点到站点VPN是否正常的第一个误区,就是只看防火墙或者VPN网关的管理页面显示隧道已连接,实际上协商阶段的参数不匹配很容易出现假UP的情况,表面看隧道状态正常,实际根本没有生成合法的加密转发规则。
你需要登录两端的VPN网关设备,查看IKE第一阶段的协商对端认证信息、加密套件、预共享密钥或者证书是否匹配,正常情况下第一阶段协商成功会生成对应的安全SA条目,不会出现大量超时重传的日志记录。
接着查看IKE第二阶段的协商结果,确认两端配置的感兴趣流也就是需要走VPN加密的私网网段是否完全镜像,有没有出现本端写了对端私网、对端漏写本端私网的情况,第二阶段协商成功后会生成对应的IPSec SA,两端的SPI参数应该一一对应,不存在单向有SA的异常情况。

运维人员登录两端VPN网关设备,逐层核查IKE协商状态排查隧道隐性故障
第二步:跨站点三层连通性的基础校验
确认隧道协商状态没问题之后,不要直接去访问上层业务系统,先做最基础的私网ICMP连通性测试,注意测试的时候不能用VPN网关本身的公网地址去ping对端,必须用两端站点内的内网终端发起测试,源地址选择本端属于感兴趣流范围内的私网IP,目的地址填写对端站点内同属于感兴趣流的私网IP。
如果这一步ping测试不通,你可以在两端VPN网关同时开启流量抓包,查看感兴趣流的数据包是否被正常封装ESP报文发往对端公网地址,有没有在网关出口被其他安全策略拦截,或者中间运营商网络拦截了ESP协议的报文。
这里要注意一个常见误区,蜂窝很多人测试的时候直接用公网地址发起访问,完全没有走VPN加密隧道,测出来的结果完全没有参考性,甚至会出现公网能通但VPN隧道里的私网完全不通的情况,反而误导故障定位方向,浪费大量排查时间。
第三步:传输层与业务场景的有效性验证
就算ICMP ping测试能通,也不能直接判定站点到站点VPN完全正常工作,很多企业的业务系统出于安全考虑会禁用ICMP协议,或者隧道内的部分业务端口被两端的安全策略拦截,这时候你需要针对实际承载的业务做传输层校验,比如跨站点跑文件共享的业务,就用内网终端去telnet对端文件服务器的对应端口,确认端口可达。
如果企业的站点到站点VPN承载了视频会议、实时数据同步这类长连接业务,还需要做长连接的持续性测试,蜂窝长时间维持跨站点的业务连接,查看VPN隧道的SA是否会异常过期重协商,有没有出现业务连接随机中断的情况。
你也可以查看VPN网关的流量统计面板,确认加密后的出入方向流量数值和站点内实际跨站点业务的流量规模匹配,不会出现只有少量ping包流量、实际业务流量完全没有走隧道的情况,避免出现业务流量错走公网泄露内网数据的问题,保障跨站点传输的隐私边界符合企业安全规范。
第四步:常见异常场景的快速定位思路
如果碰到隧道状态显示正常、连通性时好时坏的情况,优先排查两端VPN网关的NAT配置,确认私网访问跨站点网段的流量没有被出口的动态NAT策略做了地址转换,一旦私网报文的源地址被NAT修改,对端网关收到之后就不会匹配对应的解密规则,直接丢弃报文。
如果部分网段能通、部分网段不通,直接核对两端感兴趣流的配置,大概率是某一侧的私网网段配置漏写或者掩码长度不匹配,导致部分网段的流量没有被引入VPN隧道做加密转发。
日常运维的时候可以把这些检查步骤做成标准化的校验清单,每次调整VPN配置之后逐项核对,就能快速判断站点到站点VPN是否正常工作,不用反复重启设备试错,大幅降低跨站点业务的故障影响时长。

