Files
bf-infra/docs/tp7-mdns.md
Christoph Emsenhuber b82e7d83d0 TP7 ✅ As-built: nativer mDNS-Repeater MAIN↔MEDIA (vlan10,vlan40)
/ip/dns mdns-repeat-ifaces re-originiert mDNS vom Router (input→output),
daher unabhängig von TP5-forward. Verifikation + Rollback + offene TP5-Punkte
(forward MAIN↔MEDIA, input UDP 5353) und SSDP/IOT-Defer dokumentiert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 20:38:24 +02:00

57 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TP7 — Media-Discovery (mDNS) für VLAN 40 (As-built, 2026-06-17)
**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**.
## 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=""
```