You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

请求适配IKEv2 EAP密码认证的StrongSwan客户端ipsec.conf配置示例

请求适配IKEv2 EAP密码认证的StrongSwan客户端ipsec.conf配置示例

看起来你当前的配置踩了两个关键坑:一是认证方式选错了(用了预共享密钥PSK而非EAP),二是ipsec.secrets的格式不对。我帮你调整出适配IKEv2 EAP密码认证的完整配置,顺便解释下问题原因:

错误原因分析

你之前的配置里authby=psk会让StrongSwan尝试用预共享密钥完成认证,但你的ISP明确要求IKEv2 EAP协议;同时ipsec.secrets里多余的IP对EAP条目完全没必要,反而会干扰认证流程,这就是报错“no shared key found for '192.168.1.42' - ''”的根源。

正确的/etc/ipsec.conf配置

config setup
    charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2"
    uniqueids=no  # 解决NAT环境下的设备ID冲突问题

conn proxym
    keyexchange=ikev2
    authby=eap-mschapv2  # 指定使用EAP-MSCHAPv2认证(ISP文档要求的EAP密码认证常用类型)
    left=%defaultroute  # 自动匹配本地默认路由的IP,比硬编码192.168.1.42更灵活
    leftsourceip=%config  # 从VPN服务器自动获取分配的IP地址
    leftauth=eap
    eap_identity="<你的VPN用户名>"  # 替换为你在VPN服务器创建的用户名
    right=<远程VPN服务器IP>  # 替换为ISP提供的VPN服务器IP
    rightauth=pubkey  # 服务器端使用公钥认证(无需你提供客户端证书)
    rightsubnet=0.0.0.0/0  # 所有流量走VPN,若仅需特定子网可修改此处
    auto=add

正确的/etc/ipsec.secrets配置

只需要保留EAP用户名+密码的条目即可:

<你的VPN用户名> : EAP "<你的VPN密码>"

测试命令

配置完成后执行以下命令启动连接:

sudo ipsec up proxym

如果仍然遇到问题,可以把charondebug里的ike 2改成ike 4,获取更详细的协商日志来排查细节。

备注:内容来源于stack exchange,提问作者sashok_bg

火山引擎 最新活动