Initial import from bf-network-r6.opencode — opencode migration

This commit is contained in:
2026-08-26 12:44:21 +02:00
commit 5ee0716dda
297 changed files with 72324 additions and 0 deletions

75
docs/tp7-mdns.md Normal file
View File

@@ -0,0 +1,75 @@
# 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)**
finden (AirPlay/Bonjour, Sonos) — über VLAN-Grenzen hinweg, ohne beide VLANs zu mischen.
## Realzustand bei Start
- MAIN (vlan10): MacBookAir `10.40.10.200`
- MEDIA (vlan40): **2× SonosZP** `10.40.40.199` / `.200`
- Inter-VLAN-Forwarding noch komplett offen (TP5 Deny-by-default existiert noch nicht).
## Umsetzung — nativer mDNS-Repeater (RouterOS 7.16+, hier 7.23.1)
Leitsatz „nativ vor Container" → kein Reflector-Container, sondern Built-in:
```
/ip/dns/set mdns-repeat-ifaces=vlan10,vlan40
```
Der Router-DNS-Dienst (läuft bereits, `allow-remote-requests=yes`) spiegelt mDNS
(`224.0.0.251:5353`) zwischen den gelisteten Interfaces. **Reversibel:** Feld leeren
(`mdns-repeat-ifaces=""`).
**Wichtig (entschärft die TP5-Abhängigkeit):** Der Repeater **re-originiert** die
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 →
erwartbar, mDNS ist sporadisch ohne aktiven Client-Query.
- **Funktionaler Test (definitiv):** Auf dem MAIN-Client (MacBook, vlan10) die
Sonos-App bzw. AirPlay-Ziele öffnen → die beiden SonosZP müssen erscheinen.
Dann ggf. Torch erneut: dann ist mDNS-Reflexion auf vlan10 sichtbar.
## Offene Punkte / Anschluss an andere TPs
### TP5 (Firewall) — was bei Deny-by-default ergänzt werden MUSS
1. **`forward`-Chain:** MAIN↔MEDIA-Nutzdaten erlauben (AirPlay TCP 7000 + dyn.
Ports, Sonos 1400/3400/4444 etc.). TP5 plant ohnehin „MAIN↔MEDIA allow (+mDNS)".
Ohne diese Regel funktioniert zwar die *Discovery*, aber nicht das *Streamen/Steuern*.
2. **`input`-Chain:** Beim Härten des Router-Inputs **UDP 5353 von vlan10 & vlan40
an den Router (224.0.0.251) offenlassen** — sonst empfängt der Repeater nichts mehr.
### SSDP / Chromecast (optional, deferred)
Der native Repeater deckt **nur mDNS** ab. Reines SSDP (UDP 1900, ältere
Cast-/DLNA-Geräte) bräuchte einen Reflector-**Container** — laut HW-Constraint
(128 MB Flash, kein USB) **nicht am hAP**, sondern auf NAS/pve. Sonos & AirPlay
laufen über mDNS → für den aktuellen Gerätebestand nicht nötig. Bei Bedarf später.
### IOT (VLAN 30)
Bewusst **nicht** in den Repeater aufgenommen (TP7-Scope = MAIN↔MEDIA). Smart-Home-
Discovery ist HA-Sache. Erweiterung wäre `mdns-repeat-ifaces=vlan10,vlan30,vlan40`.
## Rollback
```
/ip/dns/set mdns-repeat-ifaces=""
```