不少企业在上线IPsec VPN的时候,经常遇到配置完全核对无误,但隧道始终协商失败、或者连上之后业务流量异常中断的问题,这类故障里超过七成都不是加密策略本身的错误,而是底层网络环境没有满足IPsec VPN的运行要求。本文结合企业常用的华为AR系列网关、深信服VPN边界防火墙等实际部署场景,把IPsec VPN部署运行的所有必备网络环境要求逐一拆解,给出可落地的检查和验证方法。
公网侧网络连通性与端口放行要求
IPsec VPN的两端网关,不管是总部的集中式VPN防火墙,还是门店分支的小型接入路由器,都不能同时处于运营商的两级NAT之后,至少其中一端需要拥有可被对端直接路由访问的公网IP地址,或者支持通过DDNS服务动态解析到当前的公网映射地址。很多小型分支使用家用级宽带接入,运营商默认分配的是内网私网IP,这种场景下就算所有加密参数配置完全正确,分支也没法主动向总部网关发起IPsec协商请求,属于最常见的入门级环境误区。
端口与协议放行层面,IPsec第一阶段密钥协商默认占用UDP 500端口,加密报文传输阶段默认使用IP协议号为50的ESP协议,如果部署场景下存在NAT穿越需求,还需要额外放行UDP 4500端口。不少企业的边界防火墙之前只开放了网页、办公系统对应的80、443等业务端口,遗漏了这几个IPsec专属的端口和协议放行规则,就会出现第一阶段协商请求发出去之后完全没有回包的情况,验证时可以在两端网关的命令行界面下,使用内置的端口探测工具测试对端公网地址的500端口是否可达,如果探测失败优先排查中间经过的所有防火墙、安全网关的拦截规则。

运维人员正在核查IPsec VPN部署所需的公网连通性配置条件
NAT部署场景的适配要求
如果分支侧没有独立公网IP,需要放在运营商的一级NAT后面接入,这种场景下要正常运行IPsec VPN,必须在总部的VPN网关侧开启NAT穿越功能,同时要保证分支前端的家用路由器、运营商NAT设备不会篡改ESP协议的报文封装结构,也不能把UDP 4500对应的会话老化时间设置得过短,否则已经建立的IPsec隧道会出现无规律的随机断连问题。
还有一个极易被忽略的环境要求是IPsec两端的内网私网网段不能重叠,比如总部内网使用192.168.1.0/24网段,分支的办公网络也默认用了同一个网段,就算隧道成功建立完成,两边的业务流量也会因为路由地址冲突无法正常转发,这种情况要么修改其中一侧的内网网段规划,要么在两端VPN网关侧配置双向NAT规则,加速器把重叠的网段映射成互不冲突的虚拟地址段,才能让加密流量正常路由。
路由与转发层面的环境要求
IPsec VPN的两端网关都必须配置明确的定向路由,指向对端需要访问的所有内网业务网段,路由的出接口必须绑定到IPsec隧道对应的虚拟转发接口,不能把去往对端内网的流量直接指向本地的公网默认路由,否则流量不会被封装进IPsec加密隧道,相当于明文在公网传输,完全失去了IPsec的隐私保护作用。
如果企业内网存在多层三层交换机的级联架构,还要保证内网用户的业务流量到达VPN网关的过程中,源IP地址不会被中间的三层设备做二次NAT转换,不然VPN网关识别不到属于IPsec保护范围的感兴趣流,就不会触发隧道协商动作。验证时可以在内网用户端发起访问对端内网服务器的请求,同时在VPN网关的流量统计页面查看匹配感兴趣流的计数是否增长,如果计数始终为0,就要逐层排查中间网络设备的NAT规则是否篡改了报文源地址。
链路稳定性与中间设备兼容性要求
不少公网运营商的链路默认开启报文分片检测,如果IPsec封装之后的完整报文大小超过了公网接口的默认MTU值,vpn加速器就会出现大尺寸报文被直接丢弃的情况,直观表现为小流量比如ping测试可以正常连通,但是传输大文件、访问内网视频系统的时候就会直接卡住,这类环境下需要在VPN网关侧手动调整IPsec隧道的MTU参数,适配中间链路的分片处理规则,避免合法报文被无端丢弃。
还有部分区域的运营商中间传输设备默认开启了ESP报文过滤规则,会把IP协议号为50的ESP报文直接拦截丢弃,这种场景下就算所有UDP端口都已经放通,IPsec协商到第二阶段加密报文传输的时候也会持续失败。排查这类问题时可以在本地VPN网关的公网接口侧开启报文捕获,确认ESP报文成功发出去之后没有任何对应回包,就可以初步判定是中间传输链路拦截了ESP协议,需要联系对应运营商调整链路的过滤规则。
企业在部署IPsec VPN之前,优先按照上述几个维度完成全量网络环境预检查,不要上来就直接配置加密算法、预共享密钥这类细节参数,绝大多数协商失败、业务不通的问题都可以在环境检查阶段提前排除,vpn加速器不需要在加密策略的细节上反复试错,能够大幅提升IPsec VPN的上线部署效率。


