X-Git-Url: https://iankelling.org/git/?p=newns;a=blobdiff_plain;f=newns;h=823d184b5b07b323d17acbe91a46b5b2a3ccd694;hp=76c7adf53c6aa4b623572eeb3cb07227f7cfbecb;hb=6c826f3613b0c3b86257b111b3078013fdf34b78;hpb=b9cf4000a50a83b7f757212030e18b00104ab01f diff --git a/newns b/newns index 76c7adf..823d184 100755 --- a/newns +++ b/newns @@ -157,7 +157,7 @@ dexec() { ip netns exec default "$@"; } # background: head -n1 is defensive. Not sure if there is some weird feature # for 2 routes to be 0/0. -gateway_if=$(ipd route list exact 0/0 | head -n1| sed -r 's/.*\s(\S+)\s*$/\1/') +gateway_if=$(ipd route list exact 0/0 | head -n1| sed -r 's/.*dev\s+(\S+).*/\1/') nat() { dexec iptables -t nat $1 POSTROUTING -o $gateway_if -j MASQUERADE \ -m comment --comment "systemd network namespace nat"; } @@ -190,8 +190,11 @@ start() { mkdir -p /root/mount_namespaces if ! mountpoint /root/mount_namespaces >/dev/null; then mount --bind /root/mount_namespaces /root/mount_namespaces - mount --make-private /root/mount_namespaces fi + # note: This is outside the mount condition because I've mysteriously + # had this become shared instead of private, perhaps it + # got remounted somehow and lost the setting. + mount --make-private /root/mount_namespaces if [[ ! -e /root/mount_namespaces/$nn ]]; then touch /root/mount_namespaces/$nn fi