From 3ef44f41ddf2dafa35e749115ad7dc1dcf04a786 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 | 9 ++++++--- 2 files changed, 7 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..35dd4f1 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,9 @@ 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 + IFS="," + for LOCAL_NETWORK in $LOCAL_NETWORKS; do + ip route add "$LOCAL_NETWORK" via "${gateway}" dev "${interface}" + done fi -- GitLab