summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorOleksandr Kuchmystyi <o.kuchmystyi@vyos.io>2026-05-14 12:42:44 +0300
committerOleksandr Kuchmystyi <o.kuchmystyi@vyos.io>2026-05-20 12:22:21 +0300
commitb6d24956bd4c7a5e4cb89c0b4331264a96667184 (patch)
tree21ee37fab6c99d6ab67c8000453337e6b546470f /data
parent51ab39e51bb925307c0f9ad1d905d450ceecc0f5 (diff)
downloadvyos-1x-b6d24956bd4c7a5e4cb89c0b4331264a96667184.tar.gz
vyos-1x-b6d24956bd4c7a5e4cb89c0b4331264a96667184.zip
ipsec: T7555: Implement `ikev2-reauth` for site-to-site peers
IKEv2 reauthentication was configurable via CLI but never translated into `swanctl.conf`. Add `reauth_time` to the peer connection template, driven by the `ikev2-reauth` flag on the ike-group and the per-peer override (yes/no/inherit).
Diffstat (limited to 'data')
-rw-r--r--data/templates/ipsec/swanctl/peer.j210
1 files changed, 10 insertions, 0 deletions
diff --git a/data/templates/ipsec/swanctl/peer.j2 b/data/templates/ipsec/swanctl/peer.j2
index 24d037fe1..96f761cce 100644
--- a/data/templates/ipsec/swanctl/peer.j2
+++ b/data/templates/ipsec/swanctl/peer.j2
@@ -3,6 +3,13 @@
{# peer needs to reference the global IKE configuration for certain values #}
{% set ike = ike_group[peer_conf.ike_group] %}
{{ name }} {
+{# Resolve effective reauth setting: peer overrides ike-group #}
+{% set reauth = peer_conf.ikev2_reauth if peer_conf.ikev2_reauth is vyos_defined else '' %}
+{% if reauth == 'inherit' %}
+{% set reauth = ike.ikev2_reauth is vyos_defined %}
+{% else %}
+{% set reauth = reauth == 'yes' %}
+{% endif %}
{% if peer_conf.authentication.ppk.id is vyos_defined %}
ppk_id = {{ peer_conf.authentication.ppk.id }}
{% endif %}
@@ -36,6 +43,9 @@
reauth_time = 0
{% elif peer_conf.connection_type is not vyos_defined or peer_conf.connection_type is vyos_defined('initiate') %}
keyingtries = 0
+{% if reauth and ike.key_exchange is vyos_defined('ikev2') %}
+ reauth_time = {{ ike.lifetime }}s
+{% endif %}
{% elif peer_conf.connection_type is vyos_defined('trap') %}
keyingtries = 1
{% endif %}