Was wollen wir?
Magenta TV im UniFi-Umfeld
Warum wollen wir das?
Zum TV schauen?
Und wie geht das genau?
Dieses Tutorial ist nur für das USG-Pro4 oder für das USG-3P, für die UDM/P gibt es vermutlich auch eine Lösung, aber da arbeite ich noch dran![]()
Wir müssen die config.gateway.json bearbeiten.
Auf geht's:
Als erste legen wir mal die benötigten Firewall Gruppen & Regeln an - danke RomanoDrews , dass Du als Versuchskaninchen hergehalten hast!
Wichtig ist das Ihr die richtigen Adressen für eure Receiver eingebt:
| MR300/MR303 | MR400 | |
| IPTV-Source | 193.158.35.251 | 87.141.215.251 |
| IPTV-Destination | 239.35.0.0/16 | 232.0.0.0/16 |
Gruppen:
Regeln:
Nun aktivieren wir unter unseren LAN und WLAN Settings IMGP Snooping bzw. Multicast V3.
Dafür loggen wir uns per ssh auf dem USG ein und setzen folgende Befehl ab:
Ihr merkt euch jetzt euer PPPoE-Interface.
Nun ist es so weit, dass wir unsere config.gateway.json Datei bearbeiten bzw. erstellen können.
Tragt das passende PPPoE-Interface ein und die passenden IPs für eure Receiver-Version!
Folgendes muss für das UniFi-Gateway-4 mit dem V2 in die Datei eingetragen werden, solltet ihr den V1 verwenden, bitte auf die anderen IPs ausweichen!
{
"firewall":{
"source-validation":"disable"
},
"protocols": {
"igmp-proxy": {
"interface": {
"pppoe2": {
"alt-subnet": [
"0.0.0.0/0"
],
"role": "upstream",
"threshold": "1"
},
"eth0": {
"alt-subnet": [
"0.0.0.0/0"
],
"role": "downstream",
"threshold": "1",
"whitelist": [
"239.35.0.0/16",
"232.0.0.0/16"
]
}
}
}
}
}
Display More
Das hier muss für das USG3 mit dem V2 eingetragen werden, solltet ihr den V1 verwenden, bitte auf die anderen IPs ausweichen!
{
"firewall":{
"source-validation":"disable"
},
"protocols": {
"igmp-proxy": {
"interface": {
"pppoe2": {
"alt-subnet": [
"0.0.0.0/0"
],
"role": "upstream",
"threshold": "1"
},
"eth1": {
"alt-subnet": [
"0.0.0.0/0"
],
"role": "downstream",
"threshold": "1",
"whitelist": [
"239.35.0.0/16",
"232.0.0.0/16"
]
}
}
}
}
}
Display More
Achtet bitte darauf, das ihr eine validierte JSON Datei habt! Das kann z.B. mit JSON Formatter & Validator geprüft werden.
Nun gehen wir her und Provisionieren das USG über den Controller.
Über ssh können wir nun mit dem Befehl show ip multicast interfaces den Traffic feststellen.
Da der IGMP-Proxy gerne mal abstürzt, habe ich ein Script gebaut, welches diesen überwacht und bei Absturz bzw. nicht laufen neu startet. Das Script legen wir so an:
Per ssh ins USG und die folgenden Zeilen auf der Console einfügen - Zeile für Zeile oder alles auf einmal:
# als root: Script in Datei /config/scripts/igmpcheck.sh schreiben
sudo cat <<EOF >> /config/scripts/igmpcheck.sh
#!/bin/bash
pidof igmpproxy >/dev/null
if \[\[ \$\? -ne 0 \]\] ; then
echo "restarting igmp-proxy"
/bin/vbash -ic 'restart igmp-proxy'
fi
EOF
# als root: Anzeigefehler in WortLab korrigieren
sudo sed -i 's/\\//g' /config/scripts/igmpcheck.sh
# als root: Script ausführbar machen
sudo chmod +x /config/scripts/igmpcheck.sh
# DONE
Display More
ENTER oder RETURN drücken und das Script ist erstellt.
Bei einem manuellen Aufruf des Scripts mit dem Befehl cd /config/scripts/ && ./igmpcheck.sh darf kein Fehler ausgegeben werden.
Damit das Script auch nach jedem Reboot gestartet wird und alle 2 Minuten prüft, ob der IGMP Proxy läuft, habe ich einen cronjob dafür angelegt:
configure
set system task-scheduler task igmpcheck executable path /config/scripts/igmpcheck.sh
set system task-scheduler task igmpcheck interval 2m
commit
save
exit
Jetzt haben wir alles eingerichtet, provisioniere das USG über den Controller und starte Deinen Receiver neu!
Das war es dann schon. Nun kannst Du Magenta TV ohne Aussetzer gucken!
Disclaimer: Alle Anleitungen/Tutorials sind nach bestem Wissen und Gewissen verfasst, gehen immer von den definierten Software/Firmware-Versionen aus und sind auf das englische GUI ausgelegt.
Es gibt keine Garantien auf Erfolg. Im Falle eines Misserfolges hilft aber sicherlich die Community hier immer weiter.
Keiner der Autoren oder der Betreiber des Forums ist für die aus der Nutzung resultierenden Probleme/Herausforderungen verantwortlich.
Jegliche hier beschriebenen Schritte erfolgen ausnahmslos in eigener Verantwortung des Durchführenden. Eltern haften für ihre Kinder.![]()