这关于此的文档相当模糊,
在 IPsec 启动时应该自动执行什么操作(如果有)。添加加载连接但不启动它。route 加载连接并安装内核陷阱。如果检测到 leftsubnet 和 rightsubnet 之间的流量,则建立连接。start 加载连接并立即启动。ignore 忽略连接。这相当于从配置文件中删除连接。仅与本地相关,另一端无需同意。
加载连接而不启动它与立即启动它是什么意思?有人可以提供一个简单的例子吗?
答案1
这介绍文件strongSwan wiki 上有更多关于此的信息。启动连接的三个选项如下:
手动(或通过远程对等方):已加载连接
auto=add
,但之后不会自动发生任何事情。然后可以使用 手动启动它们ipsec up <name>
(前提是在 中配置了单个主机名/IPright
)。这种连接还允许远程对等点发起连接,只要它们的 IP 与配置相匹配
right
(因此您经常会在远程访问场景中看到连接right=%any
,其中客户端的 IP 地址通常是未知的)。自动地:
auto=start
加载连接后,IKE 守护进程将立即开始连接到 中配置的远程主机。这基本上就像在 IKE 守护进程启动后直接right
手动调用这些连接一样。ipsec up
一经请求
auto=route
:IKE 守护程序将根据在底层 IPsec 实现(例如 Linux 内核)中配置的流量选择器,加载连接并安装陷阱策略left|rightsubnet
。当内核稍后遇到与这些策略匹配的流量时,它将请求 IKE 守护程序发起连接。此类连接也可使用 手动启动
ipsec up
。此外,稍后可以使用 删除内核中安装的策略
ipsec unroute
。然后,该连接的状态与使用 添加的连接相同。同样,使用(或)auto=add
加载的连接可以auto=add
auto=start
路由使用ipsec route
。
答案2
值得注意的是,auto=start
如果隧道关闭,则不会重新建立隧道。这可能会导致问题,当您重新启动服务器(或重新启动 ipsec)时隧道会完美建立,但一段时间后会失败 - 通常是由于另一方设置的不活动计时器。另一方面,如果您设置auto=route
,那么 strongswan 将确保隧道每次看到有趣的流量时都处于开启状态。
答案3
auto=add
将添加处于监听状态的连接 - 为远程端发起连接做好准备。
auto=start
将添加连接并尝试启动与远程的连接。
因此,一般来说,您希望一个对等点(左或右)auto=add
和另一端auto=start