使用strongswan,auto = add和auto = start有什么区别?

关于这个文件非常模糊,

在IPsec启动时应自动完成哪些操作(如果有的话)。 添加加载连接而不启动它。 路由加载连接并安装内核陷阱。 如果在leftsubnet和rightsubnet之间检测到stream量,则build立连接。 开始加载连接并立即启动。 忽略忽略连接。 这相当于从configuration文件中删除一个连接。 相关只在当地,其他方面不需要同意。

加载一个连接而不启动它而不是立即启动它意味着什么? 谁能提供一个简单的例子?

strongSwan wiki上的介绍文档有更多关于这方面的信息。 开始连接的三个选项如下:

  • 手动(或通过远程对等) :与auto=add连接加载,但没有任何事情后自动发生。 然后,可以使用ipsec up <name>手动启动它们(只要单独configuration一个主机名/ IP即可)。

    这样的连接还允许远程对端发起连接,因为它们的IP匹配rightconfiguration的任何东西(因此,在远程访问情况下(通常不知道客户端的IP地址),您经常会看到right=%any连接)。

  • 自动 :使用auto=start加载连接,IKE守护进程将立即开始连接到rightconfiguration的远程主机。 这基本上就像在IKE守护进程启动后直接手动调用这些连接的ipsec up

  • 按需提供 :IKE守护进程将使用auto=route加载连接,并在基础IPsec实现(例如Linux内核)中基于configuration有left|rightsubnet的stream量select器安装陷阱策略。 当内核稍后遇到匹配这些策略的stream量时,它将请求IKE守护进程发起连接。

    这样的连接也可以使用ipsec up手动ipsec up

    此外,可以稍后使用ipsec unroute删除安装在内核中的策略。 然后,连接的状态与添加了auto=add状态相同。 同样,使用ipsec route可以路由使用auto=add (或auto=start )加载的连接。

auto=add会将连接添加到监听状态 – 准备好让远端发起连接。

auto=start将添加连接并尝试启动到远程的连接。

所以一般情况下,你想要一个同伴(左或右) auto=add ,另一端auto=start

值得注意的是, auto=start在closures时不会重新build立隧道。 当你重新启动服务器(或重新启动ipsec)时,这可能会导致隧道出现问题,但是之后会失败 – 通常是由于另一方设置了不活动计时器。 另一方面,如果你设置了auto=route ,那么strongswan将确保每次看到感兴趣的stream量时都会启动隧道。