OpenIKED与StrongSwan IPsec隧道故障:无法ping通及子网互访失败
排查StrongSwan与OpenIKED IPsec隧道互通问题
从你描述的场景来看,隧道已成功建立但存在单向可达、子网互访失败的问题,添加路由后大部分功能恢复,这说明核心矛盾大概率集中在路由配置、IPsec策略匹配或防火墙规则上。下面分步骤拆解排查和修复思路:
一、初始问题的核心原因分析
1. 单向ping通(OpenIKED无法ping通Vyatta本地IP)
这种单向可达的情况,常见原因有两个:
- 路由缺失:Vyatta侧可能已经配置了指向OpenIKED本地IP的路由,但OpenIKED网关没有反向路由,导致ping包的回程无法正确送达。
- IPsec策略未覆盖本地IP:检查
iked.conf和ipsec.conf的策略配置,确认是否包含了双方网关本地IP的通信规则。比如StrongSwan侧可能配置了覆盖Vyatta本地IP的策略,但OpenIKED侧的策略只覆盖了子网,没包含网关自身的IP。
2. 子网(10.1.1.0/24 ↔ 10.3.3.0/24)无法互访
这通常和路由宣告或IPsec模式有关:
- 双方网关未手动添加对端子网的静态路由,也没有通过IPsec隧道自动宣告路由;
- 错误使用了传输模式而非隧道模式,导致子网流量无法被封装进IPsec隧道;
- 网关的NAT规则没有排除IPsec隧道流量,导致子网数据包被NAT后无法正确通过隧道。
二、添加路由后遗留问题的排查方向
你提到添加两条路由后大部分功能恢复,说明路由缺失是主要问题。针对剩余的遗留问题,可以从以下几个方向入手:
- 检查StrongSwan侧的路由配置:确认Vyatta上是否添加了指向10.3.3.0/24和OpenIKED本地IP的静态路由,下一跳需指向IPsec隧道接口;
- 验证防火墙/ACL规则:检查OpenIKED(比如
pf防火墙)和Vyatta的防火墙,确认是否允许两个子网之间的ICMP、TCP/UDP流量通过隧道。比如OpenIKED侧是否放行10.3.3.0/24与10.1.1.0/24的双向流量; - 核对IPsec SA策略完整性:
- 在OpenIKED上执行
iked show sa,查看已建立的安全关联是否包含子网的感兴趣流; - 在StrongSwan上执行
ipsec statusall,确认策略规则与OpenIKED侧完全匹配;
- 在OpenIKED上执行
- 排查MTU问题:如果大流量数据包无法通过,可能是MTU不匹配导致丢包。可以尝试将隧道接口MTU调整为1400左右,或启用PMTU自动发现。
三、关键配置的检查建议
1. OpenIKED的iked.conf策略检查
确保策略覆盖子网和网关本地IP:
ikev2 "strongswan-vyatta" esp \ from 10.3.3.0/24 to 10.1.1.0/24 \ from <OpenIKED本地IP> to <Vyatta本地IP> \ peer <StrongSwan/Vyatta公网IP> \ psk none \ certificate "/etc/iked/certs/openiked-cert.pem" \ ca "/etc/iked/certs/ca-cert.pem" \ lifetime 3600 \ proposal aes-gcm-256 sha256 group14;
2. StrongSwan的ipsec.conf配置检查
确认conn段包含完整的子网和本地IP规则:
conn openiked-tunnel left=<Vyatta本地IP> leftsubnet=10.1.1.0/24,<Vyatta本地IP>/32 right=<OpenIKED公网IP> rightsubnet=10.3.3.0/24,<OpenIKED本地IP>/32 authby=rsa leftcert=vyatta-cert.pem rightca=ca-cert.pem ike=aes256-sha256-modp2048! esp=aes256-gcm16-sha256! keyexchange=ikev2 auto=start
3. 路由表验证
在OpenIKED上查看路由:
route -n
确认存在两条关键路由:
- 指向
10.1.1.0/24的路由,下一跳为IPsec隧道接口(如enc0); - 指向Vyatta本地IP的路由,下一跳为IPsec隧道接口。
在Vyatta上查看路由:
show ip route
确认存在指向10.3.3.0/24和OpenIKED本地IP的路由,下一跳指向IPsec隧道。
如果还有具体的遗留问题,可以补充输出iked show sa、ipsec statusall、路由表和防火墙规则的内容,方便进一步定位。
内容的提问来源于stack exchange,提问作者Body
相关产品推荐
相关产品推荐

