Files
box/bin/netvm-node-down.sh

18 lines
973 B
Bash
Executable File

#!/usr/bin/env bash
# netvm-node-down.sh <node> — tear down a node's Warp egress. Run as root.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
. "$SCRIPT_DIR/netvm-names.sh"
netvm_names "${1:?usage: netvm-node-down.sh <node>}"
nsexec() { ip netns exec "$NETNS" "$@"; }
PIDFILE="/run/netvm-${NODE}-cdp-relay.pid"
if [ -f "$PIDFILE" ]; then kill "$(cat "$PIDFILE")" 2>/dev/null || true; rm -f "$PIDFILE"; fi
nsexec ip link del "$WG" 2>/dev/null || true # inside netns first
ip link del "$VETH" 2>/dev/null || true # also drops the netns-side peer
ip link del "$WG" 2>/dev/null || true # stray host-side copy
iptables -t nat -D POSTROUTING -s "$SUB" ! -d 10.201.0.0/16 -j MASQUERADE 2>/dev/null || true
iptables -t nat -D POSTROUTING -s "$SUB" -j MASQUERADE 2>/dev/null || true # old broad form
ip netns del "$NETNS" 2>/dev/null || true
ip link del "$WG" 2>/dev/null || true # final sweep post-reap
echo "node=$NODE down"