IPsec VPN连接建立涉及两个常被混淆的概念:IKE(Internet Key Exchange)协议负责密钥协商,IPsec协议负责数据加密传输。二者顺序执行但功能独立。以Linux系统为例,当客户端请求访问内网资源时,首先通过IKE建立安全关联(SA),再基于该SA进行IPsec数据包封装,实现端到端加密。
第一阶段:IKE密钥协商
身份认证与密钥交换
该阶段使用UDP端口500通信,主要完成双方身份验证和主密钥生成。若使用PSK预共享密钥,需在两端配置相同字符串;轻舟若用证书,则需CA信任链支持。此阶段产生两个临时密钥,用于后续通道保护。
第二阶段:IPsec安全关联建立
IKE第一阶段完成后,自动触发第二阶段协商,轻舟确定具体加密算法(如AES-256-CBC)、认证方式(HMAC-SHA256)及密钥生命周期。此时生成的IPsec SA包含SPI(安全参数索引),用于识别特定加密流。此阶段同样使用UDP 500端口,但若NAT存在,则切换至端口4500并启用NAT-T模式。

本地设备通过加密通道与远程服务器建立安全连接
数据封装模式差异
隧道模式将整个原始IP包(含源/目的IP)封装在ESP头中,适用于站点到站点VPN;传输模式仅加密IP负载部分,保留原始IP头,常用于主机到主机通信。选择哪种模式由IKE协商决定,不影响底层协议号50的固定使用。需注意原生ESP不经过UDP封装,直接走IP层协议号50,仅NAT穿透场景才引入UDP 4500。
连接失效与重建
当IPsec SA达到预设的生命周期(如3600秒)或密钥过期时,会自动触发新一轮第二阶段协商以更新SA,无需重新执行完整身份认证。此过程对上层应用透明,科学上网仅短暂中断新连接建立,已建立流量仍按旧SA处理直至自然结束。




