В документы по этому довольно расплывчаты,
какая операция, если таковая имеется, должна выполняться автоматически при запуске IPsec. add загружает соединение, не запуская его. route загружает соединение и устанавливает ловушки ядра. Если обнаружен трафик между левой и правой подсетями, устанавливается соединение. start загружает соединение и сразу запускает его. ignore игнорирует соединение. Это равносильно удалению подключения из файла конфигурации. Актуально только на местном уровне, другой конец не должен согласовывать это.
Что значит загрузить соединение, не запуская его, или сразу запустить? Может ли кто-нибудь привести простой пример?
В вводный документ на вики strongSwan есть дополнительная информация об этом. Три варианта запуска подключений следующие:
Вручную (или удаленными узлами): Связь с 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
.
Стоит отметить, что auto=start
не будет восстанавливать туннель, если он отключен. Это может вызвать проблемы, когда туннель сработает безупречно при перезапуске сервера (или перезапуске ipsec), но через некоторое время выйдет из строя - обычно из-за таймера бездействия, установленного другой стороной. С другой стороны, если вы установите auto=route
, то strongswan будет следить за тем, чтобы туннель работал каждый раз, когда он видит интересный трафик.
auto=add
добавит соединение в состояние прослушивания - готово для удаленной стороны инициировать соединение.
auto=start
добавит соединение и попытается установить соединение с удаленным.
Итак, как правило, вы хотите, чтобы один партнер (левый или правый) auto=add
а другой конец к auto=start