justas
Goto Top

PfSense, RTSP-Streaming im VLAN

Hallo Zusammen,

ich komme wieder mit meinem Halbwissen nicht weiter. Ziel: TV-Streaming von der Fritte soll im VLAN 10 laufen. Der Stream kommt per RTSP.

Avahi ist auf pfSense installiert, Multicast-Pakete von IoT Geräten in VLAN 40 kommen bei Home Assistant im VLAN 10 an, Home Assistant findet die Geräte.

IGMP Snooping ist im Switch für beide VLANs aktiviert.
IGMP-Proxy ist auf pfSense aktiviert. Als Upstream ist das WAN-Interface, als Downstream das VLAN10 gesetzt.

Bei WAN und VLAN 40 gibt es IP4 UDP-Regel zu 224.0.0.251:5353 für Multicast. Sonst habe ich bei Firewall-Regeln viel versucht und habe vermutlich einige, die keinen Sinn machen.

Mangels Verständnis der Zusammenhänge kriege ich die Konfig nicht zum Laufen.

Kann mir jemand sagen, was fehlt oder falsch ist? Inkl. FW-Regeln? Meine Wireshark-Kenntnisse sind ziemlich beschränkt.

rtsp_topologie

Content-Key: 7841552435

Url: https://administrator.de/contentid/7841552435

Printed on: July 24, 2024 at 15:07 o'clock

Member: UnbekannterNR1
UnbekannterNR1 Jul 14, 2023 updated at 06:49:26 (UTC)
Goto Top
Da fehlen noch ein paar infos und was Du schon alles getestet hast?

Internet funktioniert?
NAT auf PfSense aktiviert ?
Routen auf Fritzbox eingetragen ?
Stream direkt starten, mit VLC funktioniert?
Any Any Regel Probiert ?

Wären so die ersten Fragen, die mir einfallen.

Edit: TV direkt an der Fritzbox funktioniert überhaupt?
Member: justas
justas Jul 14, 2023 updated at 07:22:18 (UTC)
Goto Top
Zitat von @UnbekannterNR1:

Da fehlen noch ein paar infos und was Du schon alles getestet hast?

Internet funktioniert?
Ja.

NAT auf PfSense aktiviert ?
Ja.

Routen auf Fritzbox eingetragen ?
Nein, Routing macht pfSense. Die rtsp-Requests kommen aus dem VLAN10 zu FritzBox.

Stream direkt starten, mit VLC funktioniert?
Direkt an der Fritte funkioniert ohne Probleme.

Any Any Regel Probiert ?
In VLANs ja.
Von WAN zu VLAN10 ist IP4 * erlaubt.


Wären so die ersten Fragen, die mir einfallen.

Edit: TV direkt an der Fritzbox funktioniert überhaupt?
Ja.
Member: aqui
aqui Jul 14, 2023 updated at 07:44:22 (UTC)
Goto Top
IGMP Snooping ist im Switch für beide VLANs aktiviert.
Auch auf Version 3? Bedenke das die meisten IP TV Provider IGMPv3 erzwingen weil sie SSM Multicast nutzen was standardmäßig v3 erfordert. Stelle also sicher das dein Snooping zwingend v3 nutzt!
Bei WAN und VLAN 40 gibt es IP4 UDP-Regel zu 224.0.0.251:5353 für Multicast.
Ist bezogen auf IP-TV aus 2 Gründen völlig sinnfrei:
  • Es hat mit IP-TV gar nichts zu tun, denn das ist die Multicast IP Adresse und UDP Port für mDNS/Bonjour.
  • 224.0.0.251 ist eine sog. Link Local Multicast Adresse mit einem TTL von 1. Sie damit unroutebar und nur im lokalen Layer 2 Segment relevant.
Folglich ist diese ziemlich sinnfrei weil sie nie greift. mDNS kann man auf der pfSense/OPNsense nur mit dem AVAHI Plugin in andere IP Segmente übertragen. Siehe zu dem Thema auch hier.
Von WAN zu VLAN10 ist IP4 * erlaubt.
Die Regel ist ebenso völlig unsinnig und auch kontraproduktiv weil die so gar nicht greifen kann. Es gibt ja niemals eingehenden IP Traffic von extern der das VLAN 10 als Zieladresse hat. Wenn doch hat die davor kaskadierte FB ein Riesenproblem!
Zudem rennt ja (wahrscheinlich) auch noch NAT auf dem Firewall WAN Port, so das ein direktes Routing von WAN aufs VLAN 10 Segmente technisch gar nicht möglich ist ohne ein Port Forwarding.
Auf der pfSense arbeitet ja der IGMP Proxy via WAN IP Adresse und es muss eine Regel geben die IGMP und UDP zum Zielnetnetz 224.0.0.0/4 zulässt, was der gesamte Multicast Adressbereich ist!
Das in einem Kaskaden Setup am WAN die RFC 1918 IP Netze nicht geblockt sein dürfen (Haken entfernen am WAN Port bei RFC 1918!) sollte ebenfalls klar sein.

Mangels Verständnis der Zusammenhänge kriege ich die Konfig nicht zum Laufen.
Das sollte dir ggf. helfen:
https://www.heise.de/ct/artikel/MagentaTV-auf-pfSense-Co-4698826.html
Magenta TV hinter pfSense und Cisco c3560cx

Sofern du Magenta TV nutzt oder auch andere IP-TV Anbieter auf Multicast Basis kannst du dir das immer auch auf jedem PC, Smartphone oder Tablet mit dem Klassiker VLC ansehen.
Die Multicast Adressen dazu findest du hier:
https://iptv.blog/artikel/multicastadressliste/
Ein PC oder Laptop mit VLC ist dann eine sehr gute Troubleshooting Option indem du VORHER einen Wireshark Sniffer startest und dann den VLC Client auf einen der Multicast IP-TV Streams öffnest.
Damit "siehst" du dann den gesamten Verbindungsaufbau und kannst sofort erkennen wo hier ein Fehler vorliegt.
Gleiches geht auch wenn man z.B. den Port einer angeschlossenen Setopbox mit dem Wireshark mitsniffert.
Weitere Multicast Testoptionen findest du auch HIER.
Member: justas
justas Jul 14, 2023 at 07:39:10 (UTC)
Goto Top
Zitat von @aqui:

IGMP Snooping ist im Switch für beide VLANs aktiviert.
Auch auf Version 3? Bedenke das die meisten IP TV Provider IGMPv3 erzwingen weil sie SSM Multicast nutzen was standardmäßig v3 erfordert. Stelle also sicher das dein Snooping zwingend v3 nutzt!
Dieses Setting habe ich nicht entdeckt. Ich kann IGMP Snooping aktivieren oder nicht.

Bei mir kommt der Stream nicht per IP vom Provider, sondern per TV-Kabel und wird von der FB gestreamt. Kann der Provider IGMPv3 erzwingen?

Gelten Deine Empfehlungen auch für rtsp?

Danke!
Member: aqui
aqui Jul 14, 2023 updated at 08:02:41 (UTC)
Goto Top
Dieses Setting habe ich nicht entdeckt. Ich kann IGMP Snooping aktivieren oder nicht.
Das ist schlecht aber typisch für den Ubiquity Schrott. face-sad
Dennoch musst du sicherstellen das dein IGMP Snooping dort mit Version 3 rennt. Tut es das nicht scheitern so gut wie alle Multicast basierenden IP-TV Anbieter, weil die in der Regel für IP-TV allesamt SSM Multicast nutzen was damit die IGMP Ver.3 erzwingt. Sende ein Support Email an die Hotline und erfrage das.
Alternativ musst du IGMP völlig deaktivieren auf dem Switch, was dann aber gravierende Nachteile hat, weil der Switch dann Multicast Streams auf alle Ports fluten muss was in CPU passiert und solchen Billigswitches dann meistens das Genick bricht.
sondern per TV-Kabel und wird von der FB gestreamt.
Ahhhh, OK. Dann vergiss ALLES was oben steht. Das hat allesamt dann nichts mehr mit klassischem Multicast IP-TV zu tun und ist ein Verfahren was AVM intern nutzt.
Die Box hat ja einen internen Kabeltuner und streamt dann selber die TV Daten per Sat-IP Standard!
https://www.heise.de/tipps-tricks/Fernsehen-ueber-die-Fritzbox-schauen-d ...
Da müsstest du erstmal die von der FritzBox erzeugte m3u Datei ansehen ob diese überhaupt Multicast nutzt oder es ein direktes Streaming via Unicast ist. Bei Unicast ist dann natürlich auch IGMP obsolet.
Das Magenta Setup von Heise wird dir dann auch nix nützen, da das dann ein ganz anderes Verfahren ist. AVM nutzt den Sat-IP Standard um die Daten zu verbreiten!
https://www.heise.de/ratgeber/FritzOS-7-Kabelfernsehen-per-WLAN-schauen- ...
Details zur Sat-IP Übertragung via LAN und WLAN auch hier:
https://www.heise.de/ratgeber/Fuer-den-Wohnwagen-Sat-Fernsehen-ueber-WLA ...
Member: justas
justas Jul 14, 2023 at 08:11:41 (UTC)
Goto Top
Zitat von @aqui:
Da müsstest du erstmal die von der FritzBox erzeugte m3u Datei ansehen ob diese überhaupt Multicast nutzt oder es ein direktes Streaming via Unicast ist. Bei Unicast ist dann natürlich auch IGMP obsolet.

Die .m3u-Datei hat den Inhalt (das ist nur Teil):
#EXTINF:0,Das Erste HD
#EXTVLCOPT:network-caching=1000
rtsp:192.168.11.1:554/?avm=1&freq=330&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,5...
#EXTINF:0,ZDF HD
#EXTVLCOPT:network-caching=1000
rtsp:
192.168.11.1:554/?avm=1&freq=450&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,...

Wie bekomme ich diesen Stream ins VLAN?
Member: UnbekannterNR1
UnbekannterNR1 Jul 14, 2023 at 08:27:12 (UTC)
Goto Top
Wenn DU im VLAN die Adresse
rtsp:192.168.11.1:554/?avm=1&freq=330&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,5...
mit VLC öffnest geht das?

Firtz Boxen benutzen zum Streamen immer Unicast soweit ich weiß. Nur zum finden der Box wird multicast verwendet, was in deinemn NAT Setup zum Problem wird.

Der Unicast Stream sollte sich durch die Default Lan to Internet Regel bereits öffnen Lassen.
Wichtig ist aber, wie @aqui bereits schreibt, dass am WAN Interface der Haken "Block private Networks" nicht gesetzt ist.

Bei VLANs gibt es ja keine Default-Regeln von daher muss es natürlich eine geben die NETVLAN zu WAN Net oder ANY erlaubt mit Port 554 am besten TCP/UDP.
Member: justas
justas Jul 14, 2023 at 08:50:27 (UTC)
Goto Top
Zitat von @UnbekannterNR1:

Wenn DU im VLAN die Adresse
rtsp:192.168.11.1:554/?avm=1&freq=330&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,5...
mit VLC öffnest geht das?
Leider Nein.

Wichtig ist aber, wie @aqui bereits schreibt, dass am WAN Interface der Haken "Block private Networks" nicht gesetzt ist.
Ist korrekt. Ich kann von VLAN10 auf das Web-UI der FB zugreifen.


Bei VLANs gibt es ja keine Default-Regeln von daher muss es natürlich eine geben die NETVLAN zu WAN Net oder ANY erlaubt mit Port 554 am besten TCP/UDP.
Aktuell ist IP4 * von VLAN10 zu WAN erlaubt.
Member: UnbekannterNR1
UnbekannterNR1 Jul 14, 2023 at 09:56:47 (UTC)
Goto Top
Oha, jetzt wird es intressant...

Vielleicht ein Fehler in den NAT Regeln? Automatisch erstellt oder manuell? Screenshot?
Ggf. noch eine Floatingregel oder Interface Gruppen Regel die das ggf. blockt?

Weitere Schritte sind danach, Firewall Log prüfen ober was geblockt wurde und danach in den States schauen bei Verbindungsaufbau.
Unter Diagnostics -> States und mal nach :554 filtern während des Verbindungsaufbaues. Dort kann man sehen ob Daten fließen ob NAT richtig angewendet wurde etc.
Member: justas
justas Jul 14, 2023 updated at 15:58:23 (UTC)
Goto Top
Zitat von @UnbekannterNR1:
Outbound NAT ist auf manuell, weil ich zwei VPN-Verbindungen habe und z.T. diese verwende.
Bin mir sicher, dass es nicht an NAT liegt.

Floating Regeln gibt es nur von pfBlockerNG. Diesen habe ich ausgeschaltet, es hat nichts gebracht.

Weitere Schritte sind danach, Firewall Log prüfen ober was geblockt wurde und danach in den States schauen bei Verbindungsaufbau.
Die Firewall lässt es durch:
fw554

Unter Diagnostics -> States und mal nach :554 filtern während des Verbindungsaufbaues. Dort kann man sehen ob Daten fließen ob NAT richtig angewendet wurde etc.
States is im Wartezustand:
states554

Sagt es etwas aus?
Member: UnbekannterNR1
Solution UnbekannterNR1 Jul 14, 2023 at 16:00:28 (UTC)
Goto Top
Jap in den States sieht man das NAT nicht angewendet wird. Müsste so aussehen:

WAN IP ( LAN bzwVLAN IP) -> Fritzbox IP siehe auch Bild.

Ich schätze auf einen Fehler in den Outboundregel. Wahrscheinlich auf Services begrenzt und nicht auf any gestellt.
screenshot 2023-07-14 175744
Member: justas
Solution justas Jul 14, 2023 updated at 21:37:08 (UTC)
Goto Top
Zitat von @UnbekannterNR1:

Jap in den States sieht man das NAT nicht angewendet wird. Müsste so aussehen:

WAN IP ( LAN bzwVLAN IP) -> Fritzbox IP siehe auch Bild.

Ich schätze auf einen Fehler in den Outboundregel. Wahrscheinlich auf Services begrenzt und nicht auf any gestellt.

Danke! Mit Deiner Hilfe und weiterer Quelle funktioniert es jetzt!

Zitat von @elv:
An die Fritz wird über rstp (554) der Steuerkanal geöffnet. Damit wird der Rückkanal ausgehandelt (client-port). Da die pfSense dieses Protokoll nicht berücksichtigt wird keine FW-Regel für den Rückkanal (TV Stream) erstellt. Man könnte nun ein paar tausend Ports von der Fritz zurück zum LAN öffnen/natten (Quelle Fritz, Quellports: 5000/5001, 5002/5003, 5004/5005, 5006/5007 (paarweise pro Client bzw Tuner), Zielports 10000-...) was aber *** ist und max. für einen Client klappt.

Lösung:
Outbound NAT von VLAN zur FritzBox :554, 5000-5007 und statische Route zu VLAN auf der FritzBox
Port Forward ist nicht notwendig.

Danke auch an @aqui, mit dessen Hilfe ich immer wieder etwas Neues lerne und meine pfSense-Konfig optimiere.

Ich habe zu lange mit Multicast / IGMP Proxy / Avahi etc. rumgetan, da die meisten Suchregebnisse diese Antworten bringen.