UDM-Pro IPTV mit MagentaTV (Fiber / FTTH)

während in den USA in der Regel IPTV Plattformen eher auf Technologien wie ABR Unicast setzen, haben wir in der EU meist Multicast (IGMPv3) im Einsatz. Im Zusammenhang mit UBNT Hardware hieß es lange Zeit, dass man auf die Unifi Security Gateway Serie oder die Edge Serie zurückgreifen musste. Auch neuere Switche unterstützen häufig kein IGMP Snooping mehr oder dessen Implementierung ist fehlerhaft wie ihr einem anderen Beitrag von mir entnehmen könnt (Link). Auf diversen Seiten findet man seit geraumer Zeit allerdings Kommentare und Schnipsel wie solch‘ eine Konfiguration mit einer UDM-Pro IPTV mit MagentaTV funktionieren kann. Vor der Firmware Version 1.11 war dafür zusätzlich noch ein Custom Kernel notwendig, um überhaupt die Unterstützung von Unicast im Hostsystem herzustellen. Seit Version 1.11 wird dies Kernelseitig unterstützt, sodass wir lediglich den igmpproxy installieren und konfigurieren müssen. Hierfür habe ich für UDM-Pro IPTV mit MagentaTV die notwendigen Schritte versucht zusammenzufassen.

On Boot Script Installieren

Um sicherzustellen, dass die Konfiguration mit jedem Neustart wiederhergestellt wird, ist die bekannte Erweiterung ‚On Boot Script‘ hilfreich. Unter folgendem Link findet ihr das Tool und die Dokumentation des Entwicklers.

https://github.com/unifi-utilities/unifios-utilities/blob/main/on-boot-script/

Die Installation führen wir per SSH auf der UDM aus. Dafür muss der SSH Zugriff aktiviert und das root Passwort festgelegt worden sein. Dieser Schritt ist auch ohne den Wechsel in die unifi-os shell möglich, aber da wir dort ohnehin rein müssen, um die weiteren Schritte auszuführen, empfehle ich die Installation von dort.

unifi-os shell
curl -L https://udm-boot.boostchicken.dev -o udm-boot_1.0.5_all.deb
dpkg -i udm-boot_1.0.5_all.deb

Nach dem Wechsel in die unifi-os shell führen wir mittels ‚curl‘ den Download aus. Anschließend wird das herungeladene Paket mit ‚dpkg‘ installiert.

Installation und Konfiguration des IGMP Proxy auf einer UDM-Pro IPTV mit MagentaTV

Als erstes möchte ich euch auch hier auf den Link des Entwicklers verweisen, wo der Code, die Dokumentation und die Community zu finden ist, in der man unter anderem auch die hier gezeigten Konfigurationen finden kann.

https://github.com/fabianishere/udm-iptvn the UniFi Dream Machine (Pro)

Wir bleiben vorerst in der unifi-os shell und laden auch hier wieder die notwendigen Pakete herunter. Anschließend installieren wir noch aus dem Ubuntu Repository das Tool ‚dialog‘. Anschließend installieren wir die heruntergeladenen Pakete und aktivieren als erstes im Kernel die Unterstützung von IGMP in der Version 3.

# Download udm-iptv package
curl -O -L https://github.com/fabianishere/udm-iptv/releases/download/v2.1.4/udm-iptv_2.1.4_all.deb
# Download a recent igmpproxy version
curl -O -L http://ftp.debian.org/debian/pool/main/i/igmpproxy/igmpproxy_0.3-1_arm64.deb
# Update APT sources and install dialog package for interactive install
apt update && apt install dialog
# Install udm-iptv and igmpproxy
apt install ./igmpproxy_0.3-1_arm64.deb ./udm-iptv_2.1.4_all.deb
sysctl net.ipv4.conf.all.force_igmp_version=3

Während der Installation wird durch das Tool ‚dialog‘ wird man interaktiv durch die Initialkonfiguration geführt. Ihr könnt die unten aufgeführten Elemente eingeben, allerdings empfehle ich einfach die generierte Konfigurationsdatei anschließend zu öffnen und die Konfiguration daraus zu erstellen, da z.B. ansonsten die zusätzlichen Argumente (ARGS) fehlen. Nach dem Anpassen der Konfiguration starten wir die Pakete noch neu, damit die Konfiguration übernommen wird.

/etc/udm-iptv.conf

IPTV_WAN_INTERFACE="ppp0"
IPTV_WAN_RANGES="224.0.0.0/4 87.141.0.0/16 193.158.0.0/15"
IPTV_WAN_VLAN="0"
IPTV_WAN_DHCP_OPTIONS="-O staticroutes -V IPTV_RG"
# Select the LAN Interfaces where the Multicast Traffic should be forwarded to
IPTV_LAN_INTERFACES="br0"
IPTV_IGMPPROXY_ARGS="-d -v"

systemctl restart udm-iptv

Nun wird es Zeit die unifi-os shell zu verlassen und noch unser on boot script zu erstellen. Es gibt in der Github Community von dem Repository einige Lösungsvorschläge, für mich passte dieser allerdings am Besten, da bei einem Reboot noch ein Sleeptimer ausgeführt wird und den podman run damit verzögert. Ansonsten kann es zu Problemen kommen und ein nachträglicher manueller restart des Dienstes ist notwendig.

# Go out of the unifi-os shell
exit
vi /mnt/data/on_boot.d/95-iptv.sh

IPTV_WAN_INTERFACE="ppp0"
IPTV_WAN_RANGES="224.0.0.0/4 87.141.0.0/16 193.158.0.0/15"
IPTV_WAN_VLAN="0"
IPTV_WAN_DHCP_OPTIONS="-O staticroutes -V IPTV_RG"
IPTV_LAN_INTERFACES="br0"
IPTV_IGMPPROXY_ARGS="-d -v"

if podman container exists iptv; then
  podman rm -f iptv
fi
sysctl net.ipv4.conf.all.force_igmp_version=3
ping -w 5 google.de
sleep 30
podman run --network=host --privileged \
    --name iptv -i -d --restart on-failure:5 \
    -e IPTV_WAN_INTERFACE="$IPTV_WAN_INTERFACE" \
    -e IPTV_WAN_RANGES="$IPTV_WAN_RANGES" \
    -e IPTV_WAN_VLAN="$IPTV_WAN_VLAN" \
    -e IPTV_WAN_DHCP_OPTIONS="$IPTV_WAN_DHCP_OPTIONS" \
    -e IPTV_LAN_INTERFACES="$IPTV_LAN_INTERFACES" \
    -e IPTV_LAN_RANGES="" \
    fabianishere/udm-iptv

Es ist noch darauf zu achten, dass die Datei 95-iptv.sh ausführbar ist, also das executable bit gesetzt wurde z.B. durch ‚chmod +x /mnt/data/on_boot.d/95-iptv.sh‘

Konfiguration im Userinterface der UDM-Pro IPTV mit MagentaTV

Wir öffnen die grafische Oberfläche der UDM im Browser und führen folgende Konfigurationen aus:

Als erstes aktivieren nun IGMP Snooping auf der UDM(-Pro)

Settings -> Networks -> LAN -> Enable IGMP Snooping

Anschließend fügen die DHCP Option hinzu, die wir zuvor in unserer igmp konfiguration festgelegt haben

Settings -> Networks -> LAN -> Custom DHCP Option -> Apply Custom DHCP Options
Name: IPTV Option
Code: 60
Type: Text
Value: IPTV_RG

Nun erstellen passende FW Regeln, damit UDP Verkehre aus den IPTV Adressbereichen unseres Providers in unser LAN dürfen. Wir erstellen außerdem im ersten Schritt dafür eine passende IPTV Address Group

Firewall & Security -> Firewall Rules -> Internet -> Create New Rule
Type: Internet In
Action: Accept
IPv4 Protocol: UDP
IPv4 Address Group -> Create New Group
Profile Name: IPTV WAN RANGES
Add 232.0.0.0/8
Add 239.0.0.0/8
Add 224.0.0.0/4
Create New Group
Select Destination IP Address Group 'IPTV WAN RANGES'

Firewall & Security -> Firewall Rules -> Internet -> Create New Rule
Type: Internet Local
Action: Accept
IPv4 Protocol: UDP
Select Destination IP Address Group 'IPTV WAN RANGES'

Firewall & Security -> Firewall Rules -> Internet -> Create New Rule
Type: Internet Local
Action: Accept
IPv4 Protocol: IGMP
Select Destination IP Address Group 'IPTV WAN RANGES'

Im Netzwerk müssen alle betroffenen Komponenten IGMP Snooping unterstützen und aktiviert haben. Es reicht ein Gerät aus, um aus dem Multicast ein Broadcast zu machen und damit sein Netzwerk zu fluten und Probleme zu verursachen. Es muss nicht zwingend Unifi Hardware sein. Bei Unifi Hardware ist es sogar schwierig aktuelle Geräte mit fehlerfreier IGMPv3 Implementierung zu erhalten. Oben habe ich ein Link zu einem Beispielgerät gezeigt. Hier ist man ggf. mit Alternativen besser bedient. Ansonsten steht seit der Version 1.11 bei der UDM-Pro IPTV mit MagentaTV heutzutage nichts mehr im Wege.

15 Gedanken zu „UDM-Pro IPTV mit MagentaTV (Fiber / FTTH)“

  1. Hallo,

    ich hoffe du kannst mir weiter helfen. Seit dem letzten Update bekomme ich das tool nicht mehr zum laufen. Auch nicht nach deiner Anleitung. Würde mich freuen wenn du einen Blick drauf werfen könntest:

    Aug 04 02:35:21 ubnt udm-iptv[2550]: udhcpc (v1.22.1) started
    Aug 04 02:35:21 ubnt udm-iptv[2550]: Sending discover…
    Aug 04 02:35:24 ubnt udm-iptv[2550]: Sending discover…
    Aug 04 02:35:27 ubnt udm-iptv[2550]: Sending discover…
    Aug 04 02:35:30 ubnt udm-iptv[2550]: udhcpc failed to get a DHCP lease
    Aug 04 02:35:30 ubnt udm-iptv[2550]: No lease, forking to background
    Aug 04 02:35:30 ubnt udm-iptv[2550]: NATing IPTV network ranges (if necessary)
    Aug 04 02:35:30 ubnt udm-iptv[2550]: Setting up igmpproxy
    Aug 04 02:35:30 ubnt udm-iptv[2550]: Starting igmpproxy

    Vielen Dank.
    Gruß
    Waldemar

    Antworten
    • Hi,
      mit dem Log kann ich leider nicht viel anfangen bzw. kenne das Auftreten der Meldungen nicht. Stimmt deine /etc/udm-iptv.conf denn noch? Und passen die Einstellungen mit deinen Settings auf der UDM-Pro mit den angelegten LANs? Vielleicht könntest du die nochmal posten.
      Gruß
      Philipp

      Antworten
  2. Hallo,

    ich hoffe du kannst mir helfen. Nach dem Update meine UDM pro bekomme ich das Tool von Fabian nicht zum laufen. Weder nach seiner noch nach deiner Anleitung. Ich bekomme immer den folgenden Fehler:

    Aug 04 02:35:21 ubnt udm-iptv[2550]: Obtaining IP address for VLAN interface
    Aug 04 02:35:21 ubnt udm-iptv[2550]: udhcpc (v1.22.1) started
    Aug 04 02:35:21 ubnt udm-iptv[2550]: Sending discover…
    Aug 04 02:35:24 ubnt udm-iptv[2550]: Sending discover…
    Aug 04 02:35:27 ubnt udm-iptv[2550]: Sending discover…
    Aug 04 02:35:30 ubnt udm-iptv[2550]: udhcpc failed to get a DHCP lease
    Aug 04 02:35:30 ubnt udm-iptv[2550]: No lease, forking to background
    Aug 04 02:35:30 ubnt udm-iptv[2550]: NATing IPTV network ranges (if necessary)
    Aug 04 02:35:30 ubnt udm-iptv[2550]: Setting up igmpproxy
    Aug 04 02:35:30 ubnt udm-iptv[2550]: Starting igmpproxy

    Hast du vielleicht einen Tipp für mich woran es liegen könnte?

    Vielen Dank im Voraus.

    Gruß
    Waldemar

    Antworten
  3. Ich teste gerade die UDM Pro v3.x Firmware. Ich habe gerade unter Networks unter den Netzwerken die Option „IPTV Support“ gefunden. Davor steht IGMP Proxy.
    Löst dies vielleicht das Problem nun direkt von Unifi ohne manuelle Installation?

    Gruß
    Björn

    Antworten
    • Hi Björn,

      danke für den Hinweis! Ich habe gerade die Firmware installiert und getestet. IPTV mit Receivern die noch Multicast verwenden ist damit nun out-of-the-box möglich.
      IGMP Proxy aktivieren, das entsprechende WAN und LAN Interface auswählen und der Proxy läuft. IGMP Snooping ist natürlich noch notwendig, auch bei den weiteren Switches im Haus, wo der Verkehr durchlaufen muss, um zum Receiver zu gelangen.
      Der MR401 & MR201 laufen damit. Für neue Lösungen wie die Magenta One Box wird Multicast ja nicht mehr benötigt und das wird auch langsam aussterben. Es ist deutlich zu sehen, dass die Telekom von Multicast langsam weg möchte. Ich sehe aber noch viele Nachteile beim Wechsel. z.B. bietet MagentaTV auf Apple TV nur WDR Köln an und damit keine Lokalnachrichten, ebenso wie man DAZN/Sky nur über die Apps nutzen und die WOW App ist ziemlich instabil und bietet eine schlechte Qualität in Bild und Ton. Da muss die Telekom noch einiges tun.

      Antworten
      • Hallo pha,

        habe nun auch die neue Firmware.
        Leider bekomme ich es aber trotzdem nicht zum laufen.

        IGMP Snooping ist aktiviert und auch der IGMP Proxy.
        Muss man ansonsten mit der Telekom als ISP noch etwas anderes beachten?

        Schöne Grüße

        Antworten
  4. Hallo,
    ich habe heute die neue FW 3.0.20 für meine UDM-Pro offiziell erhalten und aufgespielt.
    Allerdings finde ich die genannten Punkte IPTV Support/IGMP Proxy nicht in meinen Einstellungen. Könnt ihr mir da weiterhelfen?
    Zur Zeit nutze ich eine Fritzbox für die Mediareceiver und daran dann die UDM mit dem restlichen Netzwerk. So wie es bei euch klingt, ist es möglich, die UDM via Modem direkt anzuschalten und trotzdem die MR nutzen zu können.

    Gruß Kai

    Antworten
  5. Moin,
    ich habe jetzt die offizielle FW 3.0.20 für meine UDM-Pro erhalten und aufgespielt.
    Allerdings finde ich weder die Option IPTV Support noch IGMP Proxy. Könnt ihr mir da weiterhelfen?
    Zur Zeit laufen meine MR über eine Fritzbox. Daran ist auch die UDM und das restl. Netzwerk angeschlossen. Wäre schön, die MR direkt an der UDM zu betreiben. 🙂

    Gruß
    Kai

    Antworten
    • Hi Kai,

      auch die Version von Unifi Network muss auf aktuellem Stand sein. Nach dem Firmwareupdate bitte nochmal prüfen, ob auch die Unifi Network Version passt. In der Handy App sehe ich es nicht, nur im Browser.

      Antworten
  6. Hallo pha,

    habe nun auch die neue Firmware.
    Leider bekomme ich es aber trotzdem nicht zum laufen.

    IGMP Snooping ist aktiviert und auch der IGMP Proxy.
    Muss man ansonsten mit der Telekom als ISP noch etwas anderes beachten?

    Schöne Grüße

    Antworten
    • Hi Marcel,

      wenn weitere Hardware wie Switche dazwischen hängen, müssen diese auch IGMP Snooping v3 aktiviert haben.
      Beide Funktionen müssen natürlich passend für das richtige VLAN aktiviert sein im LAN. Sonst ist eigentlich nicht mehr zu beachten. Ich gehe mal davon aus, dass die PPPoE Verbindung über VLAN7 läuft. Das VLAN8 wird nichtmehr benötigt.
      Ich hatte auch schonmal Probleme mit alternativen DNS und nutze für mein VLAN wo ausschließlich die Receiver drin sind daher die GoogleDNS oder T-Online DNS.

      Antworten
  7. Hallo Zusammen,

    gestern von DSL auf FTTH gewechselt, soweit alles reibungslos.
    Mit DSL hat alles wunderbar funktioniert.
    Konfiguration:
    Glasfaserdose -> UDM-Pro mit Luleey GPON
    Internetverbindung stabil. Kein Paketlost zu einem Shadow PC in Frankfurt.
    Speedtest phenomenal!

    Jetzt stockt MagentaTV nach 7-10 Sekunden.

    Diagnostic Information
    === Configuration ===
    WAN Interface: ppp0
    WAN VLAN: 0 (dev iptv)
    WAN DHCP: true (options „-O staticroutes -V IPTV_RG“)
    WAN Ranges: 224.0.0.0/4 87.141.0.0/16 193.158.0.0/15
    LAN Interfaces: br0
    IGMP Proxy quickleave disabled: false
    IGMP Proxy debug: true
    === IP Link and Route ===
    27: ppp0: mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
    inet 84.145.154.15 peer 62.155.240.95/32 scope global ppp0
    valid_lft forever preferred_lft forever
    62.155.240.95 proto kernel scope link src 84.145.154.15
    === Service Logs ===
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: DEBUG[init_interface@208]: if_mtu = 9216
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: DEBUG[init_interface@214]: if_falgs = 4163
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: DEBUG[init_interface@178]: ppp0’s ipv4 address is 84.145.154.15
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: DEBUG[init_interface@195]: if_index = 27
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: DEBUG[init_interface@208]: if_mtu = 1492
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: DEBUG[init_interface@214]: if_falgs = 4305
    Jan 19 21:32:00 UDM-Pro udm-iptvd[12335]: ERROR[main@619]: exiting………
    Jan 19 21:32:00 UDM-Pro IMPROXY[12335]: ERROR[main@619]: exiting………
    Jan 19 21:32:00 UDM-Pro systemd[1]: udm-iptv.service: Main process exited, code=exited, status=1/FAILURE
    Jan 19 21:32:00 UDM-Pro systemd[1]: udm-iptv.service: Failed with result ‚exit-code‘.

    Meine Schwiegermutter kann nun kein Fernsehen mehr schauen. Ich leide ;o) und bitte um Hilfe.

    Wenn weitere Infos benötigt werden, bitte melden.

    Vielen Dank.
    Micha

    Antworten
    • Hi Marcel,

      wenn du die UDM-Pro mit Version 3.x verwendest ist das alles nicht mehr nötig. Im Network-Controller kannst du unter Netzwerke in den übergreifenden Einstellungen für das verwendete (V)LAN IGMP Snooping aktivieren und ebenfalls einen IGMP Proxy. Damit ist alles getan und IPTV sollte laufen. Es hat jetzt ein paar Tage gedauert, weil ich meine alten REceiver aus dem Keller holen musste und das ganze nochmal getestet habe mit Multicast Receivern. Bald sind diese eh nicht mehr notwendig. Neue Receiver verwenden bereits jetzt kein Multicast mehr und die kommende IPTV Plattform hat gänzlich kein Multicast mehr. Lediglich die MR40x haben das noch.

      Antworten

Schreibe einen Kommentar