#14915·algo

在 E2E 套件中添加完整的 IPsec 隧道连接性测试

作者: dguido创建于 2025年11月29日更新于 2025年11月29日

□ 总结

E2E VPN连接测试(PR #14914)目前验证IPsec证书,服务状态,以及端口可达性,但不要从测试命名空间建立实际的IPsec隧道. 这是一个后续的增强,以添加真正的隧道连接测试.

□ 当前 IPsec 测试

  • 证书链验证
  • IPsec服务运行检查
  • 便携式(UDP 500,4500)
  • 响应DNS服务
  • 实际的IKEv2隧道设施
  • 通过IPsec隧道的交通

∮为什么这是复杂的∮

在网络命名空间中运行强天鹅的Charon守护进程需要:

  1. ** Daemon 设置 **: charon 必须在命名空间内运行,并有适当的插件路径
  2. VICI套接字:天鹅座通过VICI套接字与Charon通信
  3. ** 弹药处理**: 可能需要调整命名空间中的 Charon 的 AppArmor 配置
  4. 负载: 许多有库依赖性的强天鹅插件Name
  5. ** 认证路径**: 从命名空间上下文必须可以访问

□ 建议的执行

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

以自定义路径在命名空间开始动画

ip netns exec "${NAMESPACE}" /usr/lib/ipsec/charon
-- use- syslog -- debug-ike 2 &

装入证书

ip netns exec "${NAMESPACE}" swanctl --load-all -- file swanctl.conf 页面存档备份,存于互联网档案馆

启动连接 ip netns Execut "${NAMESPACE}" swanctl -- 初始化 -- child algovpn

验证建立状态

ip netns exec "${NAMESPACE}" swanctl -- list-as QQ - grep - q ESTABLED 执行 "${NAMESPACE}}" Swanctl - list-as QQ - grep - q ESTABLED

通过地道测试连接

ip netns exec "${NAMESPACE}" ping -c 3 ${VPN SERVER IP} (中文(简体) ).


□ 接受标准

- [ ] Charon 守护进程在命名空间成功启动
- [ ] IKEV2 握手完成(ESTABLED状态)
- [ 通过IPsec隧道的交通流量
- [ 测试退出时适当清理焦炭工艺
- [ GitHub Actions CI环境中的工作

^ 参考文献

- 父母问题: #14912
- 执行PR: #14914
- 强天鹅命名空间文件:https://wiki.strongswan.org/projects/strongswan/wiki/Netns

□ 优先级

低 -- -- 目前的证书和服务验证发现大多数部署问题。 全面隧道试验是全面覆盖的好办法.

内容来源: trailofbits/algo