docs đ§ TP2.1: Omada-Switch Standalone-Recovery + TP15-Korrektur (Omada raus)
sw2-Controller-Link brach beim VLAN20-Umzug (TP14.1), Werks-Reset beim Rettungsversuch, fehlerhafte Wiederherstellung â Controller-Zustand jetzt invalid. sw2 wird ohne Managementsoftware neu aufgesetzt (TP2 als Playbook, neue Portbelegung offen). TP15 korrigiert: Omada bekommt keine Rolle mehr, auch nicht WLAN (bleibt bei hAP ax²/CAPsMAN) â reines MikroTik-Ecosystem. TP19-Update: Shelly wieder da, SwitchBot-Move erst nach VLAN1-Retirement. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -73,6 +73,13 @@ Kontrolle: MikroMCP (MikroTik) live ¡ ALLNET = Klickanleitungen ¡ Omada â Co
|
||||
- **â TP4 wird vorgezogen:** Alle VLANs im Controller definiert (status=false = kein Management-IP, normal).
|
||||
Traffic läuft noch auf VLAN 1 bis TP4 die L3-Interfaces + DHCP-Server je VLAN aktiviert.
|
||||
|
||||
### TP2.1 â Omada-Switch (sw2/ES208G) â Standalone-Recovery (kein Controller) ⸠đ AKTIV (2026-07-15) â `docs/tp2.1-omada-switch-standalone-runbook.md`
|
||||
- **Root Cause:** beim VLAN20-Umzug des Omada-Controllers (TP14.1, 2026-07-10) ist die Controllerâsw2-Verbindung zerbrochen (sw2 seither âDisconnected", ursprĂźnglich als reiner Mgmt-Loss vertagt). Beim Rettungsversuch hat der User versehentlich einen **Werks-Reset** am Switch ausgelĂśst. Ein anschlieĂender Wiederherstellungsversuch (durch Claude) hat Teile der Config **unbemerkt halluziniert** â der damalige âwiederhergestellte" Stand ist **nicht vertrauenswĂźrdig**.
|
||||
- **Entscheidung (User 2026-07-15): Controller-Zustand als invalid betrachten, sw2 komplett neu â diesmal OHNE Managementsoftware.** Kein Omada-Controller-Re-Adopt, kein Omada-Ecosystem-Anschluss (s. TP15-Korrektur â Omada bekommt generell keine Rolle mehr, auch nicht WLAN). sw2 wird direkt Ăźber sein eigenes Web-UI/CLI konfiguriert, wie ein eigenständiger Switch.
|
||||
- **sw2 bleibt Solo:** âbekommt nie Geschwister" â keine weiteren Omada-Geräte geplant. InterimslĂśsung bis zur AblĂśsung durch CRS326 (TP15).
|
||||
- **TP2 = Playbook**, nicht 1:1 Ăźbernehmen: gleicher VLAN-Bedarf (VLAN-Modell unverändert), aber **neue Portbelegung** wird gemeinsam mit User neu definiert (nicht ungeprĂźft aus der alten TP2-Tabelle Ăźbernommen) â offener nächster Schritt dieser Session.
|
||||
- Abh.: TP1 â
(VLAN-Trunk am Uplink). Verwandt: TP15 (lĂśst sw2 mittelfristig durch CRS326 ab), TP14.1 (AuslĂśser).
|
||||
|
||||
### TP3 â WLAN / CAPsMAN ⸠â
KERN FERTIG (2026-06-18) â `routeros/tp3-capsman.rsc`
|
||||
- â
**5 sichtbare SSIDs live, beide APs, beide Bänder, je SSIDâVLAN** (wifi datapath vlan-id):
|
||||
`dirtyvader-main`(10, WPA3-only, FT), `-iot`(30, **nur 2,4 GHz**, WPA2+3), `-media`(40, WPA2+3, **FT=no** wg. Sonos),
|
||||
@@ -321,17 +328,17 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
||||
### TP14.5 â Session E: Freigabe-Gate â TP5-Firewall ⸠đ (ZULETZT)
|
||||
- Erst wenn TP14.1â14.3 durch (alle Origins/Connectoren in VLAN20) â dann TP5 (Deny-by-default) starten. Reines Reihenfolge-Gate, kein eigener Change.
|
||||
|
||||
### TP15 â HW-Refresh: Switching + WLAN-Ecosystem + DC-USV ⸠đĄ ENTSCHIEDEN, Beschaffung läuft (2026-07-14) â `docs/hw-refresh-requirements.md`, Memory `project_mikrotik_commit_nautobot_gc`
|
||||
- **đ§ Grundsatzentscheid (2026-07-14): Ecosystem-Split nach Layer.** **MikroTik = config-gemanagter Kern** (Routing/L3/CAKE + alle Switches), **Omada = ausschlieĂlich WLAN**. BegrĂźndung: Projektziel #1 **CAKE** nur RouterOS/OpenWrt/OPNsense (Omada-Gateway kann kein CAKE); WLAN = Schmerzpunkt â Omada-EAP; Switching = MikroTik. Grenze **âMikroTik = Kabel+Routing, Omada = Funk"** deckt sich mit den 2 bestehenden Control-Planes (MikroMCP + Omada-Controller). Verworfene Vollvarianten (Omada-only, MikroTik-only) samt BegrĂźndung + Ansible/Nautobot-Recherche â Memory.
|
||||
- **đ Switches: 2Ă CRS326-24G-2S+RM bestellt (2026-07-14 â CSS326-Fehlbestellung storniert â CRS).** 24Ă1G + 2ĂSFP+, lĂźfterlos, DC-input (USV-tauglich). LĂśsen ALLNET-Core (sw1) + Omada-ES208G (sw2 raus aus Switching-Rolle) + Cudy ab.
|
||||
### TP15 â HW-Refresh: Switching + Router + DC-USV ⸠đĄ ENTSCHIEDEN, Beschaffung läuft (2026-07-14, WLAN-Punkt korrigiert 2026-07-15) â `docs/hw-refresh-requirements.md`, Memory `project_mikrotik_commit_nautobot_gc`
|
||||
- **đ§ Grundsatzentscheid (2026-07-14, korrigiert 2026-07-15): reines MikroTik-Ecosystem â Routing + Switching + WLAN.** **Omada bekommt KEINE Rolle** (weder Switching noch WLAN â der ursprĂźngliche âOmada=WLAN"-Satz war ein Fehlschluss beim Dokumentieren, User-Korrektur 2026-07-15: âWLAN war NIE von Omada die Rede"). BegrĂźndung Switching: Projektziel #1 **CAKE** nur RouterOS/OpenWrt/OPNsense (Omada-Gateway kann kein CAKE) â Switching = MikroTik CRS. WLAN bleibt auf hAP ax²/CAPsMAN (kein EAP-Kauf), Coverage-Fix bleibt Platzierungsfrage (TP3.3). Verworfene Vollvarianten (Omada-only, MikroTik-only) samt BegrĂźndung + Ansible/Nautobot-Recherche â Memory. **Anlass der Korrektur:** Omada-Controllerâsw2-Link beim VLAN20-Umzug (TP14.1) zerbrochen, versehentlicher Werks-Reset bei Rettungsversuch, fehlerhafter Wiederherstellungsversuch â sw2 wird standalone neu eingerichtet, s. **TP2.1**.
|
||||
- **đ Switches: 2Ă CRS326-24G-2S+RM bestellt (2026-07-14 â CSS326-Fehlbestellung storniert â CRS).** 24Ă1G + 2ĂSFP+, lĂźfterlos, DC-input (USV-tauglich). LĂśsen ALLNET-Core (sw1) + Omada-ES208G (sw2, s. TP2.1 â Solo/Interim bis CRS-Tausch) + Cudy ab.
|
||||
- â
**CRS = RouterOS-fähig â in-model:** MikroMCP-Write + Nautobot Golden Config (TP21) managen auch die **Switches**, nicht nur den Router â config-as-code deckt den **ganzen Kabel-Fabric**. (SwOS-Boot bliebe als Fallback mĂśglich, aber nicht genutzt.)
|
||||
- â ď¸ **kein PoE** â Omada-EAPs + Sonoff via **PoE-Injektoren**.
|
||||
- **đś WLAN â Omada EAPs** (ersetzt hAP-Funk + CAPsMAN): lĂśst CAP-ARP/Broadcast-Quirks (P750W-Fall), reifes 802.11k/v/r-Roaming, VLANâSSID im bereits laufenden Controller. hAP ax² werden Reserve. (Ersetzt die alte hAP-beÂł-Linie dieses Docs.)
|
||||
- â ď¸ **kein PoE** (Sonoff/PoE-Verbraucher via Injektor, falls nĂśtig).
|
||||
- **đś WLAN bleibt hAP ax²/CAPsMAN** â kein Hardware-/Ecosystem-Wechsel. Coverage-Schwachstellen (P750W-Fall, Terrasse/Kanten) bleiben Platzierungs-/Roaming-Thema von **TP3.3**, nicht durch neue Hardware gelĂśst.
|
||||
- **đ§ Router â RB5009 (mittelfristig):** L3/CAKE/Firewall vom hAP ax² lĂśsen (device-mode=home blockt scheduler/fetch; âAP=Router"-Fragilität) â dedizierte RouterOS-Box, in MikroMCP + Nautobot. hAP ax² danach nur noch WLAN/Reserve.
|
||||
- **đ DC-USV** (unverändert gĂźltig): MeanWell LRS-150-48 + DDR-120-48 + LiFePO4 20Ah (~âŹ190), 48V-Bus; CSS326 DC-input passt.
|
||||
- **Offen:** PoE-Injektor-Auswahl (EAP-Wattage); RB5009-Beschaffung; EAP-Modell (WiFi6 EAP6xx vs WiFi7 EAP7xx); Standort-Zuordnung der 2 Switches (Diele/OG) nach TP19-VLAN1-Retirement.
|
||||
- **Hinweis:** die A/B/C/D-Switch-Varianten in `hw-refresh-requirements.md` sind durch die CSS326-Beschaffung Ăźberholt (Doc = Recherche-Archiv + USV/Energie-Referenz).
|
||||
- Abh.: TP14 â
(IP-Migration). Verzahnt: **TP20** (Platform-DB), **TP21** (Nautobot GC).
|
||||
- **đ DC-USV** (unverändert gĂźltig): MeanWell LRS-150-48 + DDR-120-48 + LiFePO4 20Ah (~âŹ190), 48V-Bus; CRS326 DC-input passt.
|
||||
- **Offen:** RB5009-Beschaffung; Standort-Zuordnung der 2 CRS326 (Diele/OG) nach TP19-VLAN1-Retirement; ob/wann sw2 durch einen 3. CRS326 abgelĂśst wird.
|
||||
- **Hinweis:** die A/B/C/D-Switch-Varianten in `hw-refresh-requirements.md` sind durch die CRS326-Beschaffung Ăźberholt (Doc = Recherche-Archiv + USV/Energie-Referenz).
|
||||
- Abh.: TP14 â
(IP-Migration). Verzahnt: **TP20** (Platform-DB), **TP21** (Nautobot GC), **TP2.1** (sw2-Standalone-Recovery).
|
||||
|
||||
### TP16 â CF-Tunnel: Round-Robin killen + reziprokes HA ⸠â
KERN UMGESETZT (2026-07-10) â `docs/cf-tunnel-mapping.md §10`, #1033
|
||||
> **â
Umgesetzt (2026-07-10, eigene Session):** reziprokes **3-Tunnel-HA** live (bf-nas `70d6a4cf` / bf-pve `f7fdf3a6` / bf-mm `7a322261`), 6 Connectoren (2/Host, je Fremdhost), 19 FQDNs Loop-Smoke **0Ă530**, HA per Host-Ausfall-Sim bewiesen. Round-Robin-#1033 **strukturell weg**. As-Built = `docs/cf-tunnel-mapping.md §10`. **Offen: Schritt 5 Access-Strang (`vw` bypassâgeschĂźtzt via WARP, `hass`/`ha-mcp` 400/403 â iPhone-WARP-Enrollment) = user-gated; `gateway-dw` (WGâ404) klären.**
|
||||
@@ -394,17 +401,18 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
||||
|
||||
### TP19 â cudy-Teardown + VLAN1-Client-Retirement ⸠đ AKTIV (nächste Priorität, User 2026-07-13)
|
||||
- **Ziel (Kapstein der Segmentierung, s. Zeile 27):** altes **cudy-WLAN weg** + **VLAN1 als Client-Netz stilllegen** (`defconf`/pool-v1-Client-DHCP zurĂźckziehen). **Nicht** VLAN1 komplett: Switch-/AP-Mgmt (sw1 `.11`/sw2 `.12`/ap2 `.2`) bleiben **by design** in VLAN1 (statisch, kein DHCP nĂśtig) bis zum separaten **MGMT-VLAN99-Cutover** (eigener TP). cudy1/cudy2 = `.41.246`/`.247` (Teardown-Ziele).
|
||||
- đŻ **User-Gate (2026-07-13): sobald die verlorene Shelly + SwitchBot laufen â VLAN1 + cudy-WLAN auĂer Betrieb.** Twinkly nebenher (saisonal).
|
||||
- đŻ **User-Gate (Update 2026-07-14): Shelly ist wieder da (kein Blocker mehr) â SwitchBot ist KEIN Prereq mehr, funktioniert laut User erst NACH VLAN1-Retirement (Reihenfolge ggĂź. 2026-07-13 umgedreht) â wandert in die Teardown-Nachlese.** TP19 damit direkt startbereit. Twinkly nebenher (saisonal).
|
||||
- **Verlorene Shelly â IDENTIFIZIERT via HA 2026-07-13** (User-Hinweis âdu siehst ihn im HA"): HA-Device `shellyplugsg3-e4b063e41ab8`, **Modell = Shelly Plug S Gen3**, **MAC `e4:b0:63:e4:1a:b8`**, HA-device_id `7a21e8f3349e6660f8b35974fc989a7b`. **NICHT im 26er-Inventar** (Spare/KĂźchen-Steckdose, die Christoph beim Einrichten verbockt hat; er nannte sie âkĂźche s20", aber s20=`98:a3:16:7c:5f:ec` läuft sauber auf `.30.206` â Verwechslung). **KEIN AP-Mode, nicht tot:** assoziiert am **Altnetz `elektrosmog.c`** (cudy â untagged VLAN1-L2), aber mit **bogus-IP `10.95.10.206`** (Fremd-Subnetz, User-Fehler) â unrouting-bar, daher weder in VLAN1/30-Sweep noch normal per IP erreichbar, aber **per MAC in HA/WiFi-Table sichtbar**. Der `.219/s12`-Verdacht war Sackgasse (s12 nur saisonal aus).
|
||||
- **Recovery-Plan (remote, fĂźr neue Session, NACH SwitchBot â User-Reihenfolge):** ap1 bekommt **temporäre Zweit-IP `10.95.10.1/24` auf der Bridge** â `10.95.10.206` per L2 erreichbar â **ein** `WiFi.SetConfig {sta: ssid=dirtyvader-iot, pass=IOT-PSK, static, ip=10.40.30.<frei>}` + `Shelly.Reboot` â Gerät kommt auf VLAN30 hoch â temp-IP entfernen. Danach `.30.x`-Reservierung + Inventar (MAC `e4:b0:63:e4:1a:b8`) + eco-Policy. Umgeht die âblutige Nase" (IP am Gerät ändern während man drauf hängt = Verbindungsverlust) â vom Router aus in einem Rutsch. Christophs manueller Direkt-Versuch (AP-IP auf 10.40.30 âverdrehen") war genau deshalb gescheitert.
|
||||
- **SwitchBot floor-lamp** `.41.184` (`b8:f8:62:09:f2:04`, live auf VLAN1/cudy) â **VLAN30 via SwitchBot-App** (kein Local-WiFi-API, nur App/BLE-Provisioning), Res. `.30.227` liegt. = Christoph-App-Task.
|
||||
- **Update 2026-07-14: Shelly wieder da** (User-Meldung) â Live-Status (noch bogus-IP `10.95.10.206` oder inzwischen normal erreichbar?) **zu Sessionbeginn per HA/ARP verifizieren**; Recovery-Plan unten ggf. obsolet, falls sich das Gerät selbst erholt hat.
|
||||
- **Recovery-Plan (falls beim Verify noch nĂśtig):** ap1 bekommt **temporäre Zweit-IP `10.95.10.1/24` auf der Bridge** â `10.95.10.206` per L2 erreichbar â **ein** `WiFi.SetConfig {sta: ssid=dirtyvader-iot, pass=IOT-PSK, static, ip=10.40.30.<frei>}` + `Shelly.Reboot` â Gerät kommt auf VLAN30 hoch â temp-IP entfernen. Danach `.30.x`-Reservierung + Inventar (MAC `e4:b0:63:e4:1a:b8`) + eco-Policy. Umgeht die âblutige Nase" (IP am Gerät ändern während man drauf hängt = Verbindungsverlust) â vom Router aus in einem Rutsch. Christophs manueller Direkt-Versuch (AP-IP auf 10.40.30 âverdrehen") war genau deshalb gescheitert.
|
||||
- **SwitchBot floor-lamp** `.41.184` (`b8:f8:62:09:f2:04`, live auf VLAN1/cudy) â **VLAN30 via SwitchBot-App** (kein Local-WiFi-API, nur App/BLE-Provisioning), Res. `.30.227` liegt. = Christoph-App-Task. â ď¸ **Update 2026-07-14: KEIN Prereq mehr â funktioniert laut User erst NACH VLAN1-Retirement** â verschoben in die Teardown-Nachlese (s.u.), blockiert den cudy-Abschuss nicht mehr.
|
||||
- â ď¸ **Prereqs â restliche VLAN1-Clients umziehen, SONST verwaisen sie beim cudy-Tod** (live ap1-ARP 2026-07-13):
|
||||
1. **Christophs Endgeräte â VLAN10** (`dirtyvader-main`): MacBook-Air `.41.182` (`c0:c7:db:de:71:be` â **= Claude-Sandbox-Client!** vor cudy-Abschuss umhängen, sonst Zugangs-Verlust), iPhone `.41.186` (aktuell off/asleep).
|
||||
2. **2 UNIDENTIFIZIERTE VLAN1-Geräte (2026-07-13):** `.41.133` (`02:11:32:22:1e:25`, lokal-administrierte/randomisierte MAC â Phone-Random? VM?) + `.41.198` (`34:2b:6e:6f:1f:ef`) â **vor Teardown identifizieren + verorten.**
|
||||
3. **Media â VLAN40 verifizieren:** Apple TV 4K + Philips TV 50PUS7304 (beide **aus**) einschalten, prĂźfen VLAN40 vs cudy/VLAN1. â ď¸ **Apple TV = vmtl. Thread-Border-Router** der 22-Matter-Flotte â nicht sorglos stromlos (TP17.1).
|
||||
4. **Saisonale Shellys s1/s2/s3/s12** (aus): nach cudy-Tod zeigt `sta` auf tote cudy-SSID â beim Einstecken AP-Mode statt Join. **Empfehlung: vor cudy-Abschuss** kurz einstecken + `migrate.py`, sonst AP-Onboarding später.
|
||||
5. **pve-Interim-IP `.41.100`** (bewusst als Fallback belassen) beim Teardown mit abräumen. Streu-Reste final per ARP/DHCP-Sweep auf 0.
|
||||
- **Teardown-Sequenz (nach Prereqs):** VLAN1-Client-Sweep = leer (nur Mgmt bleibt) â cudy1/cudy2 stromlos/Reset/ausbauen â ap1 `defconf`/pool-v1-Client-DHCP zurĂźckziehen (VLAN1-Mgmt-Reachability fĂźr sw1/sw2/ap2 erhalten) â Interim-KrĂźcken aufräumen (ap2 `frame-types=admit-only-vlan-tagged` = auto-weg mit VLAN1; `st-main rrm/wnm` Roaming-Provisorium neu bewerten) â Inventar/`ip-plan`/DNS `.41âZiel` final.
|
||||
- **Teardown-Sequenz (nach Prereqs):** VLAN1-Client-Sweep = leer (nur Mgmt bleibt) â cudy1/cudy2 stromlos/Reset/ausbauen â **SwitchBot floor-lamp via App/BLE auf VLAN30 provisionieren (jetzt erst mĂśglich, Res. `.30.227`)** â ap1 `defconf`/pool-v1-Client-DHCP zurĂźckziehen (VLAN1-Mgmt-Reachability fĂźr sw1/sw2/ap2 erhalten) â Interim-KrĂźcken aufräumen (ap2 `frame-types=admit-only-vlan-tagged` = auto-weg mit VLAN1; `st-main rrm/wnm` Roaming-Provisorium neu bewerten) â Inventar/`ip-plan`/DNS `.41âZiel` final.
|
||||
- Abh.: **TP14 â
** (Hosts raus aus VLAN1), **TP17 â
** (Shellys raus). Verwandt: `project_vlan1_dhcp_incident` (cudy-Dual-DHCP-Leak), **VLAN99-MGMT-Cutover** (Folge-TP, entkoppelt), TP5 (Deny-by-default danach sauberer). SSoT hier + Runbook.
|
||||
|
||||
### TP20 â Platform-Datenbank (Postgres Precious-Tier + MariaDB Tier-2) ⸠đ KONZEPT (2026-07-14) â Memory `project_mikrotik_commit_nautobot_gc`
|
||||
|
||||
Reference in New Issue
Block a user