- Gelis CGNAT ist nur v4 â ihre FB ĂŒber natives v6 erreichbar (Port offen). WARP (schon im Einsatz) liefert Christoph outbound-v6 trotz Liwest-v4-only. - PoC = ad-hoc Fernwartung; Daueform = direktes WG ap1âGeli-FB ĂŒber echtes v6 (HE-6in4, da Liwest auch mit Fiber kein v6) statt Hub-Spoke-Gymnastik. - EndgerĂ€te (Note10, Cudy) bleiben v6-agnostisch: v6 nur Ă€uĂerer Transport, LAN bleibt IPv4. Nicht fĂŒr Telefonie. - teilprojekte.md: TP10 von âž PAUSIERT auf đ żïž VERTAGT (Bridge-Cutover-BĂŒndelung). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7.0 KiB
TP10 â Multi-Site-VPN-Migration (2Ă AVM-S2S â 2Ă WireGuard, Hub auf ap1)
Stand 2026-06-16 · Research:
docs/research/vpn-comparison.md· Plan:~/.claude/plans/pure-wibbling-graham.mdgated: permanenter FB-Bridge-Mode (AP4.1) hĂ€ngt an diesem TP. Reihenfolge fix: VPNs migrieren â Liwest-Anruf (Bridge) â FB wird Modem.
đ żïž STATUS 2026-06-17: VERTAGT â gebĂŒndelt mit dem FB-Bridge-Cutover
Entscheidung: TP10 nicht mehr als Parallel-Migration vorab, sondern zusammen mit dem permanenten Bridge- Cutover (VPN-auf-FB â FB-Bridge schlieĂen sich aus). Am Bridge-Tag hat ap1 die echte Public-IP â kein FB-Port-Forward-Umweg mehr; Spokes zeigen direkt auf ap1 (DDNS). FM-PoC â hat den Fix bewiesen (Root Cause: FB masqueradet, wenn die WG-Interface-
Addresseine Transfernetz-IP statt der FB-LAN-IP ist â AVM Proxy-ARP). Park-Zustand ap1: Peersdisabled, WG-Routen entfernt (FM/DW wieder ĂŒber die FB),wg-hubbleibt (Key erhalten), Firewall bleibt (TP5-Vorarbeit). Beide VPN vorerst ĂŒber die FB: FM = IPsec, DW = FB-WG. Resume:routeros/fritzbox-wg-lanlan-klickanleitung.md(FB-LAN-IP als Interface-Adresse, Verify gegen10.101.0.10).
đĄ Variante DW/Geli â v6-direkt statt CGNAT-Spoke (Idee 2026-06-17, fĂŒr spĂ€ter)
Gelis CGNAT ist nur v4; ihre FritzBox hat öffentliches natives v6 (2a0e:7a02:31c:3000::/56, rotiert ~30h â
MyFRITZ-DDNS) â ihre FB ist ĂŒber v6 von auĂen erreichbar. Der v6-Inbound-Port auf Gelis FB ist bereits offen.
- Sofort/PoC (ad-hoc Fernwartung, da Geli kein Zero Trust hat): Christophs WARP (schon im Einsatz) gibt ihm
outbound-v6 trotz Liwest-v4-only â
Christoph(WARP-v6) â CF-Edge â Gelis v6-FB. CGNAT-immun, reversibel. Nur Fernwartung â nicht fĂŒr Telefonie (Calls = Messenger-Relays). - Daueform (sauberer): echtes v6 auf BF-Seite via HE-6in4 (Liwest gibt voraussichtlich auch mit Fiber kein v6)
â direktes WireGuard ap1âGeli-FB ĂŒber v6, kein Cloudflare im Datenpfad, kein Tunnel-in-Tunnel (WARP ist selbst WG),
umgeht die ganze Hub-&-Spoke-CGNAT-Gymnastik unten (Geli mĂŒsste nicht mehr outbound zum Hub initiieren â v6âv6 ist
symmetrisch erreichbar). Siehe Memory
project-ipv6-state. - EndgerĂ€te bleiben v6-agnostisch: v6 ist nur der Ă€uĂere Transport zwischen FB-WAN und Christophs Endpunkt; im Tunnel lĂ€uft Gelis LAN weiter rein IPv4 (192.168.178.0/24). Ihre GerĂ€te (Galaxy Note 10, Cudy-APs als Bridge, NAS âŠ) mĂŒssen kein v6 können â sie sehen nie ein v6-Paket. v6-EigenfĂ€higkeit eines Backend-GerĂ€ts wĂ€re nur nötig, wollte man es direkt ohne Tunnel ĂŒber v6 erreichen (klobig: Freigabe pro GerĂ€t + rotierendes Prefix) â macht man nicht.
Zielbild
- ap1 (hAP axÂČ, 7.23.1) = WireGuard-Hub (nativ). FM & DW = FritzBox-Spokes (hub-&-spoke, keine Zusatz-HW).
- Ablösung der 2 produktiven AVM-LAN-LAN-Tunnel auf der BF-FB â 2Ă WireGuard auf ap1:
- FM
10.101.0.0/24(GW .254) â war IPsec. - DW/Geli
192.168.178.0/24(GW .1, CGNAT, Antennengemeinschaft GeroldsgrĂŒn) â war WireGuard.
- FM
â As-built auf ap1 (Phase A erledigt, 2026-06-16)
| Objekt | Wert |
|---|---|
Interface wg-hub |
Listen UDP 51821, MTU 1412, keine IF-IP, running |
| Hub-Public-Key | P/bztIk13cAmLHbN6oHGGnWAKLZsqR5TXAbFP+NGGBk= |
| Endpoint (fĂŒr Spokes) | xvbeo64jqlqd9gfo.myfritz.net:51821 (MyFRITZ-FQDN) |
Peer FM (peer1) |
pub dzRY0lnnUygijChWe5wXZmXPeNcbdALpqBptA3fyiVE=, allowed 10.255.255.2/32,10.101.0.0/24, Endpoint leer |
Peer DW (peer2) |
pub FqYZLztQ/qME5VDie5QLGH++5299WJiE1dPpQnPbzUw=, allowed 10.255.255.3/32,192.168.178.0/24, Endpoint leer |
| Route | 10.101.0.0/24 â wg-hub · 192.168.178.0/24 â wg-hub (beide active) |
| Firewall | input accept udp/51821 · forward accept in/out wg-hub (TP5-Vorarbeit) |
| NAT | keine Ănderung nötig â masquerade ist out-interface bridge/ether1; Tunnel-Egress = wg-hub â nie NATed |
Port 51821 (statt 51820): Die BF-FB hĂ€lt ihren eigenen WG-Server auf 51820 fĂŒr den noch laufenden DW-Tunnel. 51821 fĂŒr den Hub vermeidet die Kollision wĂ€hrend der Parallelphase.
Spoke-Configs (Private-Keys, NICHT im Git): routeros/.secrets/wg-fm.conf, routeros/.secrets/wg-dw.conf.
â Vorbedingung (User erledigt)
- FB-Portfreigabe UDP 51821 â
10.40.41.1(ap1) gesetzt.
Phase B â Cutover (pro Spoke, Parallelphase) â OFFEN
Pro Standort: neuen WG-Tunnel hochziehen, verifizieren, erst dann den alten AVM-Tunnel abschalten.
B1 â FM zuerst (alter IPsec-Tunnel bleibt parallel an)
routeros/.secrets/wg-fm.confin die FM-FritzBox importieren:Internet â Freigaben â VPN (WireGuard) â Verbindung hinzufĂŒgen â eigene Konfiguration importieren.- â ïž Falls FRITZ!OS keinen Import mit vorgegebenem Key erlaubt: FB-WG-Verbindung manuell anlegen, FB-Public-Key
ablesen und melden â wird in
peer1auf ap1 eingetragen (manage_wireguard_peerset public-key).
- â ïž Falls FRITZ!OS keinen Import mit vorgegebenem Key erlaubt: FB-WG-Verbindung manuell anlegen, FB-Public-Key
ablesen und melden â wird in
- Handshake prĂŒfen:
list_wireguard_peersâpeer1last-handshake aktuell, rx/tx > 0. - L3-Verify (NetBIOS-Lehre, s.u.): Ping ap1 â ein Host in
10.101.0.0/24; Gegenrichtung FM â BF-Host (NAS); SMB per IP (TCP 445) testen, nicht Netzwerkumgebung/Broadcast. - GrĂŒn â IPsec-Tunnel fĂŒr FM auf der BF-FB deaktivieren â erneut prĂŒfen.
B2 â DW/Geli danach (alter FB-WG-Tunnel auf 51820 bleibt parallel an)
routeros/.secrets/wg-dw.confin die DW-FritzBox importieren (CGNAT â wĂ€hlt ausgehend, Keepalive 25).- Handshake + L3-Verify (Ping/SMB per IP in
192.168.178.0/24â BF). - GrĂŒn â alten DW-WG-Server/Tunnel auf der BF-FB abbauen.
NetBIOS / Namensauflösung (FM â bekannter Stolperstein)
FrĂŒherer FM-WG-Versuch scheiterte an âNetBIOS nicht geroutet". NetBIOS-Namensauflösung lĂ€uft ĂŒber Broadcasts (UDP 137/138), die ĂŒber einen gerouteten Tunnel grundsĂ€tzlich nicht traversieren â kein Routing-Bug. â L3 zuerst per IP beweisen (Ping + SMB/445); Namensauflösung per IP oder DNS lösen (statische EintrĂ€ge), nicht ĂŒber Broadcast-Browsing. Unser Design fĂŒhrt beide Richtungen in AllowedIPs/Routes â unicast muss laufen.
Phase C â Abschluss (nach beidseitig grĂŒn, â„1 Tag stabil)
- TP5-Firewall auf ap1 finalisieren (WG-Regeln behalten).
- DDNS-Ăbergabe: MyFRITZ lĂ€uft ĂŒber die FB, entfĂ€llt evtl. im Bridge-Mode â ap1 braucht eigenes DDNS
(
/ip cloudmynetname / DynDNS); Spoke-Endpoints dann auf ap1-FQDN umstellen. â ïž PrĂŒfen, ob/ip cloudtrotz device-mode=home lĂ€uft (scheduler/fetch geblockt). - Liwest-Anruf fĂŒr FB-Bridge-Mode â FB wird Modem, ether1 = WAN, Portfreigabe entfĂ€llt.
- Entblockt: NAS/Controller-IP-Migration (IP-Plan Phase 3) + Wegfall Double-NAT.
RĂŒckbau (falls nötig)
- ap1-Seite vollstÀndig reversibel: Peers/Routen/Firewall via
manage_*action=remove,wg-hublöschen. - Alte AVM-Tunnel erst nach Verifikation abschalten â jederzeit reaktivierbar.