You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android .sswan配置转ipsec.conf及Ubuntu下StrongSwan连接WatchGuard VPN失败的参数配置咨询

Android .sswan配置转ipsec.conf及Ubuntu下StrongSwan连接WatchGuard VPN失败的参数配置咨询

你好,我来帮你梳理下Ubuntu上StrongSwan连接WatchGuard VPN失败的问题~从你提供的错误日志和配置来看,核心问题是证书配置逻辑搞混了,加上IKE提议和服务器不匹配,我给你一步步拆解和修正:

先搞懂错误原因

  1. 'username_from_admin' not confirmed by certificate:你把WatchGuard的CA证书当成了自己的客户端证书配置在leftcert里,导致StrongSwan认为你的身份应该是CA的标识,和你设置的用户名不匹配,所以报错。
  2. no private key found for 'O=WatchGuard_Technologies...CA':CA证书是用来验证服务器身份的公钥证书,本身没有对应的私钥,但你把它设成了客户端证书,StrongSwan尝试用它做身份认证,自然找不到私钥。

修正步骤和正确配置

第一步:整理证书文件位置

  • 把你的rootca.pem(WatchGuard的CA证书)移动到/etc/ipsec.d/cacerts/目录下,这个目录专门放信任的CA证书,用来验证服务器的证书合法性。
  • 如果你的.sswan文件里还嵌入了你自己的客户端证书和私钥(不是CA证书),需要把它们提取出来:
    • 客户端证书放到/etc/ipsec.d/certs/目录,文件名比如user-cert.pem
    • 客户端私钥导出成PEM格式,放到/etc/ipsec.d/private/目录,文件名比如user-key.pem,注意私钥权限要设为600(执行sudo chmod 600 /etc/ipsec.d/private/user-key.pem)

第二步:修改ipsec.conf配置

替换原来的连接配置,以下是适配WatchGuard IKEv2 + EAP用户名密码认证的配置:

conn XYZ-IKEv2-VPN
    leftsourceip=%config          # 自动获取VPN分配的IP
    auto=add                      # 开机不自动启动,手动连接
    # 匹配日志里服务器协商的IKE参数,原来的aes256gmac和实际协商的aes256cbc不匹配
    ike=aes256-cbc-sha256-modp2048
    # WatchGuard常用的ESP加密组合,也可以根据实际协商结果调整
    esp=aes256-gcm-null-modp2048
    keyexchange=ikev2
    right=8.x.x.x                 # VPN服务器公网IP
    rightsubnet=172.30.x.x/24     # 内网子网,建议加上掩码避免歧义
    rightid=%any                  # 或者直接写服务器CA的标识:O=WatchGuard_Technologies, OU=Fireware, CN=Fireware IKE (SN XYZ 2023-03-14 13:57:23 UTC) CA
    leftid=%eap_id                # 用EAP用户名作为身份标识
    eap_identity=username_from_admin # 指定你的EAP认证用户名
    leftauth=eap-mschapv2         # 如果是密码认证,用这个EAP方法(管理员给的是密码就用这个)
    rightauth=pubkey              # 服务器用证书认证,我们用CA证书验证它
    ca-cert=/etc/ipsec.d/cacerts/rootca.pem # 指定信任的CA证书

如果你有自己的客户端证书(不是CA),需要在配置里加上leftcert=/etc/ipsec.d/certs/user-cert.pem和leftauth=pubkey,eap-mschapv2(双因素认证),但从你的错误看,目前应该是纯EAP密码认证,所以不需要这两行。

第三步:确认ipsec.secrets配置

你的这个配置是对的,保持不变:

username_from_admin : EAP "password_from_admin"

第四步:验证并重启服务

  1. 检查证书目录权限:确保/etc/ipsec.d/下的所有子目录文件属主是root,权限合理:
sudo chown -R root:root /etc/ipsec.d/
sudo chmod -R 600 /etc/ipsec.d/private/
sudo chmod -R 644 /etc/ipsec.d/cacerts/ /etc/ipsec.d/certs/
  1. 重启StrongSwan服务:
sudo systemctl restart strongswan-starter
  1. 尝试连接:
sudo ipsec up XYZ-IKEv2-VPN

额外说明

  • 日志里显示服务器返回了一个未知的Vendor ID,这个不用管,不影响连接。
  • 如果还是失败,可以查看更详细的日志:sudo journalctl -u strongswan-starter -f,实时看连接过程中的细节,方便排查。

备注:内容来源于stack exchange,提问作者T3.0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:29:30