StrongSwan与AWS VPN Gateway无法建立站点到站点VPN隧道
站点到站点VPN隧道无法建立的故障排查与修复
核心配置错误
左右端子网映射颠倒
StrongSwan配置中left指代本地StrongSwan网关所属侧,right指代对端VPN网关(即AWS托管VPN)所属侧,当前配置中leftsubnet、rightsubnet取值完全相反:- 错误配置:
leftsubnet=<AWS CIDR>、rightsubnet=<ON-PREM CIDR> - 正确取值:
leftsubnet填写本地IDC内网网段,rightsubnet填写AWS VPC内网网段
子网映射错误会导致IPsec感兴趣流不匹配,直接阻断协商或协商成功后无流量通过隧道。
- 错误配置:
连接配置未触发协商
当前配置使用auto=add,该参数仅会将连接配置加载到StrongSwan内存中,不会主动发起IKE协商。从提供的运行日志可验证该问题:日志仅记录到配置添加完成,无任何IKE协商报文收发记录,连接从未进入协商流程。端点地址配置缺失
当前配置未显式指定left参数(即本地StrongSwan网关的公网出口IP),仅配置了leftid。如果本地网关存在多网卡、出口NAT场景,会导致IKE协商时源地址匹配失败,无法被对端识别。同时需要确认right参数填写的是AWS控制台给出的对应隧道公网IP,而非隧道内网地址。updown脚本参数错误
配置中leftupdown脚本的-lr参数当前填写隧道公网地址,不符合AWS官方StrongSwan updown脚本的参数规范:-ll对应本端隧道内网地址,-lr对应AWS侧隧道内网地址,参数填错会导致隧道接口路由下发失败,即使协商成功也无法转发跨网流量。
前置校验项
- 检查本地防火墙、网关ACL、主机安全组规则,确认放通UDP 500、UDP 4500端口的双向流量,同时允许IP协议号50(ESP)、51(AH)的流量通过,避免IKE协商报文被拦截。
- 确认
/etc/ipsec.d/aws-updown.sh脚本具备可执行权限,可执行chmod +x /etc/ipsec.d/aws-updown.sh授权。 - 配置中
mark=100参数需要匹配对应的策略路由规则,确保去往AWS VPC网段的流量打上100标记后走隧道接口转发,否则流量不会进入VPN隧道。
修复操作步骤
- 修正
leftsubnet、rightsubnet取值,匹配两侧所属内网网段。 - 补充
left=<本地StrongSwan网关公网IP>配置,确保leftid取值与left地址一致,校验right参数为AWS隧道公网IP。 - 若需要本地侧主动发起协商,将
auto=add修改为auto=start,配置加载后自动触发协商。 - 修正
leftupdown脚本中-lr参数取值为AWS侧隧道内网IP。 - 执行
ipsec restart重载IPsec服务,查看StrongSwan运行日志,正常会出现IKE_SA_INIT、IKE_AUTH协商流程记录,可根据日志中的报错信息定位剩余问题。
内容的提问来源于stack exchange,提问作者Kunal Malhotra
相关产品推荐
相关产品推荐

