aboutsummaryrefslogtreecommitdiff
path: root/netns-script
diff options
context:
space:
mode:
authorWojciech Kosior <kwojtus@protonmail.com>2020-05-28 20:28:03 +0200
committerWojciech Kosior <kwojtus@protonmail.com>2020-05-28 20:28:03 +0200
commit2f55027b9b69dc21c59d7d1fe90c5e56eea7908b (patch)
treeefb3f14a2c71ea19240826768949341a318a30b7 /netns-script
parentc96321d576e79834f262486f44ab772f33053f7b (diff)
download0tdns-2f55027b9b69dc21c59d7d1fe90c5e56eea7908b.tar.gz
0tdns-2f55027b9b69dc21c59d7d1fe90c5e56eea7908b.zip
timestamp namespaces to avoid conflicts with other instances of script
Diffstat (limited to 'netns-script')
-rwxr-xr-xnetns-script29
1 files changed, 15 insertions, 14 deletions
diff --git a/netns-script b/netns-script
index 36cbda9..ba2d226 100755
--- a/netns-script
+++ b/netns-script
@@ -3,35 +3,36 @@
# adapted from
# https://unix.stackexchange.com/questions/149293/feed-all-traffic-through-openvpn-for-a-specific-network-namespace-only
+# vpn_wrapper.sh creates another script of name helper_script<timestamp>.sh,
+# which gets called by openvpn process, exports NAMESPACE_NAME and WRAPPER_PID
+# variables and then runs this script
+
case $script_type in
- up)
- ip netns add 0tdns
- ip netns exec 0tdns ip link set dev lo up
- ip link set dev "$1" up netns 0tdns mtu "$2"
- ip netns exec 0tdns ip addr add dev "$1" \
+ up)
+ env
+ ip netns add $NAMESPACE_NAME
+ ip netns exec $NAMESPACE_NAME ip link set dev lo up
+ ip link set dev "$1" up netns $NAMESPACE_NAME mtu "$2"
+ ip netns exec $NAMESPACE_NAME ip addr add dev "$1" \
"$4/${ifconfig_netmask:-30}" \
${ifconfig_broadcast:+broadcast "$ifconfig_broadcast"}
if [ -n "$ifconfig_ipv6_local" ]; then
- ip netns exec 0tdns ip addr add dev "$1" \
+ ip netns exec $NAMESPACE_NAME ip addr add dev "$1" \
"$ifconfig_ipv6_local"/112
fi
;;
route-up)
- ip netns exec 0tdns ip route add default via "$ifconfig_remote"
+ ip netns exec $NAMESPACE_NAME ip route add default via "$ifconfig_remote"
if [ -n "$ifconfig_ipv6_remote" ]; then
- ip netns exec 0tdns ip route add default via \
+ ip netns exec $NAMESPACE_NAME ip route add default via \
"$ifconfig_ipv6_remote"
fi
# notify our sh process, that openvpn finished initializing
- kill -usr1 `cat /var/lib/0tdns/shell_pid`
-
- # we no longer need this connection
- #kill $OPENVPN_PID
-
+ kill -usr1 $WRAPPER_PID
;;
down)
- ip netns delete 0tdns
+ ip netns delete $NAMESPACE_NAME
;;
esac