11#! /bin/bash
22
33set -e
4-
4+ set -x
55display_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