NetVM: topology shows handshake, routes, NAT

This commit is contained in:
Antigravity Agent
2026-10-03 00:35:39 -04:00
parent fedfdeacb0
commit 6edeb09c5a
+9 -3
View File
@@ -1,8 +1,14 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Live topology: netns -> egress IP. Run as root for netns exec. # netvm-topology.sh — live topology + per-node diagnostics.
# Run as root (operator: sudo -n via the allowlist).
set -u set -u
for ns in $(ip netns list 2>/dev/null | awk '{print $1}' | grep '^warp-'); do for ns in $(ip netns list 2>/dev/null | awk '{print $1}' | grep '^warp-'); do
node="${ns#warp-}" node="${ns#warp-}"
egress=$(ip netns exec "$ns" curl -s --max-time 10 ifconfig.me 2>/dev/null || echo UNREACHABLE) hs=$(ip netns exec "$ns" wg show "wg-${node}" latest-handshakes 2>/dev/null | awk '{print $2}')
printf '%-20s %-16s %s\n' "$node" "$ns" "$egress" [ -z "$hs" ] && hs="none"
routes=$(ip netns exec "$ns" ip route 2>/dev/null | tr '\n' '|' )
egress=$(ip netns exec "$ns" curl -sk --max-time 10 'https://[2606:4700:4700::1111]/cdn-cgi/trace' 2>/dev/null | grep -oP '^ip=\K.*' || true)
printf 'node=%s netns=%s handshake=%s egress=%s\n routes: %s\n' "$node" "$ns" "$hs" "${egress:-?}" "${routes:-none}"
done done
# host-side NAT rules for our subnets
iptables -t nat -L POSTROUTING -n 2>/dev/null | grep '10.201\.' || echo "no netvm NAT rules on host"