站点到站点VPN作为跨地域办公网络互联的核心技术,很多企业运维人员配置完成后经常遇到表面显示连通但实际业务不通的隐性问题,准确判断其运行状态不能只依赖设备自带的在线指示灯,需要从隧道协商、路由转发、业务连通多个维度逐层校验,避免出现分支站点和总部数据交互中断却长时间未被发现的故障。
先确认站点到站点VPN的基础配置前提
很多运维人员判断VPN状态前会跳过配置合规性校验,直接做连通性测试,很容易把配置阶段的遗留问题当成运行故障。首先要确认两端站点的公网网络本身没有被运营商拦截IPsec常用协议,两端的预共享密钥或者证书没有出现字符错配,感兴趣流的规则没有写反源目网段。
还要确认两端的VPN网关设备本身没有开启多余的访问控制列表,拦截了隧道协商所需的报文,部分企业边界防火墙默认会丢弃未知源目的网段的封装报文,直接导致隧道根本无法发起协商,后续所有的连通性测试都没有意义。
第一层校验:隧道协商阶段的状态核查
大部分VPN网关的Web管理界面都会直接显示IKE第一阶段和第二阶段的协商状态,很多人误以为只要界面显示隧道“已连接”就代表VPN正常工作,这是非常常见的误区。实际上很多设备的隧道在线标识仅代表IKE协商报文交互成功,不代表后续的数据报文封装转发正常。
正确的校验方式是登录两端VPN网关的命令行界面,查看IKE SA和IPsec SA的详细条目,确认SA的过期倒计时在正常走跳,同时两端的SA条目数量完全对应,没有一端有SA另一端SA条目缺失的情况,如果发现SA长时间没有刷新流量计数,说明隧道其实处于假活状态,没有实际数据转发能力。
第二层校验:跨网段路由转发有效性测试
隧道协商成功之后,接下来要验证感兴趣流对应的私网路由是否正确引入VPN隧道,不能直接用网关设备本身去ping对端私网地址,因为很多网关设备的出站流量默认走公网接口,不会匹配VPN的感兴趣流规则,测试结果没有参考价值。
正确的测试方法是分别在两个站点的私网内部,找一台没有配置任何公网默认路由的终端设备,主动去ping对端站点同属于感兴趣流范围内的私网IP地址,如果能收到回包,说明基础的跨站点连通性已经成立,这一步要注意不要用跨三层的设备做测试,避免把中间三层交换机的路由配置错误当成VPN故障。
第三层校验:真实业务场景的连通性验证
很多时候跨站点的ping测试能通,但实际业务系统无法访问,这也属于站点到站点VPN没有正常工作的情况,因为部分VPN设备默认会拦截分片的大数据报文,小体积的ping报文可以正常通过,但是业务系统传输的大体积数据包会被中途丢弃。
这时候需要在私网终端上发起带数据长度的连通性测试,模拟业务系统的真实报文大小,同时测试常用的业务端口是否能正常建立TCP连接,比如总部的OA系统端口、文件共享端口,确认没有出现端口被VPN网关默认拦截的情况。
常见的误判场景和故障定位思路
不少运维人员遇到业务不通就直接判定站点到站点VPN故障,实际上有很多场景属于VPN运行正常但周边配置出错,比如其中一个站点的私网内部出现了路由环路,导致回包没有走VPN隧道返回,这种情况在VPN网关的流量统计里能看到只有出方向流量没有入方向流量,很容易区分。
日常运维中不要只依赖设备的告警推送,要定期在两端站点的私网侧主动发起校验测试,避免隧道长时间处于假活状态影响跨站点的业务协同,也不需要额外加装第三方监控工具,通过上述几个维度的逐层排查,就能准确判断站点到站点VPN是否处于正常工作状态。
坚果加速器 


