Hallo zusammen,
ich habe mein Netzwerk zu Hause angepasst und stolpere leider über ein sehr nerviges Problem bezgl mDNS und hoffe ihr könnt mir auf die Sprünge helfen.
Ich habe einen Raspberry im Netzwerk der mittels Raspotify als "Spotify-Connect" Lautsprecher Musik abspielen soll. Gesteuert wird das Ganze über die Spotify-App die entweder auf dem Smartphone oder auf dem Notebook läuft. Alle Geräte befinden sich in unterschiedlcihen vlans. Spotify benötigt mDNS um den Lautsprecher zu finden. Leider funktioniert das nur vom Notebook aus und nicht vom Smartphone. Ich bin mittlerweile etwas hilflos...
Das schönste Phänomen ist allerdings das folgende:
Auf mich macht es also den Eindruck als kämen die mDNS-Anfragen aus dem WLAN-Netz nicht beim Raspberry an. Sobald das Notebook jedoch seine Anfrage losschickt bekommt das auch das Smartphone mit. Aber evtl liege ich auch völlig daneben.
Sobald ich das Notebook in das WLAN hänge findet es den Lautsprecher auch nicht mehr.
Folgend eine schematische Darstellung des Netzwerks.
Auch an den Firewall-Regeln auf der OpnSense könnte ich nun nicht erkennen wo da Problem liegen sollte:
Für das Lautsprecher-Netz
Für das Trusted-Netz
Für das WLAN-Netz
Vielleicht kann mir jemand einen Tipp geben warum das über das WLAN nicht funktioniert. Vielen Dank!
ich habe mein Netzwerk zu Hause angepasst und stolpere leider über ein sehr nerviges Problem bezgl mDNS und hoffe ihr könnt mir auf die Sprünge helfen.
Ich habe einen Raspberry im Netzwerk der mittels Raspotify als "Spotify-Connect" Lautsprecher Musik abspielen soll. Gesteuert wird das Ganze über die Spotify-App die entweder auf dem Smartphone oder auf dem Notebook läuft. Alle Geräte befinden sich in unterschiedlcihen vlans. Spotify benötigt mDNS um den Lautsprecher zu finden. Leider funktioniert das nur vom Notebook aus und nicht vom Smartphone. Ich bin mittlerweile etwas hilflos...
Das schönste Phänomen ist allerdings das folgende:
- Der Rasperry ist gebootet
- Ich starte die App auf dem Handy
- Der Raspberry wird nicht gefunden (ich kann warten bis St. Nimmerlein)
- Ich starte die Spotify-App auf dem Notebook
- Der Raspberry erscheint sofort als Lautsprecher auf dem Notebook und auf dem Smartphone
Auf mich macht es also den Eindruck als kämen die mDNS-Anfragen aus dem WLAN-Netz nicht beim Raspberry an. Sobald das Notebook jedoch seine Anfrage losschickt bekommt das auch das Smartphone mit. Aber evtl liege ich auch völlig daneben.
Sobald ich das Notebook in das WLAN hänge findet es den Lautsprecher auch nicht mehr.
Folgend eine schematische Darstellung des Netzwerks.
- 3 vlans
- vlan10: vertrauenswürdige Geräte die per Ethernet verbunden sind (mein Notebook)
- vlan50: vertrauenswürdige Geräte die per WLAN verbunden sind (mein Smartphone)
- vlan70: Lautsprecher. Hier ist der Raspotify verortet
- Die vlans werden durch eine OpnSense verbunden
- Spotify benötigt mDNS zum Discovery der Lautsprecher (224.0.0.251:5353)
- Auf der OpnSense ist das Plugin UDP Boradcast Relay konfiguriert um die mDNS-Pakete in die anderen Netze zu befördern.
- Alle drei vlans sind eingetragen
- Wie man am Notebook sieht scheint das ja auch grundsätzlich zu funktionieren
- Smartphone ist ein Android
- Notebook ist ein Linux mir Spotify-Linux-App
- Raspotify ist ein Raspbian
- WLAN AP ist ein Mikrotik, nachdem ich dachte, dass ich zu blöd bin das Ding zu konfigurieren habe ich es jedoch auch mit einem alten TP-Link mit OpenWRT versucht mit identischem Ergebnis.
Auch an den Firewall-Regeln auf der OpnSense könnte ich nun nicht erkennen wo da Problem liegen sollte:
Für das Lautsprecher-Netz
Code:
pass in quick on lagg0_vlan70 inet proto udp from (lagg0_vlan70:network) to 239.255.255.250 port = 1900 keep state
pass in quick on lagg0_vlan70 inet proto udp from (lagg0_vlan70:network) to 224.0.0.251 port = mdns keep state
pass in quick on lagg0_vlan70 inet proto tcp from (lagg0_vlan70:network) to <InterneDNS> port = domain flags S/SA keep state
pass in quick on lagg0_vlan70 inet proto udp from (lagg0_vlan70:network) to <InterneDNS> port = domain keep state
block drop in quick on lagg0_vlan70 inet from any to <InternetRouter>
block drop in quick on lagg0_vlan70 inet from any to (self)
pass in quick on lagg0_vlan70 route-to (igb0 192.168.1.1) inet from (lagg0_vlan70:network) to any flags S/SA keep state
Für das Trusted-Netz
Code:
pass in quick on lagg0_vlan10 inet proto icmp from (lagg0_vlan10:network) to any keep state
pass in quick on lagg0_vlan10 inet proto tcp from any to <InterneDNS> port = domain flags S/SA keep state
pass in quick on lagg0_vlan10 inet proto udp from any to <InterneDNS> port = domain keep state
pass in quick on lagg0_vlan10 inet proto tcp from (lagg0_vlan10:network) to (lagg0_vlan70:network) port = lupa flags S/SA keep state
pass in quick on lagg0_vlan10 inet proto tcp from (lagg0_vlan10:network) to (lagg0_vlan70:network) port = 60006 flags S/SA keep state
pass in quick on lagg0_vlan10 inet proto tcp from (lagg0_vlan10:network) to (lagg0_vlan70:network) port = http flags S/SA keep state
pass in quick on lagg0_vlan10 inet proto udp from (lagg0_vlan10:network) to 224.0.0.251 port = mdns keep state
pass in quick on lagg0_vlan10 inet proto udp from (lagg0_vlan10:network) to 239.255.255.250 port = 1900 keep state
pass in quick on lagg0_vlan10 inet proto tcp from (lagg0_vlan10:network) to (lagg0_vlan70:network) port = ssh flags S/SA keep state
block drop in quick on lagg0_vlan10 inet from any to (self)
block drop in quick on lagg0_vlan10 inet from any to <InternetRouter>
pass in quick on lagg0_vlan10 route-to (igb0 192.168.1.1) inet from (lagg0_vlan10:network) to any flags S/SA keep state
Für das WLAN-Netz
Code:
pass in quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to <InterneDNS> port = domain flags S/SA keep state
pass in quick on lagg0_vlan50 inet proto udp from (lagg0_vlan50:network) to <InterneDNS> port = domain keep state
pass in quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to (lagg0_vlan70:network) port = lupa flags S/SA keep state
pass in log quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to (lagg0_vlan70:network) port = 60006 flags S/SA keep state
pass in log quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to (lagg0_vlan70:network) port = http flags S/SA keep state
pass in log quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to (lagg0_vlan70:network) port = rtsp flags S/SA keep state
pass in log quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to (lagg0_vlan70:network) port 49152:49154 flags S/SA keep state
pass in quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to 224.0.0.251 port = mdns flags S/SA keep state
pass in quick on lagg0_vlan50 inet proto tcp from (lagg0_vlan50:network) to 239.255.255.250 port = 1900 flags S/SA keep state
block drop in quick on lagg0_vlan50 inet from any to <InternetRouter>
block drop in quick on lagg0_vlan50 inet from any to (self)
pass in quick on lagg0_vlan50 route-to (igb0 192.168.1.1) inet from (lagg0_vlan50:network) to any flags S/SA keep state
Vielleicht kann mir jemand einen Tipp geben warum das über das WLAN nicht funktioniert. Vielen Dank!
Zuletzt bearbeitet: