Назад | Перейти на главную страницу

Как сделать так, чтобы клиенты strongSwan автоматически переподключались, когда сервер не работает?

Я хотел бы, чтобы клиенты пытались повторно подключиться на неопределенный срок, если сервер не работает, поэтому, когда он возвращается, клиент просто повторно подключается.

Клиент ipsec.conf

conn %default
    ike=aes256gcm16-sha384-modp3072!
    esp=aes256gcm16-sha384-modp3072!

conn ikev2
    auto=start
    leftid=client@my-vpn.com
    leftsourceip=%config
    leftauth=eap-tls
    leftcert=vpn-client.crt
    right=my-vpn.com
    rightid=my-vpn.com
    rightsubnet=0.0.0.0/0
    rightauth=pubkey

Обычно вы используете политики прерывания, поэтому трафик, соответствующий политикам IPsec, установленным в ядре, автоматически запускает согласование IKE и IPsec SA. Они также препятствуют тому, чтобы любой совпадающий трафик оставил хост незашифрованным. Однако, чтобы это работало с виртуальными IP (leftsourceip) для этого требуется относительно последняя версия strongSwan (5.6.3 или новее, если быть точным).

Поэтому с более новыми выпусками или в сценариях, которые не используют виртуальные IP-адреса, просто настройте auto=route. И не устанавливайте никаких параметров, упомянутых ниже (или устанавливайте их на clear, keyingtries может быть установлен в 1).

При использовании виртуальных IP-адресов в более ранней версии вы можете настроить dpdaction=restart, closeaction=restart и keyingtries=%forever (вместе с auto=start) для воссоздания SA, если они прерываются одноранговым узлом или из-за сетевых проблем (при этом незашифрованный трафик может покинуть хост, если вы не предотвратите это через брандмауэр). Как упоминалось выше, вы не должны использовать эти параметры при использовании политик ловушек, поскольку это может вызвать дополнительные сопоставления безопасности IPsec (вызванные трафиком, попадающим в эти политики, в то время как сопоставления безопасности одновременно уже воссоздаются). Также обратите внимание, что есть некоторые фатальные ошибки (например, сбои аутентификации), которые в настоящее время не запускают воссоздание затронутой IKE SA, поэтому для этого может потребоваться сценарий, который иногда проверяет, существуют ли SA или устанавливаются (с использованием плагин уведомления об ошибках как триггер также может быть вариантом).