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

Eva*_*oll 6 networking ipsec strongswan

关于这个文档非常模糊,

在 IPsec 启动时应自动执行哪些操作(如果有)。add 加载连接而不启动它。route 加载连接并安装内核陷阱。如果在 leftsubnet 和 rightsubnet 之间检测到流量,则建立连接。start 加载连接并立即启动。ignore 忽略连接。这相当于从配置文件中删除一个连接。仅在本地相关,另一端无需同意。

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

ecd*_*dsa 9

介绍文件的strongSwan wiki有关于这个的更多信息。启动连接的三个选项如下:

  • 手动(或通过远程对等方)auto=add加载了连接,但之后不会自动发生任何事情。然后可以使用手动启动它们ipsec up <name>(假设在 中配置了单个主机名/IP right)。

    此类连接还允许远程对等方发起连接,因为它们的 IP 与配置的任何内容相匹配right(因此您经常会right=%any在远程访问场景中看到连接,其中客户端的 IP 地址通常是未知的)。

  • 自动auto=start加载连接后,IKE 守护进程将立即开始连接到right. 这基本上就像ipsec up在 IKE 守护进程启动后直接手动调用这些连接一样。

  • 按需:IKE 守护程序将auto=route根据在left|rightsubnet底层 IPsec 实现(例如 Linux 内核)中配置的流量选择器加载连接并安装陷阱策略。当内核稍后遇到与这些策略匹配的流量时,它将请求 IKE 守护进程启动连接。

    也可以使用 手动启动此类连接ipsec up

    此外,可以在稍后使用ipsec unroute. 然后,该连接的状态与使用auto=add. 同样地,装载有该连接auto=add(或auto=start)可被路由使用ipsec route


小智 6

值得注意的是,auto=start如果隧道关闭,将不会重新建立隧道。这可能会导致问题,当您重新启动服务器(或重新启动 ipsec)时,隧道将完美启动,但稍后会失败 - 通常是由于另一方设置的不活动计时器。另一方面,如果您设置了auto=route,那么 strongswan 将确保每次看到有趣的流量时隧道都已启动。


fuk*_*wi2 0

auto=add将添加处于侦听状态的连接 - 准备好远程端发起连接。

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

因此,一般来说,您希望一个对等点(左或右)连接auto=add,另一端连接auto=start