From 3fd543e96faab47de885b1ccd22bde8678ed77ba Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <janne@kuschku.de>
Date: Wed, 8 Jun 2022 22:54:47 +0200
Subject: [PATCH] fix: correctly set default routes

---
 wireguard/Dockerfile    | 2 +-
 wireguard/entrypoint.sh | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/wireguard/Dockerfile b/wireguard/Dockerfile
index 35170d3..41a335e 100644
--- a/wireguard/Dockerfile
+++ b/wireguard/Dockerfile
@@ -9,7 +9,7 @@ RUN rm /sbin/iptables /sbin/ip6tables
 RUN ln -s /sbin/ip6tables-nft /sbin/ip6tables
 RUN ln -s /sbin/iptables-nft /sbin/iptables
 
-ENV LOCAL_NETWORK=""
+ENV LOCAL_NETWORKS=""
 
 COPY entrypoint.sh /entrypoint.sh
 ENTRYPOINT ["/entrypoint.sh"]
diff --git a/wireguard/entrypoint.sh b/wireguard/entrypoint.sh
index f2c9223..5853e88 100755
--- a/wireguard/entrypoint.sh
+++ b/wireguard/entrypoint.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 set -eu
 
-if [ -n "$LOCAL_NETWORK" ]; then
+if [ -n "$LOCAL_NETWORKS" ]; then
   gateway=$(ip route list match 0.0.0.0 | grep -v tun0 | cut -d ' ' -f 3)
   interface=$(ip route list match 0.0.0.0 | grep -v tun0 | cut -d ' ' -f 5)
   echo gateway="$gateway"
@@ -14,6 +14,8 @@ chmod 0666 /dev/net/tun
 
 wg-quick up /wireguard.conf
 
-if [ -n "$LOCAL_NETWORK" ]; then
-  ip r add "$LOCAL_NETWORK" via "${gateway}" dev "${interface}"
+if [ -n "$LOCAL_NETWORKS" ]; then
+  for LOCAL_NETWORK in $LOCAL_NETWORKS; do
+    ip route add "$LOCAL_NETWORK" via "${gateway}" dev "${interface}"
+  done
 fi
-- 
GitLab