# WireGuard Backup Pipe for Home Router Deployed Jul 9, 2026. The home router backup now uses WireGuard instead of L2TP/IPsec. ## Why WireGuard over L2TP/IPsec - WireGuard is always-on — no tunnel setup/teardown delay (handshake happens in seconds) - L2TP/IPsec was failing to bring up `ppp0` interface despite IPsec phase succeeding - WireGuard was already configured on both sides — the backup script just wasn't using it - Lower latency: 37ms vs longer for multi-protocol negotiation ## How the backup script chooses The modified `wisp-backup.py` now: 1. Pings the router at `10.77.0.2` (WireGuard tunnel IP) with a 2-second timeout 2. If reachable — skips VPN entirely, uses WireGuard directly 3. If unreachable — falls back to L2TP/IPsec VPN 4. Tracks `vpn_was_connected` flag to avoid unnecessary VPN teardown ## WireGuard peer status - Local interface: `wg0` on Core (152.53.192.33) - Peer: home router at `76.195.7.60:13231` - Allowed IPs: `10.77.0.2/32, 10.10.10.0/24` - Key commands: - `wg show` — see peer status + latest handshake time - `ping 10.77.0.2` — test connectivity - `ssh -i /root/.ssh/wisp_rsa shonuff@10.77.0.2` — SSH to router ## Pitfalls - The old `run_vpn_script("down", script_dir)` calls ran unconditionally even when WireGuard was active. All exit paths (error, dry-run, normal) need a `vpn_was_connected` guard. - WireGuard handshake freshness: if > 5 min since last handshake, the tunnel may be down and the backup will fall back to L2TP. - The router uses port 13231 for WireGuard, not the default 51820.