MIKROTIK + SONOS im VLAN
Hallo,
ich habe meine Sonos Player in ein separates Subnet verschoben (vlan30). Die Controller sind in div. anderen vlans (vlan60, vlan10).
Bis vor ein paar Tagen funktionierte das reibunsgslos, aber seit gestern finden die Controller die Player ur sporadisch. Ich habe dann die Controller zurückgesetzt, aber das scheint überhaupt nicht zu klappen. Ich kann die Controller nur verbinden, wenn sie im gleiche Subnetz sind. Irgendwie habe ich den Eindruck, dass ist nach dem Sonos-Update auf 9.0 passiert. Auch das ließ sich nur mit Controllern im gleiche Subnetz durchführen. Irgendwie scheint es hier noch Kommunikationsprobleme zwischen den Subnetzten zu geben:
Meine Konfig:
Witzigerweise habe ich auch Controller in vlan60. Obwohl hier kein Eintrag in PIM ist, funktionieren diese Controller besser als die Windows Controller in vlan10. Irgendetwas stimmt hier noch nicht. Hat jemand eine Idee?
Christian
ich habe meine Sonos Player in ein separates Subnet verschoben (vlan30). Die Controller sind in div. anderen vlans (vlan60, vlan10).
Bis vor ein paar Tagen funktionierte das reibunsgslos, aber seit gestern finden die Controller die Player ur sporadisch. Ich habe dann die Controller zurückgesetzt, aber das scheint überhaupt nicht zu klappen. Ich kann die Controller nur verbinden, wenn sie im gleiche Subnetz sind. Irgendwie habe ich den Eindruck, dass ist nach dem Sonos-Update auf 9.0 passiert. Auch das ließ sich nur mit Controllern im gleiche Subnetz durchführen. Irgendwie scheint es hier noch Kommunikationsprobleme zwischen den Subnetzten zu geben:
Meine Konfig:
#
/interface list
add name="Sonos Control"
#
/interface list member
add comment=SONOS disabled=yes interface=vlan99 list="Sonos Control"
add comment=SONOS interface=vlan60 list="Sonos Control"
add comment=SONOS interface=vlan10 list="Sonos Control"
#
### vlan10
/ip firewall address-list
add address=172.16.10.0/24 list=SonosControl
#
### Firewall
/ip firewall filter
add action=accept chain=forward comment="SONOS: forward Multicast traffic" \
dst-address=239.255.255.250
add action=accept chain=forward comment=\
"SONOS: forward Controller events to Players" dst-port=1400,4444,4070 \
in-interface-list="Sonos Control" out-interface=vlan30 protocol=tcp
add action=accept chain=forward comment=\
"SONOS: Forward Contoller events from Players" dst-port=\
3400,3401,3500,4070 in-interface=vlan30 out-interface-list=\
"Sonos Control" protocol=tcp
add action=accept chain=forward comment=\
"SONOS. Forward UPnP Device Discovery events from Players" dst-port=\
136-139,1900,1901,2869,5353,6969 in-interface=vlan30 out-interface-list=\
"Sonos Control" protocol=udp
#
###PIM
/routing pim interface
add comment="Sonos player" interface=vlan30
add comment="Sonos controller" interface=vlan10
/routing pim rp
add address=172.16.30.1
Witzigerweise habe ich auch Controller in vlan60. Obwohl hier kein Eintrag in PIM ist, funktionieren diese Controller besser als die Windows Controller in vlan10. Irgendetwas stimmt hier noch nicht. Hat jemand eine Idee?
Christian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 380289
Url: https://administrator.de/forum/mikrotik-sonos-im-vlan-380289.html
Ausgedruckt am: 26.12.2024 um 19:12 Uhr
31 Kommentare
Neuester Kommentar
Sieh dir mal mit dem Wireshark an welche Multicast Adressen Sonos verwendet. Das TTL 1 Thema hatten wir ja neulich mit den link local Adressen.
Irgendjemand im letzten Post dazu schrieb hier im Forum noch das die Sonos mit der aktuellen Firmware jetzt Spanning Tree machen.
Achte deshalb darauf das die Bridge Priority in ALLEN deinen VLAN Segmenten am Mikrotik auf "4096" gesetzt ist damit der MT Root Bridge wird im Bezug zum Sonos.
Auch hier ist der Wireshark dein bester Freund !
Ggf. solltest du erstmal alle Filter entfernen um dir hier noch noch mehr potentielle Fallen zu schaffen indem du was wegfilterst was du brauchst.
Teste das erstmal in einem normal gerouteten Netz und mache erst dann wenn alles fehlerfrei rennt die Schotten dicht. So weisst du genau das es ggf. nur an falschen Filterregeln liegen kann !
Irgendjemand im letzten Post dazu schrieb hier im Forum noch das die Sonos mit der aktuellen Firmware jetzt Spanning Tree machen.
Achte deshalb darauf das die Bridge Priority in ALLEN deinen VLAN Segmenten am Mikrotik auf "4096" gesetzt ist damit der MT Root Bridge wird im Bezug zum Sonos.
Auch hier ist der Wireshark dein bester Freund !
Ggf. solltest du erstmal alle Filter entfernen um dir hier noch noch mehr potentielle Fallen zu schaffen indem du was wegfilterst was du brauchst.
Teste das erstmal in einem normal gerouteten Netz und mache erst dann wenn alles fehlerfrei rennt die Schotten dicht. So weisst du genau das es ggf. nur an falschen Filterregeln liegen kann !
Sonos braucht Multicast routing /forwarding für die Netze
https://en.community.sonos.com/home-theater-228993/sonos-across-multiple ...
Normalerweise werden die multicasts ja am Router nicht weitergeleitet. Dass muss explizit aktiviert ( und vom Router unterstützt werden)
Grüße
lcer
https://en.community.sonos.com/home-theater-228993/sonos-across-multiple ...
Normalerweise werden die multicasts ja am Router nicht weitergeleitet. Dass muss explizit aktiviert ( und vom Router unterstützt werden)
Grüße
lcer
Ich habe auf dem MT aber nur eine Bridge für alle vlans.
Richtig, denn der MT kann nur Single Span Verfahren, er kann kein PVST (Per VLAN Spanning Tree).Also richtig einmal zentral eintragen und gut iss.
Vorsicht aber wenn du hier einen Core Switch hast an dem deine VLANs hängen mit ihren Endgeräte Ports.
Der sollte dann immer die Bridge Priority 4096 haben und der MT dann das zweithöchste sprich die 8192.
So stellt man sicher das der Core Root Bridge ist und der MT Backup Root.
Mit "none" schaltest du STP auf dem MT komplett aus !! Nicht gut !! Das dient zur Loop Protection und sollte im RSTP Mode besser anbleiben wie im Default.
Niemals auf "STP" stellen sondern heutzutage nur noch RSTP !!
Die MC Adresse 239.255.255.250 nutzt ja auch TTL 4, also sollte PIM sie problemlos routen und du diese Announcements auch in allen anderen VLAN Segmenten sehen. Ist dem so ?
Findest du dort im Sonos Controller VLAN oder in dem Segment wo Lautsprecher Clients sind ggf. noch MC Adressen die ein Link Local MC sind also einen TTL von 1 haben ?
Hallo,
https://www.cisco.com/c/en/us/td/docs/ios/12_2/ip/configuration/guide/fi ...
Soweit ich das verstehe ist PIM ein Protokoll zur Verwendung zwischen Routern. Das klingt anders als Multicasts von einem Netz ins andere Routen.
Kenne mich aber mit Deinem Router nicht aus. Vielleicht muss man das Multicast routing aber anders aktivieren.
Grüße
lcer
https://www.cisco.com/c/en/us/td/docs/ios/12_2/ip/configuration/guide/fi ...
Soweit ich das verstehe ist PIM ein Protokoll zur Verwendung zwischen Routern. Das klingt anders als Multicasts von einem Netz ins andere Routen.
Kenne mich aber mit Deinem Router nicht aus. Vielleicht muss man das Multicast routing aber anders aktivieren.
Grüße
lcer
Es liegt auch nicht am NAT an sich. Sofern man das richtg konfiguriert gehts auch darüber. Das ist aber nicht trivial.
Vermutlich "lernt" ein neues System über mDNS oder andere Techniken die IPs des Steuergerätes oder der Satelliten um sie dann zu "verinnerlichen".
Das ist aber jetzt nur eine Vermutung. Dazu müsstest du mal den Wireshark anschmeissen und dir mal genau ansehen WAS die Komponenten da machen im Netz.
Mit einer entsprechenden Konfig im MT klappt das dann natürlich auch über Router Grenzen.
Vermutlich "lernt" ein neues System über mDNS oder andere Techniken die IPs des Steuergerätes oder der Satelliten um sie dann zu "verinnerlichen".
Das ist aber jetzt nur eine Vermutung. Dazu müsstest du mal den Wireshark anschmeissen und dir mal genau ansehen WAS die Komponenten da machen im Netz.
Mit einer entsprechenden Konfig im MT klappt das dann natürlich auch über Router Grenzen.
Probleme gibt es mit den UDP-Paketen in den "UDP-Regeln". Die bleiben immer auf "0". Das heißt, hier wird nix geroutet.
Du kannst aber sicher ausschliessen das das NICHT durch die Regel selber bedingt ist ?!Ggf. also mal alle Filterregeln deaktivieren. Für das Routing ist es generell egal ob TCP oder UDP. Solnage der TTL Wert im UDP nicht auf 1 steht ?!
Schalte ich jetzt aber diese NAT-Regel ab....
Exclude doch einfach mal die rein lokalen Netze vom Source NAT so das ausschliesslich NUR die Internet Verbindungen gesourceNATet werden NICHT aber die lokalen mit Zieladressen in den anderen VLANs.Das sollte doch dann die Lösung sein.
ich habe jetzt die NAT-Regel etwas modifiziert und plötzlich geht es!
Ein WinBox Screenshot wäre mal hilfreich, weil das das ganze Regelwerk zeigt Versteht jemand, warum das so ist?
Vermutlich....Das Interface "WAN" gibt es so nicht ! Diese Name bezieht sich auf eine Interface Liste.
Hier hat MT eine recht verschwurbelte Logik hinter die ich ehrlich gesagt auch noch nicht gestiegen bin. Besser ist es also auf Interface Listen Namen zu verzichten und richtige Interfaces dort anzugeben.
Ich hatte versucht eine Liste zu definieren um dort die Autodiscovery (CDP, LLDP, WinBox) abzuschalten. Sinnvoll wäre hier ja einen Listennamen zu definieren und dort physische Ports zuzufügen. Das geht aber nicht.
Der List Button in der Listen Generierung gaukelt das zwar vor, man kann aber keine dedizierten Interfaces wählen.
In der Listendefinition selber lassen sich dann auch nur Listennamen kombinieren.
Recht verwirrend das. Vielleicht erbarmt sich hier jemand das mal aufzuklären....
Aber gut wenns nun rennt wie es soll.
Die FW-Regeln? Oder was meinst Du?
Ja.an dem MDNS Request liegt, den der Mikrotik Router nicht verarbeiten kann
Was meinst du genau mit "verarbeiten" ??mDNS nutzt die Multicast IP 224.0.0.251 mit dem UDP Port 5353.
Die Besonderheit hier ist das die Multicast Adresse 224.0.0.251 eine sog. Link Local Multicast Adresse ist. Sie kann also NICHT über einen Router per Multicast PIM geroutet werden oder sowas, da diese Pakete eine feste TTL von 1 haben.
Fragt sich also was du da "verarbeiten" willst ?
Kein Router der Welt kann Link Local Multicast Adressen routen, das ist prinzipienbedingt ber Standard nicht möglich.
Was aber geht ist das einige Hersteller von Komponenten diese Resourcen selber announcen in anderen Segmenten. Quasi gaukeln diese Router oder oft sind es WLAN Accesspoints per mDNS Resourcen und ihre IP Adressen in Segmenten vor die da gar nicht sind. Heisst dann oft "Bonjour Dienst" oder "Bonjour Dateway".
Dem Client Dienst der das dann nutzt ist das ja egal weil der ja nur einzig die Ziel IP Adresse benötigt um dahin eine Verbindung zu initiieren, die dann stinknormal geroutet wird.
und schwierig für mich.
Was genau ist daran schwierig ?? Eigentlich ist das vom Protokoll her gesehen ganz logisch.Aber ich bin nicht ganz sicher, wie ich das mit dem Wireshark nachweisen kann.
Ans Segment anklemmen und mal checken wie die Komponenten sich verhalten wenn ein neuer Player angelernt werden soll. Dort muss ja irgendwas mit 224.0.0.251 gesendet werden.Wenn ja und du dir mit dem Wireshark mal das Paket ansiehst wirst du sehen das dort die TTL prinzipienbedingt auf 1 gesetzt ist, es also unroutebar ist und somit nicht in andere Segmente kommt.
https://www.iana.org/assignments/multicast-addresses/multicast-addresses ...
Hier findet ihr auch eine Lösung zum mDNS Repeating direkt auf einem MIkrotik Router
Mikrotik: mDNS Repeater als Docker-Container auf dem Router (ARM,ARM64,X86)
Grüße Uwe
Mikrotik: mDNS Repeater als Docker-Container auf dem Router (ARM,ARM64,X86)
Grüße Uwe