diff --git a/docs/tp10-context-digest.md b/docs/tp10-context-digest.md index 81b483d..a582994 100644 --- a/docs/tp10-context-digest.md +++ b/docs/tp10-context-digest.md @@ -11,7 +11,7 @@ - Endpoint Spokes: **`bf4.emsenhuber.net:51821`** (Cloudflare DDNS, proxied=false → `86.56.201.104`). Nicht MyFRITZ (stirbt im Bridge). - BF-AllowedIPs: **`10.40.0.0/16`** - FM LAN **`10.101.0.0/24`** GW .254, FB-WG-`Address` = **`10.101.0.254/24`** - - DW/Geli CGNAT v4, LAN heute **`192.168.178.0/24`** GW .1, künftig **`10.95.10.0/24`**. FB-WG-`Address` = **`192.168.178.1/24, 10.95.10.1/24`** (dual, renumber-fest). Keepalive 25. + - DW/Geli CGNAT v4, LAN **auf `10.95.10.0/24` renumbered**. FB-WG-`Address` = **`10.95.10.1/24` (SINGLE)**. ⚠️ Dual-Address war Fehler (FRITZ!OS macht 10.95.10.1 primär, koppelt LAN nicht → BF→Host ging nicht). Keepalive 25. ap1 `peer dw` allowed-address = `10.95.10.0/24`. - **Zustand:** ap1-Hub geparkt (Peers disabled, WG-Routen entfernt, Firewall bleibt). DW-Config bei Geli vor Ort gestaged 2026-06-17. - **Gestaged (`routeros/tp10-cutover-apply.rsc`, am Bridge-Tag anwenden):** `peer1`/FM enable, allowed-address `10.101.0.0/24`, **Endpoint `abxhutfgsid9snmy.myfritz.net:52476`** (bidirektional, FM kein CGNAT). `peer2`/DW enable, allowed-address **`192.168.178.0/24,10.95.10.0/24`** (Key `FqYZLztQ…PbzUw=` oder Gelis FB-eigener Key), Endpoint leer (CGNAT-Dial-in). Routen `10.101.0.0/24` + `192.168.178.0/24` + `10.95.10.0/24` → wg-hub. Plus Input-WAN-Seal + ether1 `use-peer-dns=no`. - **Gotchas:** (1) FB-WG-`Address` = LAN-IP, kein Transfernetz. (2) NetBIOS routet nicht über Tunnel → per IP/DNS testen (SMB 445), kein Broadcast. (3) Gelis FB lehnt 2 WG zum selben Zielnetz ab → direkter Swap. (4) Verify: Antwort-Quelle muss echte LAN-IP sein, nicht `10.255.255.x`. diff --git a/docs/tp10-vpn-migration.md b/docs/tp10-vpn-migration.md index 6b70093..a310a6b 100644 --- a/docs/tp10-vpn-migration.md +++ b/docs/tp10-vpn-migration.md @@ -10,6 +10,15 @@ ether1 `use-peer-dns=no`. FM-`.conf`-Endpoint auf **`bf4…`** umgestellt. Klick `routeros/fritzbox-wg-lanlan-klickanleitung.md` (FM-FB) + `routeros/fritzbox-bf-bridge-cutover-klickanleitung.md` (BF-FB). Modus: **stagen → am Bridge-Tag 1× Apply + ether1 umstecken** (Runbook unten). FritzBox = kein MCP (UI/Klick). +**🟢 Live-Stand 2026-06-25 (WG-Hub ist bereits AKTIV im Double-NAT, nicht mehr geparkt):** +- **FM-Tunnel UP** (`peer fm`, bidirektional, kam per ap1-Initiation hoch; FM-FB hat unseren `.conf`-Key übernommen). +- **DW-Tunnel UP** (`peer dw`, CGNAT-Dial-in via `bf4`; rx>13 MiB). DW-Routing zu `10.95.10.x` von ap1 verifiziert (0% Loss). +- **Behobene Fehler dieser Session:** (1) beide ap1-Peers trugen fälschlich ap1s **eigenen** Public-Key `P/bzt…` → auf + die FB-Keys (`dzRY…`/`FqYZ…`) korrigiert. (2) **`bf4` war stale** (falsche IP) → gefixt, danach DW-Dial-in ok. + (3) **DW-Dual-Address** brach die LAN-Kopplung → ap1+Config auf **Single `10.95.10.0/24`** vereinheitlicht. +- **Offen:** Geli renumbert ihr LAN auf `10.95.10.0/24` + WG-`Address`=`10.95.10.1/24` (single) → dann BF↔Geli-Hosts + end-to-end. Danach Bridge-Cutover (löst Inbound-Forward-Abhängigkeit ganz auf). + ## 🅿️ STATUS 2026-06-17: VERTAGT — gebündelt mit dem FB-Bridge-Cutover TP10 wird **nicht** mehr als Parallel-Migration vorab gemacht, sondern **zusammen mit dem permanenten FB-Bridge-Cutover** — denn **VPN-auf-FB und FB-Bridge schließen sich aus** (Bridge = Modem = keine VPN-Terminierung). Bonus: am Bridge-Tag @@ -31,7 +40,7 @@ echte LAN-IPs, LAN-LAN sauber. (Gleiche Ursache wie der alte „NetBIOS routet n | **Endpoint (Spokes)** | **`bf4.emsenhuber.net:51821`** — DDNS via Cloudflare (Zone `emsenhuber.net`, **proxied=false**, TTL 120) → `86.56.201.104`. Überlebt IP-Wechsel **und** FB-Bridge. NICHT MyFRITZ (stirbt im Bridge). | | BF-Seite (AllowedIPs der Spokes) | `10.40.0.0/16` | | FM | LAN `10.101.0.0/24` (GW .254). **IPsec gekillt → bereits FB-WG** (peert heute mit BF-FB; FM-FB horcht auf `abxhutfgsid9snmy.myfritz.net:52476`, erreichbar/kein CGNAT). FB-WG-`Address` = **`10.101.0.254/24`** (LAN-IP!). Migration = Peer-Endpoint auf `bf4…:51821` umbiegen. ap1-peer1 bekommt FM-Endpoint → **bidirektional** | -| DW/Geli | LAN heute `192.168.178.0/24` (GW .1), **CGNAT v4**, Antennengem. Geroldsgrün. Künftig **`10.95.10.0/24`**. FB-WG-`Address` = **`192.168.178.1/24, 10.95.10.1/24`** (Dual, renumber-fest) | +| DW/Geli | **CGNAT v4**, Antennengem. Geroldsgrün. LAN **auf `10.95.10.0/24` renumbered** (vor Cutoff). FB-WG-`Address` = **`10.95.10.1/24` (SINGLE!)**. ⚠️ **Dual-Address `192.168.178.1/24, 10.95.10.1/24` war ein Fehler** — FRITZ!OS macht 10.95.10.1 primär u. koppelt das LAN nicht → Single-Address-Regel. ap1 `peer dw` = allowed-address `10.95.10.0/24` | | Keepalive | Spoke-Seite `PersistentKeepalive=25` (CGNAT-Dial-out) | **Spoke-Configs (Private-Keys, gitignored):** `routeros/.secrets/wg-fm.conf`, `routeros/.secrets/wg-dw.conf`. diff --git a/routeros/fritzbox-wg-lanlan-klickanleitung.md b/routeros/fritzbox-wg-lanlan-klickanleitung.md index e21c4ae..798eed2 100644 --- a/routeros/fritzbox-wg-lanlan-klickanleitung.md +++ b/routeros/fritzbox-wg-lanlan-klickanleitung.md @@ -23,7 +23,7 @@ FB **muss ihre eigene LAN-IP** sein → dann routet die FB ihr LAN **ohne NAT**, ## Eckdaten (FM; DW analog) | Feld | Wert FM | Wert DW | |---|---|---| -| **WG-Interface-Address (FB)** | **`10.101.0.254/24`** (LAN-IP!) | **`192.168.178.1/24`** (LAN-IP!) | +| **WG-Interface-Address (FB)** | **`10.101.0.254/24`** (LAN-IP!) | **`10.95.10.1/24`** (LAN-IP! **single**, nach Renumber) | | Erreichbare Netze / AllowedIPs (→Hub) | `10.40.0.0/16` | `10.40.0.0/16` | | Hub-Endpoint | **`bf4.emsenhuber.net:51821`** | dito (DW: CGNAT → wählt ausgehend) | | Hub-Public-Key | `P/bztIk13cAmLHbN6oHGGnWAKLZsqR5TXAbFP+NGGBk=` | dito | @@ -73,7 +73,22 @@ Transfernetz-Adresse → NAT). - Quelle = `10.255.255.x` → noch NAT → Adresse/Modus prüfen (Teil 2). 2. Gegenrichtung: FM-Host → BF-Host (NAS) per IP; **SMB/445 per IP** (NetBIOS-Lehre: per IP/DNS, kein Broadcast). 3. Beide Richtungen grün → **alte FM↔BF-FB-WG auf der BF-FB deaktivieren** → erneut testen. -4. Stabil → FM migriert. **DW** läuft analog (Address `192.168.178.1/24`, CGNAT → ausgehend/Keepalive). +4. Stabil → FM migriert. **DW** läuft analog (CGNAT → ausgehend/Keepalive), aber Single-Address — siehe unten. + +## DW-Spezial: Renumber auf 10.95.10.0/24 + Single-Address (LEHRE 2026-06-25) +**Symptom war:** Tunnel stand (Handshake ✓, rx/tx ✓), aber **BF→Geli-Host per IP ging nicht**; ap1-Ping auf +`192.168.178.1` **und** `10.95.10.1` kam immer aus `10.95.10.1` zurück. +**Ursache:** Die WG-`Address` war **Dual** (`192.168.178.1/24, 10.95.10.1/24`). FRITZ!OS macht daraus +`10.95.10.1` als **Primäradresse** und koppelt das echte LAN (`192.168.178.0/24`) **nicht** mehr → kein Host-Routing. +**Regel:** WG-`Address` = **GENAU EINE** Adresse = die **aktuelle** FB-LAN-IP. Kein Dual, kein Vorab-Netz. + +**Vorgehen bei Geli (vor Cutoff):** +1. **FB-LAN renumbern:** `Heimnetz → Netzwerk → Netzwerkeinstellungen → IPv4-Adressen` → FB-LAN-IP **`10.95.10.1`**, + Maske `255.255.255.0`, DHCP-Range `10.95.10.x`. (Geli-Geräte ziehen neue Leases.) +2. **WG-`Address`** der ap1-Verbindung auf **`10.95.10.1/24`** (single) setzen — das `192.168.178.1/24` raus. +3. ap1-Seite ist schon fertig: `peer dw` allowed-address = `10.95.10.0/24`, Route `10.95.10.0/24 → wg-hub`. +4. **Verify:** ap1-Ping (src `10.40.20.1`) auf einen **echten** Geli-Host `10.95.10.x` → Antwort aus **derselben** IP + (nicht aus `.1`, nicht aus `10.255.255.x`). Dann BF↔Geli per IP/SMB testen. ## Rollback - Auf der FM-FB den Peer-Endpoint zurück auf `xvbeo64…myfritz:51821` (BF-FB) biegen bzw. die alte Verbindung