TP16.1 4.1-4.4 durch: Mesh-Tunnel steht auf crs326-core
Prereqs: use_zt_virtual_ip=true, Device-Profil 'Cloudflare Mesh', Split-Tunnel auf beiden Profilen (100.64/10 -> /11 + 100.112/12). Geraet: cf-mesh, 100.96.0.6/32, Peer 162.159.193.2:2408, Handshake steht, Route 100.96.0.0/12 aktiv. Backup vorher (Auflage #4). 4.4 Weg A hat funktioniert - vnet-Gotcha trat NICHT ein. Zwei Werkzeug-Fallen dokumentiert: MikroMCP manage_wireguard_interface kann keinen Privkey annehmen (CF liefert ihn aber), und manage_wireguard_peer verarbeitet endpoint 'IP:Port' falsch (endpoint-port=0 -> kein Handshake). Offen: Dashboard-only-Schalter 'Allow all Cloudflare One traffic to reach enrolled devices' + Ping-Abnahme 4.5. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -481,7 +481,9 @@ FT kaschierte das bisher als „Roaming" statt „schwache Abdeckung".
|
||||
### TP16.1 — Private Access via native Cloudflare Mesh (WireGuard) auf `crs326-core` ▸ 🟡 **§4.0 DURCH, läuft — §4.1 user-gated (2026-08-17)** — `docs/tp16.1-warp-mesh-native-crs326.md`
|
||||
- ✅ **§4.0 erledigt 2026-08-17: Mesh-Node angelegt.** `bf-core-mesh` = **`d1da7c8a-2736-4cbb-8af1-32db5393fb9c`**, Register-Token in `mcp/cloudflare/.env` (`CF_MESH_REGISTER_TOKEN`, gitignored). ➡️ **Die seit 2026-07-17 offene Free-Plan-Frage ist beantwortet: der Free-ZT-Plan erlaubt Cloudflare Mesh — der LXC-Fallback ist vom Tisch.**
|
||||
- 🔑 **Der Weg dahin war ein Token-Problem, kein Plan-Problem (kostete 2 Anläufe).** Der alte User-Token hatte **zwei** fehlende Permissions (§4.0 *und* §4.1 — `devices/settings` war schon lesend `403`). Ersetzt durch einen **account-owned** Token (`9984078812bc…`, ⏰ **gültig bis 2027-01-09**). Zwei Fallen, beide sehen aus wie „Token kaputt": (1) Account-Tokens verifizieren an `/accounts/{id}/tokens/verify` — am alten `/user/tokens/verify` melden sie `1000 "Invalid API Token"`, **während alle echten Endpoints 200 liefern**; (2) Dashboard-Fehler `"Account tag in access policy must match tag in request uri"` = eine **Zone**-Permission (`DNS`) steckt in der Policy-Zeile mit **Account**-Ressourcen → braucht eine eigene Zeile. Verifiziertes Soll-Set + Permission-IDs in `docs/tp16.1-…md` §4.0. **Merke: Dashboard sagt „Edit", API sagt „Write".**
|
||||
- ⏭️ **Als Nächstes §4.1** (Unique Device IP, Device-Profil „Cloudflare Mesh", Split-Tunnel `100.64.0.0/10` → `100.64.0.0/11` + `100.112.0.0/12`). Account-weit → **1× kurzer WARP-Reconnect auf allen eingebuchten Geräten**, daher user-gated. **Am `crs326-core` ist bis hierher nichts angefasst** — Ausnahme #4 noch nicht gezogen.
|
||||
- ✅ **§4.1–§4.4 durchgezogen 2026-08-17 (User-Freigabe „jetzt durchziehen").** Prereqs: `use_zt_virtual_ip=true`, Device-Profil „Cloudflare Mesh" (`4d3c0f57…`), Split-Tunnel auf **beiden** Profilen korrigiert (`100.64.0.0/10` → `/11` + `100.112.0.0/12`). Gerät: `cf-mesh` auf `crs326-core`, Mesh-IP **`100.96.0.6/32`**, Peer `162.159.193.2:2408`, **Handshake steht**, Route `100.96.0.0/12 → cf-mesh` aktiv; Backup `pre-tp16.1-mesh-20260817.backup` vorher (Auflage #4 ✅). CF meldet Node **healthy**. **§4.4: Weg A hat funktioniert — der befürchtete vnet-Gotcha trat NICHT ein**, `10.40.0.0/16` zeigt jetzt auf `bf-core-mesh` statt `bf-pve` (Rollback = 1 PATCH zurück, `bf-pve` unangetastet).
|
||||
- ⚠️ **Zwei Werkzeug-Fallen, real getroffen (gehören in jede künftige WG-Arbeit):** (1) **MikroMCPs `manage_wireguard_interface` kann grundsätzlich keinen privaten Schlüssel annehmen** — RouterOS erzeugt ihn selbst; bei CF Mesh kommt er aber von CF → Key per SSH mit Interpolation aus der gitignoreten `.env` setzen, nicht über das Tool. (2) **`manage_wireguard_peer` schreibt `endpoint: "IP:Port"` komplett in `endpoint-address` und lässt `endpoint-port=0`** → **kein Handshake**, sieht aus wie ein Firewall-Problem, ist ein Parameter-Bug. Nach jedem Peer-Add `print detail` gegenlesen. Auch `persistent-keepalive` fehlt dem Tool.
|
||||
- 🔴 **Offen, beide user-gated:** (1) **„Allow all Cloudflare One traffic to reach enrolled devices"** — laut CF-Docs Mesh-Prerequisite, aber **Dashboard-only** (kein API-Feld, in Spec *und* Profil-GET gegengeprüft) und entgegen unserem Runbook eine **Profil**- statt Account-Einstellung. (2) **§4.5 Ping-Abnahme** mit verbundenem WARP. Danach fällig: Auflage #4 — Ist-Stand als intended config zurück nach Nautobot.
|
||||
- ✅ **Gate erfüllt (2026-08-16):** die Bedingung „gated bis TP21 den CRS326 abdeckt" ist eingelöst — `crs326-core` ist seit 2026-08-08 der produktive L3-Router und seit 2026-08-13 in Nautobot adoptiert (68/68 compliant). Runbook §3 neu gemessen, §4.3 von Platzhalter auf **echte Werte** gezogen.
|
||||
- 🧭 **Erwartung geraderücken (wichtig, weil leicht zu verwechseln): das Mesh ersetzt die CF-Tunnel NICHT.** TP16.1 löst ausschließlich den **privaten** Zugang (unterwegs → `10.40.0.0/16` per IP, **inklusive ICMP**) und tauscht dort den cloudflared-QUIC-Proxy gegen natives WireGuard auf dem Core. Die **öffentlichen FQDNs bleiben** auf dem 3-Tunnel-HA aus TP16. Beide Stränge laufen nebeneinander — die HA-Degradierung aus TP16 (2026-08-16) wird davon **nicht** geheilt und bleibt ein eigener offener Punkt.
|
||||
- 📌 **Live-Befunde 2026-08-16 (read-only erhoben, kein Eingriff):**
|
||||
|
||||
Reference in New Issue
Block a user