testing: Add ikev2/start-action-start scenario
This tests the behavior for configs with start_action=start during reloads of the config (updates/removal).
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
This scenario tests <b>start_action=start</b> and its behavior when reloading the
|
||||||
|
config. To distinguish the different CHILD_SAs, arbitrary TCP ports are used in
|
||||||
|
the traffic selectors.
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
moon::cat /var/log/daemon.log::vici initiating 'one-start'::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'two-start-.'::2
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'four-start-.'::4
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'one-start-child'::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'two-start-child-.'::2
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'four-start-child-.'::4
|
||||||
|
moon::mv /etc/swanctl/swanctl-update.conf /etc/swanctl/conf.d/
|
||||||
|
moon::systemctl reload strongswan
|
||||||
|
moon::sleep 3
|
||||||
|
moon::cat /var/log/daemon.log::replaced vici connection: one-start::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'one-start'::YES
|
||||||
|
moon::cat /var/log/daemon.log::replaced vici connection: two-start::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'two-start'::YES
|
||||||
|
moon::cat /var/log/daemon.log::replaced vici connection: four-start::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'four-start'::YES
|
||||||
|
moon::cat /var/log/daemon.log::updated vici connection: one-start-child::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'one-start-child'::NO
|
||||||
|
moon::cat /var/log/daemon.log::vici closing CHILD_SA 'one-start-child'::YES
|
||||||
|
moon::cat /var/log/daemon.log::updated vici connection: two-start-child::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'two-start-child'::NO
|
||||||
|
moon::cat /var/log/daemon.log::vici closing CHILD_SA 'two-start-child-.'::2
|
||||||
|
moon::cat /var/log/daemon.log::updated vici connection: four-start-child::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'four-start-child'::NO
|
||||||
|
moon::cat /var/log/daemon.log::vici closing CHILD_SA 'four-start-child-.'::4
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'one-start'::2
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'two-start-.'::4
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'four-start-.'::8
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'one-start-child'::2
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'two-start-child-.'::4
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'four-start-child-.'::8
|
||||||
|
moon::rm /etc/swanctl/conf.d/*
|
||||||
|
moon::mv /etc/swanctl/swanctl-remove.conf /etc/swanctl/conf.d/
|
||||||
|
moon::systemctl reload strongswan
|
||||||
|
moon::sleep 3
|
||||||
|
moon::cat /var/log/daemon.log::removed vici connection: one-start::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'one-start'::2
|
||||||
|
moon::cat /var/log/daemon.log::removed vici connection: two-start::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'two-start'::2
|
||||||
|
moon::cat /var/log/daemon.log::removed vici connection: four-start::YES
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'four-start'::2
|
||||||
|
moon::cat /var/log/daemon.log::updated vici connection: one-start-child::2
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'one-start-child'::YES
|
||||||
|
moon::cat /var/log/daemon.log::updated vici connection: two-start-child::2
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'two-start-child'::NO
|
||||||
|
moon::cat /var/log/daemon.log::vici closing CHILD_SA 'two-start-child-1' #..::NO
|
||||||
|
moon::cat /var/log/daemon.log::vici closing CHILD_SA 'two-start-child-2' #..::YES
|
||||||
|
moon::cat /var/log/daemon.log::updated vici connection: four-start-child::2
|
||||||
|
moon::cat /var/log/daemon.log::vici closing IKE_SA 'four-start-child'::NO
|
||||||
|
moon::cat /var/log/daemon.log::vici closing CHILD_SA 'four-start-child-.'::8
|
||||||
|
# only the last one here should change
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'one-start'::2
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'two-start-.'::4
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'four-start-.'::8
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'one-start-child'::2
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'two-start-child-.'::4
|
||||||
|
moon::cat /var/log/daemon.log::vici initiating 'four-start-child-.'::10
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# /etc/strongswan.conf - strongSwan configuration file
|
||||||
|
|
||||||
|
charon-systemd {
|
||||||
|
load = random nonce aes sha1 sha2 pem pkcs1 curve25519 gmp x509 curl revocation hmac kdf vici kernel-netlink socket-default updown
|
||||||
|
}
|
||||||
+161
@@ -0,0 +1,161 @@
|
|||||||
|
# basic settings for these test configs
|
||||||
|
base-conn {
|
||||||
|
local_addrs = 192.168.0.1
|
||||||
|
remote_addrs = 192.168.0.2
|
||||||
|
|
||||||
|
local {
|
||||||
|
auth = psk
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
auth = psk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
connections {
|
||||||
|
|
||||||
|
# when updating, we'll change ike/peer parameters for these
|
||||||
|
|
||||||
|
one-start : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-one
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-one
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
one-start {
|
||||||
|
local_ts = dynamic[tcp/1001]
|
||||||
|
remote_ts = dynamic[tcp/1001]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
two-start : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-two
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-two
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
two-start-1 {
|
||||||
|
local_ts = dynamic[tcp/2001]
|
||||||
|
remote_ts = dynamic[tcp/2001]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
two-start-2 {
|
||||||
|
local_ts = dynamic[tcp/2002]
|
||||||
|
remote_ts = dynamic[tcp/2002]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
four-start : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-four
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-four
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
four-start-1 {
|
||||||
|
local_ts = dynamic[tcp/4001]
|
||||||
|
remote_ts = dynamic[tcp/4001]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-2 {
|
||||||
|
local_ts = dynamic[tcp/4002]
|
||||||
|
remote_ts = dynamic[tcp/4002]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-3 {
|
||||||
|
local_ts = dynamic[tcp/4003]
|
||||||
|
remote_ts = dynamic[tcp/4003]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-4 {
|
||||||
|
local_ts = dynamic[tcp/4004]
|
||||||
|
remote_ts = dynamic[tcp/4004]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# when updating, we'll change only child parameters for these
|
||||||
|
|
||||||
|
one-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-one-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-one-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
one-start-child {
|
||||||
|
local_ts = dynamic[tcp/1101]
|
||||||
|
remote_ts = dynamic[tcp/1101]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
two-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-two-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-two-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
two-start-child-1 {
|
||||||
|
local_ts = dynamic[tcp/2201]
|
||||||
|
remote_ts = dynamic[tcp/2201]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
two-start-child-2 {
|
||||||
|
local_ts = dynamic[tcp/2202]
|
||||||
|
remote_ts = dynamic[tcp/2202]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
four-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-four-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-four-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
four-start-child-1 {
|
||||||
|
local_ts = dynamic[tcp/4401]
|
||||||
|
remote_ts = dynamic[tcp/4401]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-child-2 {
|
||||||
|
local_ts = dynamic[tcp/4402]
|
||||||
|
remote_ts = dynamic[tcp/4402]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-child-3 {
|
||||||
|
local_ts = dynamic[tcp/4403]
|
||||||
|
remote_ts = dynamic[tcp/4403]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-child-4 {
|
||||||
|
local_ts = dynamic[tcp/4404]
|
||||||
|
remote_ts = dynamic[tcp/4404]
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
secrets {
|
||||||
|
ike {
|
||||||
|
secret = 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL
|
||||||
|
}
|
||||||
|
}
|
||||||
+75
@@ -0,0 +1,75 @@
|
|||||||
|
# basic settings for these test configs
|
||||||
|
base-conn {
|
||||||
|
local_addrs = 192.168.0.1
|
||||||
|
remote_addrs = 192.168.0.2
|
||||||
|
|
||||||
|
local {
|
||||||
|
auth = psk
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
auth = psk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
connections {
|
||||||
|
|
||||||
|
# the initial connections are removed completely
|
||||||
|
|
||||||
|
# here all child configs are removed
|
||||||
|
one-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-one-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-one-child
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# here only one is removed, the other remains unchanged
|
||||||
|
two-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-two-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-two-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
two-start-child-1 {
|
||||||
|
local_ts = dynamic[tcp/2201]
|
||||||
|
remote_ts = dynamic[tcp/2201]
|
||||||
|
rekey_time = 42m
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# here two are removed, the others are updated
|
||||||
|
four-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = moon-four-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = sun-four-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
four-start-child-1 {
|
||||||
|
local_ts = dynamic[tcp/4401]
|
||||||
|
remote_ts = dynamic[tcp/4401]
|
||||||
|
rekey_time = 420m
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
four-start-child-2 {
|
||||||
|
local_ts = dynamic[tcp/4402]
|
||||||
|
remote_ts = dynamic[tcp/4402]
|
||||||
|
rekey_time = 420m
|
||||||
|
start_action = start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
secrets {
|
||||||
|
ike {
|
||||||
|
secret = 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL
|
||||||
|
}
|
||||||
|
}
|
||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
connections {
|
||||||
|
|
||||||
|
# update the rekey time for the IKE_SA for the first connections, so they
|
||||||
|
# get replaced completely
|
||||||
|
|
||||||
|
one-start {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
|
||||||
|
two-start {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
|
||||||
|
four-start {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
|
||||||
|
# for these connections, the rekey time for the children is updated, so the
|
||||||
|
# IKE_SAs should remain
|
||||||
|
|
||||||
|
one-start-child {
|
||||||
|
children {
|
||||||
|
one-start-child {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
two-start-child {
|
||||||
|
children {
|
||||||
|
two-start-child-1 {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
two-start-child-2 {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
four-start-child {
|
||||||
|
children {
|
||||||
|
four-start-child-1 {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
four-start-child-2 {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
four-start-child-3 {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
four-start-child-4 {
|
||||||
|
rekey_time = 42m
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# include config files from conf.d/
|
||||||
|
include conf.d/*.conf
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# /etc/strongswan.conf - strongSwan configuration file
|
||||||
|
|
||||||
|
charon-systemd {
|
||||||
|
load = random nonce aes sha1 sha2 pem pkcs1 curve25519 gmp x509 curl revocation hmac kdf vici kernel-netlink socket-default updown
|
||||||
|
|
||||||
|
# disable DoS protection as the initator will create a lot of IKE_SAs in this scenario
|
||||||
|
dos_protection = no
|
||||||
|
}
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
# basic settings for these test configs
|
||||||
|
base-conn {
|
||||||
|
local_addrs = 192.168.0.2
|
||||||
|
remote_addrs = 192.168.0.1
|
||||||
|
|
||||||
|
local {
|
||||||
|
auth = psk
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
auth = psk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
connections {
|
||||||
|
|
||||||
|
one-start : base-conn {
|
||||||
|
local {
|
||||||
|
id = sun-one
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = moon-one
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
one-start {
|
||||||
|
local_ts = dynamic[tcp/1001]
|
||||||
|
remote_ts = dynamic[tcp/1001]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
two-start : base-conn {
|
||||||
|
local {
|
||||||
|
id = sun-two
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = moon-two
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
two-start-1 {
|
||||||
|
local_ts = dynamic[tcp/2001]
|
||||||
|
remote_ts = dynamic[tcp/2001]
|
||||||
|
}
|
||||||
|
two-start-2 {
|
||||||
|
local_ts = dynamic[tcp/2002]
|
||||||
|
remote_ts = dynamic[tcp/2002]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
four-start : base-conn {
|
||||||
|
local {
|
||||||
|
id = sun-four
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = moon-four
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
four-start-1 {
|
||||||
|
local_ts = dynamic[tcp/4001]
|
||||||
|
remote_ts = dynamic[tcp/4001]
|
||||||
|
}
|
||||||
|
four-start-2 {
|
||||||
|
local_ts = dynamic[tcp/4002]
|
||||||
|
remote_ts = dynamic[tcp/4002]
|
||||||
|
}
|
||||||
|
four-start-3 {
|
||||||
|
local_ts = dynamic[tcp/4003]
|
||||||
|
remote_ts = dynamic[tcp/4003]
|
||||||
|
}
|
||||||
|
four-start-4 {
|
||||||
|
local_ts = dynamic[tcp/4004]
|
||||||
|
remote_ts = dynamic[tcp/4004]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
one-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = sun-one-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = moon-one-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
one-start-child {
|
||||||
|
local_ts = dynamic[tcp/1101]
|
||||||
|
remote_ts = dynamic[tcp/1101]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
two-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = sun-two-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = moon-two-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
two-start-child-1 {
|
||||||
|
local_ts = dynamic[tcp/2201]
|
||||||
|
remote_ts = dynamic[tcp/2201]
|
||||||
|
}
|
||||||
|
two-start-child-2 {
|
||||||
|
local_ts = dynamic[tcp/2202]
|
||||||
|
remote_ts = dynamic[tcp/2202]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
four-start-child : base-conn {
|
||||||
|
local {
|
||||||
|
id = sun-four-child
|
||||||
|
}
|
||||||
|
remote {
|
||||||
|
id = moon-four-child
|
||||||
|
}
|
||||||
|
children {
|
||||||
|
four-start-child-1 {
|
||||||
|
local_ts = dynamic[tcp/4401]
|
||||||
|
remote_ts = dynamic[tcp/4401]
|
||||||
|
}
|
||||||
|
four-start-child-2 {
|
||||||
|
local_ts = dynamic[tcp/4402]
|
||||||
|
remote_ts = dynamic[tcp/4402]
|
||||||
|
}
|
||||||
|
four-start-child-3 {
|
||||||
|
local_ts = dynamic[tcp/4403]
|
||||||
|
remote_ts = dynamic[tcp/4403]
|
||||||
|
}
|
||||||
|
four-start-child-4 {
|
||||||
|
local_ts = dynamic[tcp/4404]
|
||||||
|
remote_ts = dynamic[tcp/4404]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
secrets {
|
||||||
|
ike {
|
||||||
|
secret = 0sv+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
sun::systemctl stop strongswan
|
||||||
|
moon::systemctl stop strongswan
|
||||||
|
moon::iptables-restore < /etc/iptables.flush
|
||||||
|
sun::iptables-restore < /etc/iptables.flush
|
||||||
|
moon::rm -rf /etc/swanctl/conf.d/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
moon::iptables-restore < /etc/iptables.rules
|
||||||
|
sun::iptables-restore < /etc/iptables.rules
|
||||||
|
sun::systemctl start strongswan
|
||||||
|
sun::expect-connection four-start-child
|
||||||
|
moon::systemctl start strongswan
|
||||||
|
moon::sleep 3
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# This configuration file provides information on the
|
||||||
|
# guest instances used for this test
|
||||||
|
|
||||||
|
# All guest instances that are required for this test
|
||||||
|
#
|
||||||
|
VIRTHOSTS="alice moon winnetou sun bob"
|
||||||
|
|
||||||
|
# Corresponding block diagram
|
||||||
|
#
|
||||||
|
DIAGRAM="a-m-w-s-b.png"
|
||||||
|
|
||||||
|
# Guest instances on which tcpdump is to be started
|
||||||
|
#
|
||||||
|
TCPDUMPHOSTS=""
|
||||||
|
|
||||||
|
# Guest instances on which IPsec is started
|
||||||
|
# Used for IPsec logging purposes
|
||||||
|
#
|
||||||
|
IPSECHOSTS="moon sun"
|
||||||
|
|
||||||
|
# charon controlled by swanctl
|
||||||
|
#
|
||||||
|
SWANCTL=1
|
||||||
Reference in New Issue
Block a user