fix for gateway change
authorIan Kelling <iank@fsf.org>
Tue, 29 Dec 2020 22:24:55 +0000 (17:24 -0500)
committerIan Kelling <iank@fsf.org>
Tue, 29 Dec 2020 22:24:55 +0000 (17:24 -0500)
newns

diff --git a/newns b/newns
index 894ac310b2963866328fe545b20ced78e1d2ceab..7e3bf2b368e1fd27645fc2515229ca863accea82 100755 (executable)
--- a/newns
+++ b/newns
@@ -176,25 +176,12 @@ dexec() { ip netns exec default "$@"; }
 mexec() { /usr/bin/nsenter --mount=/root/mount_namespaces/$nn "$@"; }
 
 
-# background: head -n1 is defensive. Not sure if there is some weird feature
-# for 2 routes to be 0/0.
-gateway_ifs=($(ipd route list exact 0/0 | head -n1| sed -r 's/.*dev\s+(\S+).*/\1/'))
-
-if [[ ! $gateway_ifs ]]; then
-  cat >&2 <<EOF
-$0: error: failed to find gateway interface. No output from:
-ipd route list exact 0/0 | head -n1| sed -r 's/.*dev\s+(\S+).*/\1/'
-output from "ipd route list exact 0/0":
-$(ipd route list exact 0/0)
-EOF
-  exit 1
-fi
-
 nat() {
-  for if in ${gateway_ifs[@]}; do
-    dexec iptables -t nat $1 POSTROUTING -s $network.0/24 -o $if -j MASQUERADE \
-          -m comment --comment "systemd network namespace nat"
-  done
+  # note, in a previous commit i specified the output interface with -o,
+  # but that broke things when my gateway interface changed, and I can't
+  # see any advantage to it, so I removed it.
+  dexec iptables -t nat $1 POSTROUTING -s $network.0/24 -j MASQUERADE \
+        -m comment --comment "systemd network namespace nat"
 }
 
 # d = default