Strongswan 中同时支持 IKEv1 和 IKEv2 连接

Ale*_*lex 6 ipsec strongswan

我正在使用 Strongswan 来处理 IPsec 连接,并且需要一种同时支持 Windows (IKEv2) 和 OS X (IKEv1) 客户端的方法。我宁愿使用纯 IPsec(即避免必须设置 L2TP),除非有令人信服的理由使用 L2TP/IPsec。

我知道你可以在 ipsec.conf 中配置 Strongswan 来让一些连接使用 IKEv1 而其他一些连接使用 IKEv2。但是,在我的情况下,我无法轻松地为每个用户设置单独的连接配置,因为他们将连接的 IP 地址不会提前知道。我只是为我们所有的用户使用单一的连接配置。

是否可以让一些用户通过 IKEv1 连接配置进行连接,而让其他用户通过 IKEv2 连接配置进行连接,或者设置一个可以同时处理 IKEv1 和 IKEv2 连接的连接配置?如果不是,那么支持 Windows 和 OS X 内置 IPsec 客户端(使用 Strongswan 或其他一些 IPsec 包)的最简单方法是什么?

daw*_*wud 3

是的,只要您已pluto安装IKEv1 和 IKEv2charon并且守护程序正在运行,您就可以同时执行 IKEv1 和 IKEv2。在您的配置设置中使用它:

charonstart=yes
plutostart=yes
Run Code Online (Sandbox Code Playgroud)

并使用您的部分keyexchange中的参数:ipsec.confconn

conn foo
  ...
  keyexchange=ikev2
  ...

conn bar
  ...
  keyexchange=ikev1
  ...
Run Code Online (Sandbox Code Playgroud)

  • @Alex 由于连接是通过 IKE 建立的,无论是 v1 还是 v2,strongSwan 选择正确的配置都没有问题。但在 5.x 之前的版本中,两个守护进程将使用所有配置作为响应程序,无论 keyexchange 设置了什么值(即该选项对响应程序没有影响,它只影响启动程序)。当然,并非所有配置实际上都适用于两个协议版本,因此配置仍然可能仅由一个守护进程加载。无论如何,在当前版本(只有一个 IKE 守护进程)中,选择配置时会考虑协议版本。 (2认同)