From f382205beae605a0c0db5a2602dbecb59ad186a6 Mon Sep 17 00:00:00 2001 From: Anton Krylov Date: Sun, 2 Dec 2018 14:53:37 +0300 Subject: [PATCH 1/2] pptp: use routes from environment in entrypoint script --- pptp/README.md | 1 + pptp/docker-compose.yml | 1 + pptp/docker-entrypoint.sh | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/pptp/README.md b/pptp/README.md index 4c367a10f..8b31e327f 100644 --- a/pptp/README.md +++ b/pptp/README.md @@ -13,6 +13,7 @@ pptp: - TUNNEL=vps - USERNAME=username - PASSWORD=password + - ROUTES=0.0.0.0/1 128.0.0.0/1 net: host privileged: yes restart: unless-stopped diff --git a/pptp/docker-compose.yml b/pptp/docker-compose.yml index d0602b2ac..8243be99b 100644 --- a/pptp/docker-compose.yml +++ b/pptp/docker-compose.yml @@ -5,6 +5,7 @@ pptp: - TUNNEL=vps - USERNAME=username - PASSWORD=password + - ROUTES=0.0.0.0/1 128.0.0.0/1 net: host privileged: yes restart: unless-stopped diff --git a/pptp/docker-entrypoint.sh b/pptp/docker-entrypoint.sh index dcff73c2b..7e0e8924b 100755 --- a/pptp/docker-entrypoint.sh +++ b/pptp/docker-entrypoint.sh @@ -1,5 +1,7 @@ #!/bin/sh +ROUTES=${ROUTES:-0.0.0.0/1 128.0.0.0/1} + cat > /etc/ppp/peers/${TUNNEL} <<_EOF_ pty "pptp ${SERVER} --nolaunchpppd" name "${USERNAME}" @@ -10,16 +12,14 @@ file /etc/ppp/options.pptp ipparam "${TUNNEL}" _EOF_ -cat > /etc/ppp/ip-up <<"_EOF_" -#!/bin/sh -ip route add 0.0.0.0/1 dev $1 -ip route add 128.0.0.0/1 dev $1 -_EOF_ +echo "#!/bin/sh" > /etc/ppp/ip-up +for route in $ROUTES; do + echo "ip route add ${route} dev \$1" >> /etc/ppp/ip-up +done -cat > /etc/ppp/ip-down <<"_EOF_" -#!/bin/sh -ip route del 0.0.0.0/1 dev $1 -ip route del 128.0.0.0/1 dev $1 -_EOF_ +echo "#!/bin/sh" > /etc/ppp/ip-down +for route in $ROUTES; do + echo "ip route del ${route} dev \$1" >> /etc/ppp/ip-down +done exec pon ${TUNNEL} debug dump logfd 2 nodetach persist "$@" From 4568cb748450988c585f7001c0be6a2bd739a72f Mon Sep 17 00:00:00 2001 From: Anton Krylov Date: Tue, 4 Dec 2018 10:50:51 +0300 Subject: [PATCH 2/2] pptp: add instructions to README, fix compose file --- pptp/README.md | 7 +++++++ pptp/docker-compose.yml | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pptp/README.md b/pptp/README.md index 8b31e327f..f4975008b 100644 --- a/pptp/README.md +++ b/pptp/README.md @@ -19,6 +19,13 @@ pptp: restart: unless-stopped ``` +## available parameters (passed as environment variables) + +* `SERVER`: IP or hostname of the VPN server +* `TUNNEL`: name of the tunnel +* `USERNAME` / `PASSWORD`: auth info for the server +* `ROUTES`: space separated list of routes that should be routed through the VPN. By default all traffic is routed + ## up and running ``` diff --git a/pptp/docker-compose.yml b/pptp/docker-compose.yml index 8243be99b..d0602b2ac 100644 --- a/pptp/docker-compose.yml +++ b/pptp/docker-compose.yml @@ -5,7 +5,6 @@ pptp: - TUNNEL=vps - USERNAME=username - PASSWORD=password - - ROUTES=0.0.0.0/1 128.0.0.0/1 net: host privileged: yes restart: unless-stopped