From b82e7d83d0406127bbd828afb31a8ab822670665 Mon Sep 17 00:00:00 2001 From: Christoph Emsenhuber Date: Wed, 17 Jun 2026 20:38:24 +0200 Subject: [PATCH] =?UTF-8?q?TP7=20=E2=9C=85=20As-built:=20nativer=20mDNS-Re?= =?UTF-8?q?peater=20MAIN=E2=86=94MEDIA=20(vlan10,vlan40)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /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 --- docs/tp7-mdns.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/tp7-mdns.md diff --git a/docs/tp7-mdns.md b/docs/tp7-mdns.md new file mode 100644 index 0000000..4bcfaf2 --- /dev/null +++ b/docs/tp7-mdns.md @@ -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="" +```