Skip to content

Commit eecc50e

Browse files
committed
finally made nat working
1 parent c850e50 commit eecc50e

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

scripts/netnsinit

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
set -e
4-
4+
set -x
55
display_usage() {
66
echo "Auto configuration for systemd-named-netns."
77
echo -e "\nUsage:\n\t$0 network-type ns-name [optional params] [up|down] [inside|outside]\n"
@@ -26,9 +26,10 @@ autoconfigure_tunnel_up_outside() {
2626
ip -n ${NSNAME} link set ${DEVNAME_INSIDE} up
2727

2828
# add ipv4 address at global end
29-
# let this fail silently if IPADDR_OUTSIDE is undefined
30-
! ip address add ${IPADDR_OUTSIDE} dev ${DEVNAME_OUTSIDE}
31-
29+
if [ ! -z "${IPADDR_OUTSIDE}" ]; then
30+
ip address add ${IPADDR_OUTSIDE} dev ${DEVNAME_OUTSIDE}
31+
fi
32+
3233
return 0 # additional precation against "set -e" in case of future mods of this function
3334
}
3435

@@ -40,7 +41,7 @@ autoconfigure_tunnel_up_inside() {
4041

4142
# setup default route
4243
if [ ! -z "${GATEWAY}" ]; then
43-
ip route add default via ${GATEWAY%%/*} onlink
44+
ip route add default via ${GATEWAY%%/*} dev ${DEVNAME_INSIDE} onlink
4445
fi
4546

4647
# if DHCP is configured
@@ -107,7 +108,7 @@ autoconfigure_nat_up_inside() {
107108

108109
# add default route if gateway undefined
109110
if [ -z "${GATEWAY}" -a -n "${IPADDR_OUTSIDE}" ]; then
110-
ip route add default via ${IPADDR_OUTSIDE%%/*}
111+
GATEWAY="${IPADDR_OUTSIDE}"
111112
fi
112113

113114
return 0 # additional precation against "set -e" in case of future mods of this function
@@ -167,8 +168,8 @@ autoconfigure() {
167168
! source "/etc/default/netns-${NSNAME}" # for compatibility, see https://github.com/Jamesits/systemd-named-netns/pull/21
168169
! source "/etc/default/netns-${NSTYPE}-${NSNAME}"
169170

170-
if type -t autoconfigure_${NSTYPE}_${INOUT}_${UPDOWN} >/dev/null ; then
171-
autoconfigure_${NSTYPE}_${INOUT}_${UPDOWN} "$@"
171+
if type -t autoconfigure_${NSTYPE}_${UPDOWN}_${INOUT} >/dev/null ; then
172+
autoconfigure_${NSTYPE}_${UPDOWN}_${INOUT} "$@"
172173
echo "Autoconfiguration finished."
173174
else
174175
echo "No configuration required."

0 commit comments

Comments
 (0)