From c463a4c0f34eda38e909db547d7204d6f7aece13 Mon Sep 17 00:00:00 2001 From: bergware Date: Wed, 20 Apr 2022 00:43:51 +0200 Subject: [PATCH] Wireguard: make routing independent from docker state --- plugins/dynamix/include/update.wireguard.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/dynamix/include/update.wireguard.php b/plugins/dynamix/include/update.wireguard.php index ecb4bf655..09a08389f 100644 --- a/plugins/dynamix/include/update.wireguard.php +++ b/plugins/dynamix/include/update.wireguard.php @@ -99,12 +99,12 @@ function addDocker($vtun) { $network = "$dockernet.$index.0/24"; exec("docker network create $vtun --subnet=$network 2>/dev/null"); $error = dockerNet($vtun); - if (!$error && noNet($network)) { - [$thisnet,$gateway] = thisnet(); - exec("ip -4 rule add from $network table $index"); - exec("ip -4 route add unreachable default table $index"); - exec("ip -4 route add $thisnet via $gateway table $index"); - } + } + if (!$error && noNet($network)) { + [$thisnet,$gateway] = thisnet(); + exec("ip -4 rule add from $network table $index"); + exec("ip -4 route add unreachable default table $index"); + exec("ip -4 route add $thisnet via $gateway table $index"); } return $error; } @@ -116,10 +116,10 @@ function delDocker($vtun) { $network = "$dockernet.$index.0/24"; exec("docker network rm $vtun 2>/dev/null"); $error = !dockerNet($vtun); - if (!$error && exec("ip rule|grep -Pom1 'from $network'")) { - exec("ip -4 route flush table $index"); - exec("ip -4 rule del from $network table $index"); - } + } + if (!$error && exec("ip rule|grep -Pom1 'from $network'")) { + exec("ip -4 route flush table $index"); + exec("ip -4 rule del from $network table $index"); } return $error; }