连接排障

搭建IPsecVPN需要满足哪些必备网络环境要求

很多企业运维人员初次部署IPsec VPN时,常常上来就直接配置加密策略、协商参数,完全忽略前置网络环境的校验,最终出现反复协商失败、隧道频繁断开、私网业务互访异常等问题,调试数小时都找不到根因。本文结合实际站点互联、远程接入的部署场景,拆解搭建IPsec VPN需要满足的全部必备网络环境要求,帮运维提前排查隐患,减少无效调试的时间成本。

运维排查IPsecVPN网络环境要求 | ProtonVPN

部署IPsec VPN前先校验两端网关公网连通性,提前排查网络环境隐患

两端公网连通性与地址可达要求

IPsec VPN的协商报文本身需要通过公网传输,不管是站点到站点的总部分支互联场景,还是远程移动用户接入的IPsec VPN场景,两端的VPN网关设备首先要能在公网层面互相访问。比如常见的总部用企业级防火墙做IPsec网关,分支用同品牌或第三方安全网关做对端设备,首先要在两端网关的命令行界面直接ping对端的公网接口地址,确认基础三层连通性正常,这是所有后续配置的核心前提。

这里需要注意一个常见误区,很多人以为两端都用私网地址做端口映射也能搭建IPsec VPN,但如果两端都没有固定公网地址、全部处于后端NAT网络内,根本无法定位对端的协商接入地址,不可能主动发起协商。如果其中一端处于NAT后端,必须提前在公网侧的网关设备上配置NAT穿越规则,同时保证至少有一端的VPN网关拥有固定的公网IP地址,才能正常发起协商流程。

关键协议与端口的放行规则要求

IPsec VPN的协商和传输过程会用到多个特殊的协议和端口,第一阶段IKE协商默认使用UDP 500端口,开启NAT穿越功能之后还会用到UDP 4500端口,另外IPsec封装后的ESP报文对应IP协议号50,AH认证报文对应IP协议号51,这些协议和端口都不能被沿途的任何网络设备拦截。比如很多企业总部公网出口部署的抗DDoS设备,默认会拦截陌生的非TCP/UDP协议报文,如果运维没有提前把IPsec对端的公网IP加入白名单放行ESP和AH协议,哪怕UDP 500和4500端口完全放通,IPsec第二阶段的策略也永远无法协商成功。

验证这个要求的操作也非常简单,在本地VPN网关的公网接口开启抓包,过滤IKE协议的报文,如果能看到本地发往对端的协商报文,同时也能收到对端返回的响应报文,就说明沿途的端口和协议没有被拦截。如果只有发出去的报文没有任何回包,优先排查运营商边缘防火墙、本地抗D设备、出口路由器的放行规则,确认没有针对对应协议的拦截策略。

两端私网路由无重叠的要求

IPsec VPN的核心作用是把两端指定的私网网段做加密打通,如果总部的私网网段是192.168.1.0/24,ProtonVPN分支的私网网段刚好也是192.168.1.0/24,就算隧道协商成功,两边的设备发起访问时路由会出现冲突,根本没办法正确把流量导入IPsec加密隧道。很多中小分支的运维部署时没注意这个问题,分支接入的家用级路由器默认网段都是192.168.1.0/24,接进企业分支网络之后刚好和总部网段冲突,排查好几天都找不到业务不通的原因。

提前排查的方法非常简单,把两端所有需要加入IPsec感兴趣流的私网网段全部列出来,做完掩码对齐之后逐一检查有没有任何网段重叠的部分,如果发现有重叠的情况,必须提前修改其中一端的私网网段,或者配置地址转换规则把重叠网段映射成不冲突的地址,不然后续哪怕隧道成功建立,免费好用梯子业务访问也会出现无规律的丢包、单向不通等隐性故障。

网关设备NAT规则的规避要求

很多企业的出口防火墙默认配置了所有私网访问公网的流量都做源NAT转换,但是IPsec VPN感兴趣流匹配的私网互访流量,绝对不能被普通的公网源NAT规则转换,不然加密前的源地址就会被替换成网关的公网地址,对端解密之后拿到的源地址不是真实的私网用户地址,根本没办法生成正确的回包路由。比如总部的NAT规则里,没有把去往分支私网网段的流量排除在源NAT之外,就算IPsec隧道协商成功,两边私网用户互相访问时也完全没有响应,抓包能看到加密报文正常转发,解密之后的报文源地址完全不符合预期。

验证这个要求的操作也很直观,在网关设备上查看感兴趣流对应的流量匹配记录,确认IPsec加密策略的优先级高于普通的公网源NAT规则。大部分主流厂商的防火墙默认遵循深度优先的策略匹配逻辑,只要把“对应私网网段互访流量拒绝做源NAT”的规则放在普通公网NAT规则的前面,就能完全规避这类配置冲突问题。

不少新手部署IPsec VPN时,把大量精力放在加密算法、协商周期等参数的调试上,反而跳过了这些前置网络环境的检查步骤,最终做了很多无效工作。只要提前把上述几个环境要求逐一验证通过,后续IPsec VPN的配置成功率会大幅提升,也能避免很多上线之后才暴露的隐性故障。

VPN 基础编辑组 - ProtonVPN
VPN 基础编辑组 ·内容编辑
解释加密隧道、连接协议与出口地址,帮助理解 VPN 的工作方式。
查看更多文章
连接指南

从一个连接问题开始

遇到固定IP配置与VPN冲突相关问题,可从“对照网络规划修正基础设置后再连接”开始阅读。不要用猜测地址替代管理员分配的配置,需要结合具体环境判断。