对于企业网络运维人员来说,IPsec VPN是跨地域分支内网互联最常用的技术方案,但很多新手配置时经常碰到协商失败、隧道建起来却传不了流量的问题,又不知道故障点出在哪个环节。本文完整拆解IPsec VPN连接建立的全流程,梳理每个阶段的关键配置要求、校验逻辑和常见误区,帮大家快速定位协商异常问题,降低站点互联的调试成本。
IPsec VPN连接建立前的前置配置校验
正式发起协商前,首先要确认两端安全网关的基础网络连通性,两端的公网接口地址要能正常互访,中间的网络节点不能拦截UDP 500、UDP 4500端口以及ESP协议报文,很多新手配置时只关注VPN本身的参数,忘了在本地防火墙的安全策略里放通这几个协议和端口,直接导致后续第一阶段的协商报文被丢弃,连最基础的协商请求都发不到对端。
其次要提前核对两端的预配置参数基线,第一阶段协商用到的认证方式、加密算法、哈希算法、DH组编号、协商生命周期这些核心参数,两端必须完全一致,只要其中某一项参数不匹配,协商流程就会直接中断。不少运维调试时图快,两端参数手动输入时抄错了字符,反复排查很久都找不到根因。

运维人员核查安全网关的端口放通状态与协商参数,提前规避IPsec VPN协商失败问题
IKE第一阶段协商的核心交互逻辑
主流的站点到站点IPsec VPN场景大多使用主模式完成第一阶段协商,整个过程共有6个报文交互,前两个报文两端会互相发送自身支持的IKE策略集,从所有候选策略里匹配出双方都认可的一组参数,作为后续密钥生成的基础规则。
中间两个报文两端会交换各自生成的DH公钥材料,基于双方的DH公钥和本地私钥,两端可以各自计算出完全一致的共享密钥,不需要在公网直接传输密钥本身,避免密钥在传输过程中泄露。最后两个报文会完成身份校验,用预共享密钥或者数字证书验证对端身份的合法性,避免非法设备接入隧道。
很多人容易混淆主模式和野蛮模式的适用场景,野蛮模式只需要3个报文就能完成第一阶段协商,身份信息不会被加密保护,一般只用在分支端是动态公网IP、无法通过IP地址标识身份的场景,固定公网IP的站点互联场景优先用主模式,避免降低隧道的安全边界。第一阶段协商完成后会生成IKE管理SA,后续所有第二阶段的协商报文都会通过这个加密通道传输,进一步提升协商过程的安全性。
IKE第二阶段IPsec SA协商关键细节
依托第一阶段生成的加密通道,两端就可以发起第二阶段的IPsec SA协商,这个阶段首先要匹配的是两端配置的感兴趣流规则,也就是定义哪些内网网段的流量需要被IPsec隧道封装转发,两端的感兴趣流必须是镜像匹配关系,比如本端指定的保护网段是总部192.168.1.0/24到分支10.0.0.0/24,对端的保护网段就必须是分支10.0.0.0/24到总部192.168.1.0/24,子网掩码和网段范围不匹配都会直接导致第二阶段协商失败。
第二阶段还会协商IPsec报文的封装模式,绝大多数企业互联场景都会使用隧道模式,把完整的原始内网IP报文重新封装一层公网IP头,不需要修改原始报文的任何内容就可以在公网路由转发。传输模式只会加密报文的载荷部分,保留原始IP头,一般只用在端到端的主机加密场景,很少在跨站点VPN部署中使用。
第二阶段协商完成后,两端会生成两个方向独立的IPsec SA,分别处理出方向的加密封装和入方向的解密校验,部分场景下配置了PFS特性的话,协商过程中还会额外发起一次DH密钥交换,进一步降低密钥被破解的风险,但是这个参数同样要求两端配置完全一致,否则会直接触发协商失败。
连接建立后的校验与常见故障定位思路
很多运维以为协商完成隧道就可以正常使用,实际上还要做流量触发校验,不少厂商的IPsec网关默认不会主动发起第二阶段协商,VPN下载只有当匹配感兴趣流的内网流量经过网关时,才会触发后续的SA生成流程,没有业务流量的情况下隧道可能一直处于待连接状态。
碰到协商异常的情况不要直接全量重置所有配置,优先查看设备输出的协商日志,根据报错的阶段定位问题:如果日志显示第一阶段前两个报文就被对端拒绝,优先核对两端的IKE策略参数;如果卡在身份校验环节,大概率是预共享密钥输入错误或者证书链不合法;如果第二阶段协商失败,优先排查感兴趣流的匹配规则。
如果协商状态显示正常,但是内网跨站点的业务流量无法互通,优先排查部署路径上是否存在NAT设备,只要任意一端的公网侧存在NAT转换,就需要开启IPsec的NAT穿越功能,让封装后的报文通过UDP 4500端口传输,海外加速器七天试用避免ESP协议报文被NAT设备丢弃,这也是很多跨运营商部署场景最容易忽略的细节。



