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>
This commit is contained in:
2026-06-17 20:38:24 +02:00
parent e2c2700252
commit b82e7d83d0

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

@@ -0,0 +1,56 @@
# 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=""
```