docs đ TP7.2: HAâSonos static-host binding + VLAN1/GUEST-Discovery
HA-Sonos waren unavailable: HA hängt auf VLAN1 (10.40.41.105), nicht VLAN20, und die Sonos-Integration ist SSDP-abhängig (quert VLAN nicht) â frĂźhere "HA nutzt mDNS/self-healing"-Notiz war falsch. Fix: static hosts: + advertise_addr in configuration.yaml (discovery-unabhängig, advertise_addr fixt UPnP-Callbacks trotz Multi-Homing). Zusätzlich VLAN1/GUEST- Erreichbarkeit: mdns-repeat-ifaces +vlan90,bridge; forward vlan90âvlan40 (ganzes MEDIA) + input 5353 vlan90. Flacher-Repeater-Leak bewusst. - teilprojekte.md: neues TP7.2, TP5/TP7-Regeln nachgezogen - sonos-inventar.md: HA-Abschnitt korrigiert (SSDP + static hosts) - tp7-mdns.md: superseding Update-Block (neue Repeater-Ifaces, GUEST-Forward) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -41,12 +41,19 @@ Erhoben zero-dep Ăźber die Sonos-HTTP-API (`:1400`) mit `mcp/sonos/sonos-inv.py
|
|||||||
> HA-Zuordnung (Beispiel): der Arc meldet sich als
|
> HA-Zuordnung (Beispiel): der Arc meldet sich als
|
||||||
> `RINCON_48A6B80B631001400@Wohnzimmer._sonos._tcp.local.` (RINCON = MAC ohne Trenner + `01400`).
|
> `RINCON_48A6B80B631001400@Wohnzimmer._sonos._tcp.local.` (RINCON = MAC ohne Trenner + `01400`).
|
||||||
|
|
||||||
## Home Assistant
|
## Home Assistant (TP7.2, korrigiert 2026-07-03)
|
||||||
- HA (INFRA/VLAN 20) entdeckt Sonos per **zeroconf/mDNS** (`_sonos._tcp.local.`), **nicht** SSDP â
|
- **â ď¸ Korrektur frĂźherer Notiz:** HA sitzt **nicht** auf VLAN 20, sondern noch auf `10.40.41.105`
|
||||||
seit der Repeater-vlan20-Erweiterung (2026-07-02) findet HA die Boxen wieder selbst und zieht die
|
(VLAN-1-Transfernetz, IP-Migration steht aus). Die HA-Sonos-Integration ist **SSDP-abhängig**
|
||||||
aktuellen `10.40.40.x`-IPs nach (self-healing, keine manuellen Hosts nĂśtig).
|
(`manifest dependencies:[ssdp]`, soco 0.31.1) â quert die VLAN-Grenze **nicht**. Deshalb waren alle
|
||||||
|
Sonos in HA `unavailable`, obwohl die iOS-App (mDNS) sie fand. Die alte âHA nutzt zeroconf/mDNS,
|
||||||
|
self-healing"-Aussage war falsch.
|
||||||
|
- â
**Fix (discovery-unabhängig):** `sonos: media_player:` in `configuration.yaml` mit **statischer `hosts:`-Liste**
|
||||||
|
(alle 11 IPs oben) + **`advertise_addr: 10.40.41.105`** (fixt UPnP-Event-Callbacks trotz HA-Multi-Homing
|
||||||
|
`.105`/`172.16.0.18`/docker). Nach Core-Restart alle 6 Online-Zonen `idle/playing`, Wohnzimmer-Push verifiziert.
|
||||||
|
- â
**Zusätzlich** hat der Repeater seit TP7.2 `bridge`(=VLAN 1) im Scope â HA bekommt jetzt auch die zeroconf-
|
||||||
|
Advertisements und meldet âautomatic discovery is working". Die static `hosts:` bleiben als Redundanz.
|
||||||
- Steuern + **Gruppieren** läuft ßber die native **Sonos-Integration** (SOAP auf Port 1400), *nicht* AirPlay.
|
- Steuern + **Gruppieren** läuft ßber die native **Sonos-Integration** (SOAP auf Port 1400), *nicht* AirPlay.
|
||||||
- Falls IPs mal hart hinterlegt werden sollen: obige Tabelle ist die SSoT; IPs sind DHCP-reserviert = stabil.
|
- IPs sind DHCP-reserviert = stabil; obige Tabelle ist die SSoT.
|
||||||
|
|
||||||
## Home-Theater-Bond âWohnzimmer"
|
## Home-Theater-Bond âWohnzimmer"
|
||||||
Arc (`.199`, Coordinator) + Amp (`.200`, Surrounds) + Sub (`.201`) sind aneinander gebunden â
|
Arc (`.199`, Coordinator) + Amp (`.200`, Surrounds) + Sub (`.201`) sind aneinander gebunden â
|
||||||
|
|||||||
@@ -162,6 +162,7 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
|||||||
- `forward accept vlan10âvlan40` â TP5: MAINâMEDIA (AirPlay/Sonos)
|
- `forward accept vlan10âvlan40` â TP5: MAINâMEDIA (AirPlay/Sonos)
|
||||||
- `forward accept vlan20âvlan40` â TP5: INFRAâMEDIA (HAâSonos)
|
- `forward accept vlan20âvlan40` â TP5: INFRAâMEDIA (HAâSonos)
|
||||||
- `input accept udp/5353 vlan10/vlan20/vlan30/vlan40` â mDNS-Repeater (TP7-Anschluss)
|
- `input accept udp/5353 vlan10/vlan20/vlan30/vlan40` â mDNS-Repeater (TP7-Anschluss)
|
||||||
|
- `forward accept vlan90âvlan40` + `input accept udp/5353 vlan90` â **GUESTâMEDIA (Sonos/Cast), permanent** (TP7.2, 2026-07-03)
|
||||||
- **WAN-Input-Seal komplett** (TP10-seal-est/inv/dhcp/icmp/lan/wandrop + WG-Hub UDP/51821 accept)
|
- **WAN-Input-Seal komplett** (TP10-seal-est/inv/dhcp/icmp/lan/wandrop + WG-Hub UDP/51821 accept)
|
||||||
- âł **Offen:** Deny-by-default am Ende von `forward` (aktuell noch permissiv nach fasttrack); UNTRUSTED/GUEST auf Internet-only pinnen; MGMT isolieren; IoTâINFRA-Whitelist bauen.
|
- âł **Offen:** Deny-by-default am Ende von `forward` (aktuell noch permissiv nach fasttrack); UNTRUSTED/GUEST auf Internet-only pinnen; MGMT isolieren; IoTâINFRA-Whitelist bauen.
|
||||||
- **IoTâINFRA-RĂźckmeldung (deine Frage):** IoT darf **aktiv** zu INFRA-Diensten initiieren â Firewall-Allow IoTâINFRA NUR auf **MQTT (1883/8883), HA-API, InfluxDB (8086)** o.ä.; Antworten via established/related; IoTâMAIN bleibt deny. So pusht ein Sensor Daten an HA/MQTT/Influx, ohne dass IoT âfrei" ist.
|
- **IoTâINFRA-RĂźckmeldung (deine Frage):** IoT darf **aktiv** zu INFRA-Diensten initiieren â Firewall-Allow IoTâINFRA NUR auf **MQTT (1883/8883), HA-API, InfluxDB (8086)** o.ä.; Antworten via established/related; IoTâMAIN bleibt deny. So pusht ein Sensor Daten an HA/MQTT/Influx, ohne dass IoT âfrei" ist.
|
||||||
@@ -173,8 +174,8 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
|||||||
- Abh.: TP4.
|
- Abh.: TP4.
|
||||||
|
|
||||||
### TP7 â Media-Discovery (mDNS) fĂźr VLAN 40 ⸠â
FERTIG (2026-07-02) â `docs/tp7-mdns.md`
|
### TP7 â Media-Discovery (mDNS) fĂźr VLAN 40 ⸠â
FERTIG (2026-07-02) â `docs/tp7-mdns.md`
|
||||||
- â
**Built-in mDNS-Repeater** aktiv: `/ip/dns set mdns-repeat-ifaces=vlan10,vlan20,vlan40,vlan30` (RouterOS 7.23.1).
|
- â
**Built-in mDNS-Repeater** aktiv: `/ip/dns set mdns-repeat-ifaces=vlan10,vlan20,vlan40,vlan30,vlan90,bridge`
|
||||||
MAINâMEDIA + INFRAâMEDIA (fĂźr HA) + IOT dazugenommen. Reversibel (Feld leeren).
|
(RouterOS 7.23.1; `vlan90`+`bridge`=VLAN-1 seit TP7.2 2026-07-03). MAIN/INFRA/IOT/GUEST/VLAN1 â MEDIA. Reversibel (Feld leeren).
|
||||||
Realbestand: MAIN=iOS-Client + MacBook, INFRA=Home Assistant, MEDIA=10Ă Sonos (siehe `docs/sonos-inventar.md`).
|
Realbestand: MAIN=iOS-Client + MacBook, INFRA=Home Assistant, MEDIA=10Ă Sonos (siehe `docs/sonos-inventar.md`).
|
||||||
- â
**Funktional durchgetestet (2026-07-02):** iOS-Sonos-App (vlan10) **und** Home Assistant (vlan20) finden die
|
- â
**Funktional durchgetestet (2026-07-02):** iOS-Sonos-App (vlan10) **und** Home Assistant (vlan20) finden die
|
||||||
9 online-Sonos per `_sonos._tcp.local.` (Bonjour) automatisch. Household nicht mehr gesplittet.
|
9 online-Sonos per `_sonos._tcp.local.` (Bonjour) automatisch. Household nicht mehr gesplittet.
|
||||||
@@ -197,6 +198,27 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
|||||||
- **Alternative (verworfen):** macOS-Client temporär in VLAN 40 hängen (unpraktikabel fßr Alltagsnutzung).
|
- **Alternative (verworfen):** macOS-Client temporär in VLAN 40 hängen (unpraktikabel fßr Alltagsnutzung).
|
||||||
- Abh.: TP7 â
. Kein Blocker fĂźr TP5-Deny-by-default.
|
- Abh.: TP7 â
. Kein Blocker fĂźr TP5-Deny-by-default.
|
||||||
|
|
||||||
|
### TP7.2 â HAâSonos static-host binding + VLAN1/GUEST-Discovery ⸠â
FERTIG (2026-07-03) â `docs/sonos-inventar.md`
|
||||||
|
- **Root Cause (widerlegt frĂźhere Doku):** HA-`media_player.*`-Sonos alle `unavailable`. HA sitzt **nicht** auf
|
||||||
|
VLAN 20, sondern noch auf `10.40.41.105` (VLAN-1-Transfernetz, IP-Migration steht aus). Der mDNS-Repeater
|
||||||
|
deckte VLAN 1 **nicht** ab, und die HA-Sonos-Integration ist **SSDP-abhängig** (`manifest dependencies:[ssdp]`,
|
||||||
|
soco 0.31.1) â quert die VLAN-Grenze nicht. Die alten âHA nutzt mDNS/zeroconf, fixed 2026-07-02"-Notizen waren falsch.
|
||||||
|
- â
**HA-Fix (discovery-unabhängig):** `sonos: media_player: hosts:` mit allen 11 Sonos-IPs + `advertise_addr: 10.40.41.105`
|
||||||
|
in `configuration.yaml` (Backup `.bak-sonos-20260703`). `advertise_addr` fixt die UPnP-Event-Callbacks trotz
|
||||||
|
HA-Multi-Homing (`.105`/`172.16.0.18`/docker). Core-Restart â alle 6 Online-Zonen `idle/playing` (Wohnzimmer-Push
|
||||||
|
verifiziert = Callbacks OK). Terrasse `.198` offline = kein Entity (kommt beim Einschalten). Kurzes Flapping direkt
|
||||||
|
nach Restart = Settling, danach stabil.
|
||||||
|
- â
**Nebeneffekt:** mit `bridge` im Repeater (s.u.) meldet HA jetzt âAutomatic discovery is working, hosts not needed"
|
||||||
|
â die statischen Hosts sind also Redundanz (GĂźrtel+Hosenträger), bleiben aber als Absicherung.
|
||||||
|
- â
**VLAN 1 (temp) + GUEST (perm) Discovery/Reach (User-Wunsch 2026-07-03):**
|
||||||
|
- mDNS-Repeater erweitert â `mdns-repeat-ifaces=vlan10,vlan20,vlan40,vlan30,vlan90,bridge` (VLAN-1-untagged=`bridge`).
|
||||||
|
- Firewall: `input accept udp/5353 vlan90` + `forward accept vlan90âvlan40` (ganzes MEDIA, beide Richtungen; User-Wahl).
|
||||||
|
VLAN 1/`bridge` brauchte nichts (schon via `TP10-seal-lan` + permissiver Forward).
|
||||||
|
- **Bewusst in Kauf:** flacher Repeater â Guests sehen auch MAIN/INFRA/IOT-mDNS-Announcements (Discovery-Leak;
|
||||||
|
echte Verbindungen regelt TP5-Deny-by-default).
|
||||||
|
- **Offen/später:** HAâVLAN 20 (IP-Migration nach Omada-PVID-Fix) â dann nur `advertise_addr` auf neue IP; macOS-Desktop-App
|
||||||
|
weiter via SSDP-Reflector TP7.1. Abh.: TP7 â
, TP5-Holes â
.
|
||||||
|
|
||||||
### TP8 â Identity & Access-Control ⸠research-gated
|
### TP8 â Identity & Access-Control ⸠research-gated
|
||||||
- **RADIUS = FreeRADIUS auf der NAS** (âď¸ User-Manager v5 kann **KEIN LDAP** â openldap nur via FreeRADIUS anbindbar).
|
- **RADIUS = FreeRADIUS auf der NAS** (âď¸ User-Manager v5 kann **KEIN LDAP** â openldap nur via FreeRADIUS anbindbar).
|
||||||
- **EAP-TLS (Zert) je Gerät + dynamische VLAN-Zuweisung** (RADIUS-Attribut `Tunnel-Private-Group-ID`). **Einfachste Heim-Alternative:** pro VLAN eine SSID mit **WPA3-PSK** (kein RADIUS) â Abwägung Komfort vs. Admin-Aufwand.
|
- **EAP-TLS (Zert) je Gerät + dynamische VLAN-Zuweisung** (RADIUS-Attribut `Tunnel-Private-Group-ID`). **Einfachste Heim-Alternative:** pro VLAN eine SSID mit **WPA3-PSK** (kein RADIUS) â Abwägung Komfort vs. Admin-Aufwand.
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
# TP7 â Media-Discovery (mDNS) fĂźr VLAN 40 (As-built, 2026-06-17)
|
# TP7 â Media-Discovery (mDNS) fĂźr VLAN 40 (As-built, 2026-06-17)
|
||||||
|
|
||||||
|
> **â ď¸ Update 2026-07-03 (TP7.2) â supersedes Teile dieses As-builts:**
|
||||||
|
> - **Aktuelle Repeater-Config:** `mdns-repeat-ifaces=vlan10,vlan20,vlan40,vlan30,vlan90,bridge`
|
||||||
|
> (nicht mehr `vlan10,vlan40`). Erweitert um vlan20 (HA-Discovery, 2026-07-02), vlan30 (IOT/P750W),
|
||||||
|
> **vlan90 (GUEST, permanent) und `bridge` (=VLAN-1-untagged, temporär) am 2026-07-03**.
|
||||||
|
> - **Damit obsolet:** die Aussage unten âVLAN 1 bewusst NICHT in den Repeater aufnehmen". VLAN 1 (`bridge`)
|
||||||
|
> ist jetzt drin, weil HA noch auf `10.40.41.105` (VLAN 1) hängt und die Sonos entdecken kÜnnen muss.
|
||||||
|
> - **GUEST-Firewall (permanent):** `input accept udp/5353 vlan90` + `forward accept vlan90âvlan40` (ganzes MEDIA).
|
||||||
|
> - **Trade-off bewusst:** flacher Repeater â GUEST sieht auch MAIN/INFRA/IOT-mDNS-Announcements (Discovery-Leak).
|
||||||
|
> - **HA-Sonos:** primär via static `hosts:` + `advertise_addr` (SSDP-abhängige Integration, s. `sonos-inventar.md`);
|
||||||
|
> der `bridge`-Repeater ist zusätzliche Redundanz. Details â TP7.2 in `teilprojekte.md`.
|
||||||
|
|
||||||
**Ziel:** Clients auf **MAIN (VLAN 10)** sollen Mediageräte auf **MEDIA (VLAN 40)**
|
**Ziel:** Clients auf **MAIN (VLAN 10)** sollen Mediageräte auf **MEDIA (VLAN 40)**
|
||||||
finden (AirPlay/Bonjour, Sonos) â Ăźber VLAN-Grenzen hinweg, ohne beide VLANs zu mischen.
|
finden (AirPlay/Bonjour, Sonos) â Ăźber VLAN-Grenzen hinweg, ohne beide VLANs zu mischen.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user