# WireGuard VPN — Eagle ↔ Kraken > Создано: 2026-05-14 > Статус: ⚠️ **СЛОМАНО на 2026-09-01** — VPS-узло (10.99.0.1/10.99.1.1) **удалён** вместе с qentra.top. > Вся hub-and-spoke топология (wg-quick@wg0/wg1, SNAT, dnsmasq-резолвинг `kraken`, nftables forward) жила на VPS и **утрачена**. `ssh kraken` с Eagle извне через WG больше не работает. > Альтернатива для внешнего доступа к Kraken на 2026-09-01: reverse-SSH туннель через VPS-заменитель не существует; локально дома — напрямую по LAN 192.168.1.15 (см. [[kraken-access]]). План замены сети: [[tech/xray-reverse-tunnel-kraken-truenas]]. > ⚠️ **Дома Eagle подключается к Kraken напрямую по LAN** (wg-auto.sh детектит домашний роутер и делает `wg-quick down`) — это направление работает. Проблема только во внешнем (не-дома) подключении. ## Топология ``` Eagle (10.99.0.2) ←→ wg0 VPS (10.99.0.1) ←→ wg1 VPS (10.99.1.1) ←→ Kraken (10.99.1.2) :51820 :51821 ``` > ⚠️ Топология выше — ИСТОРИЧЕСКАЯ, VPS-звено мертво. Два интерфейса на VPS чтобы избежать hairpin forwarding. FORWARD идёт wg0→wg1, SNAT меняет src Eagle на `10.99.1.1`. --- ## Адреса | Узел | VPN IP | |------|--------| | VPS | 10.99.0.1 (wg0) / 10.99.1.1 (wg1) | | Eagle | 10.99.0.2 | | Kraken | 10.99.1.2 | `kraken` резолвится через dnsmasq на VPS (DNS = 10.99.0.1 в конфиге Eagle). --- ## Персистентность | Компонент | Узел | Как выживает ребут | |-----------|------|--------------------| | wg-quick@wg0 + wg-quick@wg1 | VPS | systemd enabled | | PostUp FORWARD + SNAT | VPS | в `/etc/wireguard/wg0.conf` | | nftables (10.99.0.0/16 forward) | VPS | `/etc/nftables.conf`, systemd enabled | | dnsmasq (`kraken` → 10.99.1.2) | VPS | `/etc/dnsmasq.d/vpn-hosts.conf`, systemd enabled | | wg-quick@wg0 | Kraken | systemd enabled | | wg-auto LaunchDaemon | Eagle | `/Library/LaunchDaemons/top.eagle.wg-auto.plist` | --- ## Auto-connect на Eagle `/usr/local/bin/wg-auto.sh` — polling каждые 30 сек (launchd `StartInterval`, **НЕ** WatchPaths): - Дома (роутер MAC `f0:79:59:77:9b:70`) → `wg-quick down` - Вне дома → `wg-quick up` WatchPaths вызывал race condition: `wg-quick down` менял DNS через networksetup → писал в `/Library/Preferences/SystemConfiguration/` → launchd тригерил скрипт снова → туннель рвался, IP слетал. --- ## Time Machine Destination обновлён: - Старый: `smb://timemachine@kraken._smb._tcp.local./TimeMachine` (mDNS, не работает) - Новый: `smb://timemachine@kraken/TimeMachine` (VPN DNS ✅) Samba работает на **хосте OMV** (не в Docker-контейнере). См. [[family/how-to/time-machine]]. Контейнер `mbentley/timemachine:smb` больше не используется. --- ## DNS wg0.conf **без** `DNS =`. PostUp/PostDown управляют scoped resolver: - `PostUp = mkdir -p /etc/resolver && echo "nameserver 10.99.0.1" > /etc/resolver/kraken && killall -HUP mDNSResponder` - `PostDown = rm -f /etc/resolver/kraken && killall -HUP mDNSResponder` Только домен `kraken` резолвится через VPS dnsmasq (10.99.0.1). Глобальный DNS не трогается — Wi-Fi IP не слетает. ## Ключи | Узел | Публичный ключ | |------|---------------| | VPS wg0 | `6W6hSw0JFLm0BbyeNp1g7wF7dKKTZmGvPRdir68mz0w=` | | VPS wg1 | `ssRV2497NQ3Lfzvx/FLO0jDlcCXdK/RReJQ36i0yuR8=` | | Eagle | `dDgIjBUNguodOHWoz7iFsImvKhteodHcFWM8mMe4UiE=` | | Kraken | `8kIdCKMIoMsW09/aQX6+pU0SS/rN4PysJL59w17eGRg=` | --- ## Диагностика ```bash # Eagle sudo wg show ping kraken # VPS ssh root@91.207.28.205 "wg show all" # Kraken ssh kraken "sudo wg show" # Логи auto-connect Eagle cat /var/log/wg-auto.log ``` ## Связанные заметки - [[kraken-network]] — SSH к Кракену, пути медиаволюмов - [[personal-os-architecture]] — Eagle hardware, домашняя инфра