diff --git a/docs/sonos-inventar.md b/docs/sonos-inventar.md index fc75664..18ad9ce 100644 --- a/docs/sonos-inventar.md +++ b/docs/sonos-inventar.md @@ -1,5 +1,14 @@ # Sonos-Inventar (live, 2026-06-17) +> **Update 2026-06-18 (nach TP3-WLAN):** Stand der Migration: +> - **VLAN 40 (MEDIA), 4 Geräte wired:** Arbeitszimmer-Paar `.40.199/.200` + **Schlafzimmer-Table-Lamps** +> `78:28:CA:80:2A:F6`/`82:16:C2` (jetzt `.40.192/.193`, Port auf VLAN 40 umgehängt ✅, reachable). +> - **VLAN 1 (FritzBox-WLAN), 7 Geräte:** 3× One SL (Bad/Kinderzimmer/Küche) + Home-Theater Arc/Amp/Sub +> + **1 weiteres (war offline)** — alle noch nicht migriert. +> - **Folge:** Household über VLAN1↔VLAN40 **gespalten** → mDNS-Repeater (`vlan10,vlan40`) deckt VLAN1 nicht ab +> → „Sonos erscheinen selektiv je Netz" (kein mDNS-Defekt). **Fix = die 7 WLAN-Sonos auf `dirtyvader-media` +> (VLAN 40) holen.** Migrationsziel-SSID steht (TP3); `sec-media` hat **FT/802.11r=no** (802.11r bricht Sonos). + Erhoben zero-dep über die Sonos-HTTP-API (`:1400`) vom Mac (VLAN 1, `10.40.41.82`, en5) mit `mcp/sonos/sonos-inv.py --seeds 10.40.40.199`. **Alle 10 Geräte S2** (SWGen=2). Sonos hat **keine** API zum WLAN-Umstellen — Migration passiert am Netz, nicht am Gerät. diff --git a/docs/teilprojekte.md b/docs/teilprojekte.md index 3803740..6032d00 100644 --- a/docs/teilprojekte.md +++ b/docs/teilprojekte.md @@ -72,13 +72,24 @@ 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. -### TP3 — WLAN / CAPsMAN ▸ teilweise blockiert -- **`bound`-Problem** sauber lösen (MikroMCP, doku-gegründet) → Test-WLAN „BF-Main" → SSID→VLAN-Datapaths. -- **DoH-Upstream auf APs = Cloudflare** (`/ip dns use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes`). Rest der AP-Config noch ~default. -- **SSID-Strategie (Entscheid):** NICHT naiv 1 SSID je VLAN + MAC-Filter. Besser: **eine 802.1X-SSID mit dynamischer VLAN-Zuweisung** (RADIUS, → TP8) für fähige Geräte; **PSK-SSIDs** für IoT/Guest/Media (Geräte ohne 802.1X). Hidden ≠ Sicherheit (nur Obscurity); MAC-Filter = schwaches Minimum, **EAP-TLS/Zert deutlich besser** (TP8). -- **SSID-Nomenklatur (Entscheid 2026-06-17):** Prefix `dirtyvader` + `-` (lowercase), also `dirtyvader-main` (10), `dirtyvader-media` (40), `dirtyvader-iot` (30), `dirtyvader-guest` (90). **INFRA (20) + MGMT (99) hidden** (broadcast unterdrückt — Obscurity reicht gegen Script-Kiddies, kein Sicherheitsmerkmal). Prefix bewusst standort-neutral (kein Hinweis aufs Haus). -- **Mesh = NEIN** (beide APs wired-trunk → Loop-Risiko via Router/LAN; Mesh nur sinnvoll ohne wired backhaul). Research bestätigt in TP-R. -- Abh.: TP8 (für 802.1X). research: CAPsMAN-bound, mesh. +### 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), + `-untrusted`(50, WPA2+3), `-guest`(90, WPA2+3). Alt-SSIDs `install*`/`BF-Main`/`wv*` entfernt. Temp-PSK (User setzt echte). +- ✅ **CAPsMAN-Architektur:** ap1=Manager+AP (lokale Radios), ap2=CAP (dynamisch via Provisioning, `remote-cap=Ok`). + **Kernlektion:** Der Manager kann seine **eigenen** Radios NICHT über CAPsMAN provisionieren → ap1 lokal zuweisen + (Master via `set` + statische Slave-VAPs), ap2 zieht Master+Slaves dynamisch. Ein CAP hält **keine** Eigen-Config. +- ✅ **Kanal-Plan (non-DFS, überlappungsfrei):** ap1 ch36/5180 + ch1/2412 · ap2 ch149/5745 + ch11/2462. + (Auto-Channel hatte beide APs auf 5500-DFS/2437 gelegt = Co-Channel → fix gepinnt. ap2-Kanaländerung braucht + `remote-cap provision`-Push.) `bound`-Problem damit obsolet/sauber gelöst. +- ⏳ **Sonos-Anschluss (TP7):** 7 WLAN-Sonos hängen noch am FB-WLAN (VLAN1) → Household gespalten, daher + „Sonos selektiv je Netz". Fix = Sonos auf `dirtyvader-media`(VLAN40) migrieren (User-seitig, Re-Onboarding). +- **Vertagt:** hidden `dirtyvader-infra`(20)+`-mgmt`(99) (Mgmt verkabelt). **TP8:** eine 802.1X-SSID + (`dirtyvader-secure`) mit FreeRADIUS-Dynamic-VLAN → dann PSK-`main`/`infra` einstampfen (Konsolidierung). +- **SSID-Strategie-Entscheid (Begründung):** unterschiedl. WPA-Typ/Band erzwingen separate SSIDs; „alles in 1 SSID + per Auth" nur via 802.1X (Geräte ohne EAP wie Sonos/TV/IoT brauchen ohnehin PSK) → Hybrid in TP8. +- **Mesh = NEIN** (beide APs wired-trunk → Loop-Risiko). DoH-Upstream = Cloudflare Gateway (seit TP4 aktiv). +- Abh. erfüllt: TP4 ✅ (L3/VLAN-Interfaces). Folge: TP8 (802.1X), Sonos-Migration. ### TP4 — Router-Cutover (hAP#1 = Router) ▸ ✅ L3-Infra FERTIG (2026-06-15) — FB-Bridge ausstehend - ✅ **Bridge VLAN-Filtering aktiviert** (`vlan-filtering=yes`); VLAN-Tabelle: VLAN1 untagged bridge+ether2, VLANs 10/20/30/40/50/90/99/100 tagged bridge+ether2. @@ -181,6 +192,7 @@ Kontrolle: MikroMCP (MikroTik) live · ALLNET = Klickanleitungen · Omada → Co 1. ~~**Jetzt:** TP1 (GE8) → TP2 (Omada Controller).~~ ✅ erledigt 2026-06-15. 2. ~~**TP4 (Router-Cutover L3-Infra).**~~ ✅ erledigt 2026-06-15. FB-Bridge-Mode noch offen (physisch). 3. **Jetzt: Omada-PVID-Fix** — Omada Access-Profile korrigieren (PVID 10/20, untagNetworkIds bereinigen, sicher P3/P5/P6 zuerst), dann IP-Migration NAS/macmini/pve auf VLAN-Subnetze + DNS-Einträge updaten. -4. **Dann:** TP5 (Firewall/Deny-by-default) → TP6 (QoS/CAKE) → ~~TP7 (mDNS)~~ ✅ vorgezogen 2026-06-17 → TP3 (WLAN/CAPsMAN). +4. **Dann:** TP5 (Firewall/Deny-by-default) → TP6 (QoS/CAKE). ~~TP7 (mDNS)~~ ✅ 2026-06-17, ~~TP3 (WLAN/CAPsMAN)~~ ✅ 2026-06-18. ⚠️ TP5 muss die TP7-Firewall-Holes mitnehmen (s. TP7: MAIN↔MEDIA-forward + UDP 5353 input). + ⏳ Sonos-WLAN-Migration (7 Geräte FB-WLAN→VLAN40) als Anschluss an TP3/TP7 (User-seitig, schließt den Household). 5. **Nachgelagert/Research-getrieben:** TP8 (Access), TP9 (HA), TP10 (VPN), TP11 (Monitoring), TP12 (IPv6), TP13 (Spaß). diff --git a/docs/tp7-mdns.md b/docs/tp7-mdns.md index 4bcfaf2..43b085c 100644 --- a/docs/tp7-mdns.md +++ b/docs/tp7-mdns.md @@ -23,6 +23,14 @@ Der Router-DNS-Dienst (läuft bereits, `allow-remote-requests=yes`) spiegelt mDN mDNS-Pakete vom Router selbst (input→output), kein Client-zu-Client-`forward`. → Deny-by-default im `forward`-Chain blockt die Discovery **nicht**. +## Diagnose 2026-06-18 — „Sonos selektiv je Netz" ist KEIN mDNS-Defekt +Nach TP3 gemeldet: Sonos erscheinen nur teilweise. Ursache **nicht** der Repeater (intakt: `vlan10,vlan40`), +sondern der **gespaltene Sonos-Household**: 4 Sonos auf VLAN 40, **7 noch auf dem FritzBox-WLAN (VLAN 1)**. +Der Repeater spiegelt nur `vlan10↔vlan40` → MAIN-Client sieht nur die VLAN40-Hälfte, FB-WLAN-Client nur die +VLAN1-Hälfte. **Fix = die 7 WLAN-Sonos auf `dirtyvader-media` (VLAN 40) migrieren** (s. `sonos-inventar.md`), +dann ist der Household geschlossen und MAIN sieht über den Repeater alle. VLAN1 bewusst NICHT in den Repeater +aufnehmen (FB-Transit, temporär) — der saubere Weg ist die Migration. + ## Verifikation - Config aktiv bestätigt: `mdns-repeat-ifaces: vlan10,vlan40` (`/ip/dns/get`). - Passive Torch (`dst 224.0.0.251` auf vlan10/vlan40) im Sampling-Fenster leer → diff --git a/routeros/ap1-manager.rsc b/routeros/ap1-manager.rsc deleted file mode 100644 index b3c4c54..0000000 --- a/routeros/ap1-manager.rsc +++ /dev/null @@ -1,47 +0,0 @@ -# ===== ap1 (10.40.41.155) — CAPsMAN-Manager + AP + VLAN-Bridge ===== -# RouterOS 7.23.1. NUR PLAN — Syntax vor Apply gegen Gerät validieren. -# Platzhalter <...> ersetzen. L3/Router-Teil (DHCP/DNS/NAT/CAKE) NICHT hier (separater Cutover). - -# --- 1) Bridge-VLAN-Tabelle (Uplink ether2 = Trunk, native vlan1 = Mgmt) --- -/interface bridge vlan -add bridge=bridge vlan-ids=10,20,30,40,90,99,100 tagged=bridge,ether2 -add bridge=bridge vlan-ids=1 untagged=ether2,ether3,ether4,ether5 tagged=bridge -/interface bridge port -set [find interface=ether2] pvid=1 ;# native/untagged = vlan1 (Mgmt) - -# --- 2) WLAN Security (Passphrasen vom User) --- -# TEMP-Passphrase (Platzhalter) — User setzt echte später -/interface wifi security -add name=sec-main authentication-types=wpa3-psk passphrase="BFtest-2026-tmp" ;# WPA3-only (User) -add name=sec-iot authentication-types=wpa2-psk,wpa3-psk passphrase="BFtest-2026-tmp" -add name=sec-guest authentication-types=wpa2-psk,wpa3-psk passphrase="BFtest-2026-tmp" - -# --- 3) Datapath = VLAN-Zuordnung (Bridge + vlan-id) --- -/interface wifi datapath -add name=dp-main bridge=bridge vlan-id=10 -add name=dp-iot bridge=bridge vlan-id=30 -add name=dp-guest bridge=bridge vlan-id=90 - -# --- 4) Configuration je SSID --- -/interface wifi configuration -add name=cfg-main ssid="BF-Main" security=sec-main datapath=dp-main country=Austria -add name=cfg-iot ssid="BF-IoT" security=sec-iot datapath=dp-iot country=Austria -add name=cfg-guest ssid="BF-Guest" security=sec-guest datapath=dp-guest country=Austria - -# --- 5) CAPsMAN-Manager aktivieren (CA/Cert generiert RouterOS automatisch) --- -/interface wifi capsman -set enabled=yes interfaces=bridge ca-certificate=auto certificate=auto - -# --- 6) Provisioning: pro Radio Master(BF-Main)+Slaves(IoT,Guest) dynamisch anlegen --- -/interface wifi provisioning -add action=create-dynamic-enabled supported-bands=2ghz-ax \ - master-configuration=cfg-main slave-configurations=cfg-iot,cfg-guest -add action=create-dynamic-enabled supported-bands=5ghz-ax \ - master-configuration=cfg-main slave-configurations=cfg-iot,cfg-guest - -# --- 7) SAFETY: Auto-Rollback, DANN vlan-filtering an --- -/system scheduler -add name=vlan-rollback interval=5m \ - on-event="/interface bridge set [find name=bridge] vlan-filtering=no; /system scheduler remove vlan-rollback" -/interface bridge set [find name=bridge] vlan-filtering=yes -# Nach bestätigtem Zugriff: /system scheduler remove vlan-rollback diff --git a/routeros/ap2-cap.rsc b/routeros/ap2-cap.rsc deleted file mode 100644 index 5bb7225..0000000 --- a/routeros/ap2-cap.rsc +++ /dev/null @@ -1,21 +0,0 @@ -# ===== ap2 (10.40.41.156) — CAP (zieht Config von ap1) + VLAN-Bridge ===== -# RouterOS 7.23.1. NUR PLAN — Syntax vor Apply gegen Gerät validieren. - -# --- 1) Bridge-VLAN-Tabelle (identisch zu ap1: Uplink ether2 Trunk, native vlan1 Mgmt) --- -/interface bridge vlan -add bridge=bridge vlan-ids=10,20,30,40,90,99,100 tagged=bridge,ether2 -add bridge=bridge vlan-ids=1 untagged=ether2,ether3,ether4,ether5 tagged=bridge -/interface bridge port -set [find interface=ether2] pvid=1 - -# --- 2) CAP aktivieren: Manager = ap1, Wireless slaves in die Bridge --- -/interface wifi cap -set enabled=yes discovery-interfaces=bridge caps-man-addresses=10.40.41.1 slaves-datapath=bridge -# (ap2 zieht security/datapath/configuration/provisioning vom Manager → SSIDs erscheinen automatisch) - -# --- 3) SAFETY: Auto-Rollback, DANN vlan-filtering an --- -/system scheduler -add name=vlan-rollback interval=5m \ - on-event="/interface bridge set [find name=bridge] vlan-filtering=no; /system scheduler remove vlan-rollback" -/interface bridge set [find name=bridge] vlan-filtering=yes -# Nach bestätigtem Zugriff: /system scheduler remove vlan-rollback diff --git a/routeros/capsman-flat-asbuilt.rsc b/routeros/capsman-flat-asbuilt.rsc deleted file mode 100644 index 4840da8..0000000 --- a/routeros/capsman-flat-asbuilt.rsc +++ /dev/null @@ -1,45 +0,0 @@ -# ===== AS-BUILT 2026-06-09: CAPsMAN BF-Main, FLACH (bridge/vlan1, KEIN VLAN) ===== -# Angewendet via MikroMCP (run_command). ap1=10.40.41.1 (Manager+AP), ap2=10.40.41.2 (CAP). -# Verifiziert: beide APs, beide Bänder = SSID BF-Main, WPA3-only + FT, state=running, remote-cap Ok. -# WICHTIGSTE LEKTION (kostete den Vorgänger den Erfolg): -# - "bound=true" ist NORMAL (Master-IF mit Radio+Config), KEIN Fehler. -# - Ein CAP wird nur provisioniert, wenn auf seinen Interfaces -# configuration.manager=capsman-or-local gesetzt ist (default=local → kontaktiert CAPsMAN NIE). -# Reset setzt es auf default zurück → nach reset neu setzen! -# - Manager-eigene Radios kann CAPsMAN NICHT via configuration.manager=capsman managen -# → lokal die Configuration-Profile direkt zuweisen (Doku). - -# ---------- ap1 = MANAGER + AP ---------- -/interface/wifi/channel -add name=ch-2g band=2ghz-ax width=20mhz -add name=ch-5g band=5ghz-ax width=20/40/80mhz ;# 5560 (DFS) auto -> 1min CAC; ggf. non-DFS pinnen -/interface/wifi/security -add name=sec-main authentication-types=wpa3-psk passphrase="BFtest-2026-tmp" ft=yes ft-over-ds=yes -/interface/wifi/datapath -add name=dp-main bridge=bridge ;# FLACH: nur bridge, kein vlan-id (VLAN kommt nach Cutover) -/interface/wifi/configuration -add name=cfg-main-5g ssid=BF-Main mode=ap country=Austria security=sec-main datapath=dp-main channel=ch-5g -add name=cfg-main-2g ssid=BF-Main mode=ap country=Austria security=sec-main datapath=dp-main channel=ch-2g -/interface/wifi/capsman -set enabled=yes ;# interfaces=bridge, ca/cert auto (waren vorhanden) -/interface/wifi/provisioning -add action=create-dynamic-enabled supported-bands=5ghz-ax master-configuration=cfg-main-5g -add action=create-dynamic-enabled supported-bands=2ghz-ax master-configuration=cfg-main-2g -# ap1 eigene Radios lokal zuweisen (Master kann sich nicht selbst per CAPsMAN managen): -/interface/wifi -reset wifi1 ; set wifi1 configuration=cfg-main-5g disabled=no -reset wifi2 ; set wifi2 configuration=cfg-main-2g disabled=no - -# ---------- ap2 = CAP ---------- -/interface/wifi -reset wifi1 ; reset wifi2 -set wifi1,wifi2 configuration.manager=capsman-or-local ;# <-- DER SCHLÜSSEL, sonst keine Provisionierung -enable wifi1,wifi2 -/interface/wifi/cap -set enabled=yes discovery-interfaces=bridge caps-man-addresses=10.40.41.1 - -# ---------- Verifikation ---------- -# ap1: /interface/wifi/capsman remote-cap print -> ap2 STATE=Ok -# ap1: /interface/wifi monitor wifi1,wifi2 once -> state=running, SSID BF-Main -# ap2: /interface/wifi print detail -> "managed by CAPsMAN ...", BR (bound+running) -# Backups vorher: pre-capsman-2026-06-09.backup auf beiden APs. diff --git a/routeros/tp3-capsman.rsc b/routeros/tp3-capsman.rsc index 137bcd1..87fa8fa 100644 --- a/routeros/tp3-capsman.rsc +++ b/routeros/tp3-capsman.rsc @@ -22,16 +22,16 @@ # ================= ap1 = MANAGER + AP ================= -# --- Channels (wiederverwendet aus Vorbestand) --- +# --- Channels (non-DFS gepinnt; diese Frequenzen gelten fuer ap2 = CAP, ap1 wird unten lokal ueberschrieben) --- /interface/wifi/channel -add name=ch-2g band=2ghz-ax width=20mhz -add name=ch-5g band=5ghz-ax width=20/40/80mhz +add name=ch-2g band=2ghz-ax width=20mhz frequency=2462 ;# ch11 (ap2) +add name=ch-5g band=5ghz-ax width=20/40/80mhz frequency=5745 ;# ch149 non-DFS (ap2) # --- Security je SSID (gemeinsames Temp-PW; FT nur main+media) --- /interface/wifi/security add name=sec-main authentication-types=wpa3-psk ft=yes ft-over-ds=yes passphrase="__TEMP_PSK__" add name=sec-iot authentication-types=wpa2-psk,wpa3-psk ft=no passphrase="__TEMP_PSK__" -add name=sec-media authentication-types=wpa2-psk,wpa3-psk ft=yes ft-over-ds=yes passphrase="__TEMP_PSK__" +add name=sec-media authentication-types=wpa2-psk,wpa3-psk ft=no passphrase="__TEMP_PSK__" ;# ft=no: 802.11r bricht Sonos add name=sec-untrusted authentication-types=wpa2-psk,wpa3-psk ft=no passphrase="__TEMP_PSK__" add name=sec-guest authentication-types=wpa2-psk,wpa3-psk ft=no passphrase="__TEMP_PSK__" @@ -64,8 +64,8 @@ add action=create-dynamic-enabled supported-bands=5ghz-ax master-configuration=c # --- ap1-EIGENE Radios LOKAL zuweisen (Manager provisioniert sich nicht selbst!) --- /interface/wifi -set wifi1 configuration=cfg-main-5g configuration.manager=local disabled=no ;# wifi1 = 5 GHz -set wifi2 configuration=cfg-main-2g configuration.manager=local disabled=no ;# wifi2 = 2,4 GHz +set wifi1 configuration=cfg-main-5g configuration.manager=local disabled=no channel.frequency=5180 ;# wifi1 = 5 GHz, ch36 (override gg. ch-5g) +set wifi2 configuration=cfg-main-2g configuration.manager=local disabled=no channel.frequency=2412 ;# wifi2 = 2,4 GHz, ch1 (override gg. ch-2g) # Statische Slaves je Band (5 GHz ohne iot): add master-interface=wifi1 configuration=cfg-media name=w5-media disabled=no add master-interface=wifi1 configuration=cfg-untrusted name=w5-untrusted disabled=no @@ -80,15 +80,18 @@ add master-interface=wifi2 configuration=cfg-guest name=w2-guest disable # erscheinen dynamisch: wifi1(5G)=main + media/untrusted/guest ; wifi2(2,4G)=main + iot/media/untrusted/guest. # Falls je noetig: /interface/wifi/capsman/remote-cap provision [find] -# ================= VERIFIKATION (durchgefuehrt) ================= -# ap1: /interface/wifi monitor wifi1,wifi2 once -> state=running (wifi1 nach 1min DFS-CAC auf 5500) -# ap2: /interface/wifi print brief -> 9 IFs alle DBR/MBR running, "managed by CAPsMAN 10.40.41.1" +# ================= VERIFIKATION (durchgefuehrt 2026-06-18) ================= +# ap1: monitor wifi1,wifi2 -> running, ch36/5180 (5G) + ch1/2412 (2,4G), tx-power ~18-25/15 dBm, 2 Clients FT-WPA3 VLAN10 +# ap2: print brief -> 9 IFs MBR/DBR running, ch149/5745 (5G) + ch11/2462 (2,4G), "managed by CAPsMAN 10.40.41.1" # ap1: /interface/wifi/capsman/remote-cap print -> ap2 STATE=Ok +# Kanaele distinkt + non-DFS auf beiden Baendern (Co-Channel beseitigt). KANAL-AENDERUNG an ap2 braucht +# manuellen Push: /interface/wifi/capsman/remote-cap provision [find] # Offen (User-Geraetetest): Client je SSID -> DHCP aus 10.40.{10,30,40,50,90}.x, list_wifi_clients vlan-id. # ================= OFFENE PUNKTE / TUNING ================= -# - Echte Passphrasen pro security-Profil setzen (Temp ersetzen). -# - 5 GHz: beide APs auto -> aktuell beide auf DFS-5500. Empfehlung: non-DFS pinnen & distinct -# (z.B. ap1=ch36/5180, ap2=ch149/5745) gegen Co-Channel + Radar-Unterbrechung. (channel.frequency) +# - Echte Passphrasen pro security-Profil setzen (Temp ersetzen). User macht das selbst. +# - Kanal-Plan erledigt: ap1 ch36/ch1, ap2 ch149/ch11 (alle non-DFS, ueberlappungsfrei). # - hidden dirtyvader-infra(20)/-mgmt(99) bei Bedarf nachziehen (sec WPA3-only, configuration.hide-ssid=yes). +# - Sonos-Migration (TP7-Anschluss): 7 WLAN-Sonos noch auf FB-WLAN (VLAN1) -> auf dirtyvader-media (VLAN40) +# holen, dann ist der Household geschlossen und mDNS-Repeater vlan10<->vlan40 liefert MAIN volle Discovery. # - TP8: eine 802.1X-SSID (dirtyvader-secure) mit FreeRADIUS-Dynamic-VLAN -> dann PSK-main/infra retiren.