当服务器关闭时,如何让 strongSwan 客户端自动重新连接?

当服务器关闭时,如何让 strongSwan 客户端自动重新连接?

如果服务器宕机,我希望客户端能够无限期地尝试重新连接,这样当服务器恢复时,客户端只需重新连接即可。

客户ipsec.conf

conn %default
    ike=aes256gcm16-sha384-modp3072!
    esp=aes256gcm16-sha384-modp3072!

conn ikev2
    auto=start
    [email protected]
    leftsourceip=%config
    leftauth=eap-tls
    leftcert=vpn-client.crt
    right=my-vpn.com
    rightid=my-vpn.com
    rightsubnet=0.0.0.0/0
    rightauth=pubkey

答案1

您通常会使用陷阱策略,因此与内核中安装的 IPsec 策略匹配的流量会自动触发 IKE 和 IPsec SA 协商。它们还可以防止任何匹配的流量以未加密的方式离开主机。但是,要使此功能与虚拟 IP ( leftsourceip) 配合使用,需要相对较新的 strongSwan 版本(准确地说是 5.6.3 或更高版本)。

因此,对于较新的版本,或者在未使用虚拟 IP 的情况下,只需配置auto=route。并且不要设置下面提到的任何设置(或将它们设置为clearkeyingtries可能设置为 1)。

使用旧版本的虚拟 IP 时,您可以配置dpdaction=restartcloseaction=restartkeyingtries=%forever与 一起auto=start)以在 SA 被对等方终止或由于网络问题而重新创建 SA(发生这种情况时,未加密的流量可能会离开主机,除非您通过防火墙阻止这种情况)。如上所述,在使用陷阱策略时不应使用这些设置,因为这可能会导致额外的 IPsec SA(由流量触及这些策略而同时已经重新创建 SA 触发)。另请注意,有些致命错误(例如身份验证失败)目前不会触发受影响的 IKE SA 的重新创建,因此这可能需要一个脚本来偶尔检查 SA 是否存在或是否正在建立(使用错误通知插件作为触发器也可以是一个选项)。

相关内容