2026-10-03 00:01:09 -04:00
|
|
|
#!/usr/bin/env bash
|
2026-10-03 00:34:43 -04:00
|
|
|
# netvm-node-down.sh <node> — tear down a node's Warp egress. Run as root.
|
2026-10-03 00:01:09 -04:00
|
|
|
set -euo pipefail
|
|
|
|
|
NODE="${1:?usage: netvm-node-down.sh <node>}"
|
|
|
|
|
NETNS="warp-${NODE}"
|
2026-10-03 00:34:43 -04:00
|
|
|
VETH="veth-${NODE}"
|
|
|
|
|
IDX=$(( $(echo -n "$NODE" | cksum | cut -d' ' -f1) % 60 + 10 ))
|
|
|
|
|
SUB="10.201.${IDX}.0/30"
|
|
|
|
|
nsexec() { ip netns exec "$NETNS" "$@"; }
|
2026-10-03 00:37:43 -04:00
|
|
|
nsexec ip link del "wg-${NODE}" 2>/dev/null || true # inside netns first
|
2026-10-03 00:34:43 -04:00
|
|
|
ip link del "$VETH" 2>/dev/null || true # also drops the netns-side peer
|
2026-10-03 00:37:43 -04:00
|
|
|
ip link del "wg-${NODE}" 2>/dev/null || true # stray host-side copy
|
2026-10-03 00:34:43 -04:00
|
|
|
iptables -t nat -D POSTROUTING -s "$SUB" -j MASQUERADE 2>/dev/null || true
|
2026-10-03 00:01:09 -04:00
|
|
|
ip netns del "$NETNS" 2>/dev/null || true
|
2026-10-03 00:37:43 -04:00
|
|
|
ip link del "wg-${NODE}" 2>/dev/null || true # final sweep post-reap
|
2026-10-03 00:01:09 -04:00
|
|
|
echo "node=$NODE down"
|