PfSense 2.3 mit Telekom Entertain
-
Nehme gerne Feedback dazu ;)
Hallo, habe mir heute Zeit genommen und eine Entwicklungsumgebung unter FreeBSD 10.3 aufgesetzt, deinen Port heruntergeladen und
kompiliert. Soweit in Ordnung.Das ganze dann auf einer pfSense 2.3.1 konfiguriert und ausgeführt. War ein kurzes Vergnügen ;)
[2.3.1-RELEASE][root@router]/root: ./mcproxy -d
ERROR: failed to add VIF! Error: Can't assign requested address errno: 49
ERROR: failed to add VIF! Error: Can't assign requested address errno: 49
ERROR: failed to set source filter! Error: Invalid argument errno: 22
ERROR: failed to subscribe multicast router groups
Abort (core dumped)…
Irgend eine Idee?
Hi, ich sehe mit mcproxy dasselbe Verhalten, ich würde vermuten, das
die Interface-Erkennung nicht sauber funktioniert - dies Problem ist ja auch im igmpproxy (Bug 6099) vorhanden.
Ggf. müssten man die Codestrecke für die Erkennung aus dem gepatchten igmpproxy in den mcproxy überführen - wobei dann sicherlich allerlei anderes kaputt geht :DÄhnlich aber nicht dasselbe!
Der Fehler rührt daher, dass mcproxy Linux-Eigenheiten nutzt, die es unter FreeBSD nicht gibt.
Das zu adaptieren ist sicherlich aufwendiger als die includes sauber nach OS zu trennen, daher an der Stelle erstmal kein Fortkommen (es sei den jemand möchte das gerne übernehmen, nachdem der erste Schritt schon getan ist ;))
-
Hallo zusammen,
ich habe mir vor ungefähr zwei Wochen eine APU besorgt um zu Hause eine Fritzbox abzulösen. Bei meiner vorhergehenden Recherche hatte ich leider nicht das Problem mit igmpproxy und EntertainTV (Plus) auf dem Radar.
Ich habe meine Informationen zur aktuellen Situation hauptsächlich aus folgenden Quellen zusammengetragen:- Beitrag: pfSense 2.3 mit Telekom Entertain
- Report: #6099
- Blogeintrag: Telekom IPTV mit pfSense
Könntet ihr mir bitte zum Verständnis folgende Erkenntnisse verifizieren? (Entertain (v1.0) = E1, EntertainTV (Plus) (v2.0) = E2)
- Probleme mit igmpproxy
+ bestehen nur in pfSense 2.3.
+ betreffen E1 und E2 gleichermaßen. - E1
+ benötigt IGMPv2 für das Downstream Interface (LAN).
+ funktioniert mit der im Report modifizierten Version von igmpproxy. - E2 benötigt IGMPv3 mit SSM (Source Specific Multicast) für das Downstream Interface (LAN).
- igmpproxy beherrscht
+ Upstream (WAN) IGMPv{2,3}.
+ Downstream (LAN) nur IGMPv2. - Es ist ungewiss, ob igmpproxy IGMPv3 im Downstream unterstützen kann/wird.
- Es existiert derzeit keine geeignete Alternative zu igmpproxy.
- Es ist nicht bekannt welche Komponente AVM oder Telekom in der Rolle des igmpproxy benutzen.
- Außer Speedport und Fritzbox Routern funktioniert kein anderer Router mit E2.
- BNG (Broadband Network Gateway)
+ löst die Einwahl zum Provider per PPPoE ab.
+ der Telekom stellt Multicast und regulären Traffic über VLAN7 bereit.
+ kann bei der Telekom vom Kunden deaktiviert werden um stattdessen PPPoE (VLAN{7,8}) zu nutzen.
Bekannte IGMP proxy Implementierungen:
Versuch einer IGMPv3 Implementierung:
Bis denn
-
Du hast Dir eine Menge Mühe gemacht das mal zusammenzufassen, das finde ich prima.
Ein paar Anmerkungen:
Statt "setzt auf IGMPv2 im Downstream" würde ich eher formulieren, daß Entertain IGMPv2 benötigt, EntertainTV jedoch IGMPv3 mit SSM (source specific Multicast).
Der IGMPproxy kann nicht IGMPv3, daher ist er nicht für EntertainTV geeignet. Dazu gibt es offenbar aktuell auch keine Alternative.
Der Bug #6099 scheint nur bei einer großen Zahl konfigurierter Interfaces relevant sein. Auch mit 2.3 läuft Entertain bei einigen Leuten.
-
Ich habe deine Vorschläge in meinen Beitrag einfließen lassen. Wie sieht es mit den anderen Punkten der Liste aus, liege ich damit richtig?
Der IGMPproxy kann nicht IGMPv3, daher ist er nicht für EntertainTV geeignet. Dazu gibt es offenbar aktuell auch keine Alternative.
Ok, aber habe ich es richtig verstanden, dass igmpproxy zwar IGMPv3 für das Upstream Interface aber nicht für das Downstream Interface unterstützt, was letzten Endes dazu führt, dass E2 nicht funktioniert?
Der Bug #6099 scheint nur bei einer großen Zahl konfigurierter Interfaces relevant sein.
D.h.?
Auch mit 2.3 läuft Entertain bei einigen Leuten.
Dann aber nur E1 und nicht E2, oder?
-
@yay:
Der IGMPproxy kann nicht IGMPv3, daher ist er nicht für EntertainTV geeignet. Dazu gibt es offenbar aktuell auch keine Alternative.
Ok, aber habe ich es richtig verstanden, dass igmpproxy zwar IGMPv3 für das Upstream Interface aber nicht für das Downstream Interface unterstützt, was letzten Endes dazu führt, dass E2 nicht funktioniert?
Ist letztlich wurscht. Hintergrund für das Durcheinander: Der IGMPproxy erzeugt teilweise IGMPv2-Nachrichten direkt selbst (im Downstream) und teilweise mittelbar durch das OS (im Upstream). Letzteres kann je nach OS und Konfiguration auch noch unterschiedlich ausfallen. Was fehlt ist die Implementierung des Source Specific Multicast. Ohne das SSM wird Multicast-Traffic nur durch die Zieladresse unterschieden, mit SSM auch anhand der Absenderadresse. Der IGMPproxy kriegt schon gar nicht mit, wenn ein Client einen Multicast-Traffic nur von einer bestimmten Quelle abonniert und reicht das an den Upstream nicht durch.
Das fehlende SSM sorgt vermutlich dafür, daß EntertainTV nicht funktioniert. Ganz sicher ist das nicht, aber es ist scheinbar der einzige Unterschied.
Die Senderlisten unterscheiden sich bei Entertain und EntertainTV auch in der Angabe der Adressen:
ARD bei Entertain: rtp://@239.35.10.4:10000
ARD bei EntertainTV: rtp://87.141.215.251@232.0.20.35:10000Abgesehen davon gibt es bei EntertainTV diverse Kanäle, die gar nicht mehr per Multicast kommen, nur per Unicast. Da ist der IGMPproxy dann komplett außen vor.
@yay:
Der Bug #6099 scheint nur bei einer großen Zahl konfigurierter Interfaces relevant sein.
D.h.?
Ein Teil der Diskussion in dem Bug hat sich um die Zahl (und auch Benennung bei VLANs) von Interfaces gedreht. Genau habe ich das aber nicht mehr im Kopf.
@yay:
Auch mit 2.3 läuft Entertain bei einigen Leuten.
Dann aber nur E1 und nicht E2, oder?
Ja genau.
-
Könnte denn ein Switch nach der pfSense Box den Job des igmpproxy übernehmen, sofern dieser manged wäre und IGMP Snooping unterstützt?
-
Nein, der Proxy muss zwischen WAN und LAN sitzen
-
Korrekt. Begründung dafür: Das Switch leitet nur Frames weiter, aber er erzeugt nicht selbst welche. Das muß ein Proxy aber tun, z.B. membership queries aus dem WAN beantworten und selbst membership queries erzeugen.
-
@kdk:
Ich für meinen Teil habe jetzt eine Überganslösung gefunden: ich habe eine Bridge zwischen Interface vlan8 und dem Mediareceiver Interface eingerichtet und den igmpporxy Dienst ausgeschaltet. Dann funktioniert es auch mit dem neuen Entertain und mann kann auch schön im Trace die igmpv3 Meldungen mit SSM sehen.
@kdk
Darf ich fragen wie Du das konfiguriert hast?EDIT:
Hier gelöst: https://forum.pfsense.org/index.php?topic=114045.msg634399#msg634399 -
@yay:
[…]
Bekannte IGMP proxy Implementierungen:Versuch einer IGMPv3 Implementierung:
Hier noch einige:
und es gibt noch ein paar mehr, die ich gerade nicht finde ;-)
Die meisten sind jedoch für Linux geschrieben, und deshalb ist es schwierig, sie unter FreeBSD zum Laufen zu bringen, weil es im Netzwerkbereich doch ganz ordentliche Unterscheide zwischen den Systemen gibt…
-
Sorry für das Rauschen, aber was für eine IP Adresse wird denn normalerweise auf VLAN8 zugewiesen? Meine liegt derzeit in einem Klasse A/privat (10.0.0.0.) Bereich. Ist das normal?
-
ja ist normal
-
[..]
Ich habe zwar noch pfSense 2.2.6, aber ich werde Entertain 2.0 nicht ordern. (Soweit ich verstanden habe, kann ich das nur mit einem MediaReceiver nutzen. Ich verwende aber gar keinen MR mehr und einen neuen will ich schon gar nicht anschaffen.) Daher kann ich das also nicht testen.Vielleicht könntest Du Dein Setup mal erklären. Hätte Interesse an einen Nachbau ;-)
-
Hallo zusammen,
da wir bei einem Kunden aktuell vor genau diesem Problem stehen würde ich gern nochmal den momentanen Stand der Diskussion zu Entertain + PFSense + IGMP Proxy zusammenfassen. Bitte um Korrektur, falls ich hier nun Falschaussagen treffe:
- Entertain gibt es in einer "alten" und "neuen" Variante
- die "neue" Variante wird meist an 100mbit Anschlüssen geschaltet (wie wir bei dem Kunden haben)
- diese "neue" Variante ist nicht kompatibel mit PFSense 2.3.2, da der igmp proxy das dazu notwendige IGMPv3 im Downstream nicht beherrscht
FAZIT: Es gibt momentan keine Möglichkeit, das "neue" Entertain hinter einer PFSense (ohne hacks / selberpatchen) zum Laufen zu bringen
Korrekt?
-
Nö, gibt es nicht. Ich vermute dein Kunde hat schon einen BNG Anschluss bei dem es kein Vlan 8 mehr gibt. Sonst würde es noch mit einer Bridge ohne igmpproxy funktionieren.
So wie die Roadmap aussieht und ich mir die anderen in Frage kommenden Firewalls/Router angeschaut habe, wird sich daran auch so schnell nix ändern, ausser jemand kommt an den Quellcode der Speedports der Telekom, dort funktioniert es ja und die laufen mit Linux.(Glaube die A-Versionen sind alle Huawei)
-
Hallo,
ich habe das gleiche Problem an einem VDSL50/10-Anschluss mit einer pfsense 2.3.4 hinter einer FB7490.
Hinter der pfsense werden igmpv3-Pakete erzeugt, diese aber von der pfsense nicht upstream (Richtung FB7490) weitergeleitet.
Ein Bekannter hat die gleiche Konstellation mit einer Linux Shorewall FW und igmpproxy - dort läuft das ganze. Ich frage mal an, ob dort igmpv3 vom igmpproxy im downstream verarbeitet wird.
Nachtrag: nö, unter Linux läuft auch nur igmpv2 auf dem igmpproxy. Das ganze funktioniert nur mit einem MediaReceiver downstream, weil der igmpv2 spricht.
Nachtrag2: habe auf meinem Linux-Client in /etc/sysctl.conf die folgenden zwei Einträge eingetragen:
net.ipv4.conf.all.force_igmp_version = 2
net.ipv4.conf.default.force_igmp_version = 2VLC läuft jetzt mit igmpv2 über igmpproxy auf pfsense.
-
Hallo,
Nachtrag: nö, unter Linux läuft auch nur igmpv2 auf dem igmpproxy. Das ganze funktioniert nur mit einem MediaReceiver downstream, weil der igmpv2 spricht.
Nachtrag2: habe auf meinem Linux-Client in /etc/sysctl.conf die folgenden zwei Einträge eingetragen:
net.ipv4.conf.all.force_igmp_version = 2
net.ipv4.conf.default.force_igmp_version = 2VLC läuft jetzt mit igmpv2 über igmpproxy auf pfsense.
Unter Ipfire benutze ich mcproxy und habe keinerlei Probleme, weder bei igmpv2, noch bei igmpv3. Mein MR400 und TVHeadend sind vollkommen zufrieden.
Das sieht bei der Pfsense leider weiterhin anders aus. Pimd fällt als Lösung für mich aus, da ich der Meinung bin, dass Pimd überhaupt nicht als Proxy konfiguriert werden kann, beziehungsweise überhaupt nicht dafür gedacht war. Sehr schade, weil es relativ einfach gebaut werden kann. Kenn jemand zufällig noch andere igmpv3-fähige Proxys, welche explizit für BSD geeignet sind?Ich habe noch https://github.com/Esdenera/mcast-proxy gefunden, scheitere aber an einer fehlerhaften Kompilierung.
Viele Grüße
-
Unter 2.4.x funktioniert das ganze doch schon seit einige Zeit wieder.
Achtung, 2.4.1 hat einen anderen Bug und funktioniert mit der Telekom nicht
-
Unter 2.4.x funktioniert das ganze doch schon seit einige Zeit wieder.
Achtung, 2.4.1 hat einen anderen Bug und funktioniert mit der Telekom nicht
Ich habe 2.4.2, aber absolut die gleichen Symptome. MR400 verrent sich in Artefakten und stottert und VLC, respektive THheadend brechen einmal pro Minute ab.
Sollte es bei dir funktionieren, wäre ein Lösungsweg sehr interessant.
Ich danke dir.
Grüße
Cyklops66
-
Hier laufen 4 Receiver in HD Parallel.
Stottern war nie ein Thema der Version 2.3
was du beschreibst hört sich eher nach Netzwerküberlast im LAN an, evtl durch nicht IGMP konforme aktive Netzkomponenten. möglicherweise wird das Netz mit Multicast geflutet.