UBNT UNIFI USG IPTV

Dit is een handleiding om  KPN IPTV op Unifi USG te installeren.

IPTV op een USG kan nog als lastig zijn.veel Config die online staan zijn of te uitgebreid of ze zijn lastig installeren omdat ze te veel zijn gericht op de config van de persoon die hem online heeft gezet.En dat is jammer want het zijn namelijk heel mooie en stabiele zakelijke routers en vanwege de relatief vriendelijk prijs prima geschikt voor thuisgebruik.Juist voor deze thuismarkt heeft UBNT de USG 3P (3port) op de markt gebracht. Dit is een goedkopere versie die bijna alles kan wat zijn grotere broertjes kunnen alleen heeft hij minder netwerkaansluitingen en een wat minder krachtiger processor.De USG pro is voor kantoorgebruik en heeft daarom een sterkere Processor waardoor het mogelijk is om meer IPS regels te activeren dan op de USG 3p.De USG-XG laten we hier buiten beschouwing de gebruikers van deze usg worden geacht voldoende netwerk kennis te hebben om zonder hulp iptv Draaiende krijgen. De XG is namelijk voor zeer grote kantooromgevingen met ongeveer 20.000 gebruikers. En heeft de prijs van leuke 2 hands auto. De kans dat iemand zonder EdgeOS deze thuis heeft draaien is klein.De USG heeft voor alle instellingen die niet via de controller kunne een json setup nodig.  Hierin mogen alleen instellingen opgenomen worden die niet in de controller gebruikt worden.De de twee json’s die hier zijn uitgewerk zijn gemaakt voor thuisgebruik van interactieve TV van KPN. en kunnen gebruikt worden bij alle providers die tv aanbieden via het netwerk van kpn. alle ander provider die een eigen netwerk hebben zoals bijvoorbeeld Tweak. kunnen gevonden worden op het klik hier Tweakers forum.Momenteel zijn er een aantal Json in omloop die beginnen met disable source validation 

<br />{<br />"firewall": {<br />"source-validation": "disable"<br />},<br />
Wanneer je een Json hebt die met deze regel begint is het verstandig deze regel te verwijderen uit je json. de maker van deze json heeft deze regel er in gezet omdat source validation itpv verkeer blokkeer. Maar met deze regel zit je een belangrijk onderdeel van je firewall uit. en dat is het laatste wat je wil. De onderstaande JSon zorgt ervoor dat source validation alleen voor de iptv vlan( port) iets minder streng wordt terwijl de firewall voor het gewone internet even streng beveiligt blijft.Ik heb 2 Json online staan omdat de PRO en LITE verschillen in het aantal netwerk porte en benamingen is het verstandig om de json config te kopiëren die past je eigen model.JSON USP-4P (PRO):Deze Json is geschreven voor een USG-4p ( pro) en kan gekopieerd en geplakt worden naar je eigen json file.Om tv werkent te krijgen moet je alleen je iptv router adres van je eigen wijkcentrale aanpassen. Om je router adres te kunnen opvragen moet je eerst deze json laden en daarna kun het ip-adres opvragen met de het onderstaande commando
<br />show dhcp client leases interface eth2.4<br />
Geeft als uitkomst resultaat:
</p><p>interface : eth2.4<br />ip address : 10.164.xx.xx [Active]<br />subnet mask: 255.255.224.0<br />router : 10.164.xx.x (iptv Router ip)<br />dhcp server: 10.164.xx.xx<br />lease time : 82174<br />last update: Thu Sep 27 07:41:35 CEST 2018<br />expiry : Fri Sep 28 06:31:08 CEST 2018<br />reason : RENEW</p><p>
Het gaat dan om ip-adress vermeld bij router:vul dit ip-adres in op de plaats van het niet werkende ip-adress  ( iptv Router ip) wat staat  op regel 97
<br />{<br />"interfaces": {<br />"ethernet": {<br />"eth2": {<br />"dhcp-options": {<br />"default-route": "no-update",<br />"default-route-distance": "1",<br />"name-server": "no-update"<br />},<br />"vif": {<br />"4": {<br />"address": [<br />"dhcp"<br />],<br />"description": "WAN",<br />"dhcp-options": {<br />"client-option": [<br />"send vendor-class-identifier &amp;amp;amp;amp;amp;amp;amp;amp;quot;IPTV_RG&amp;amp;amp;amp;amp;amp;amp;amp;quot;;",<br />"request subnet-mask, routers, rfc3442-classless-static-routes;"<br />],<br />"default-route": "no-update",<br />"default-route-distance": "210",<br />"name-server": "no-update"<br />},<br />"ip": {<br />"source-validation": "loose"<br />}</p><p>},<br />"6": {<br />"description": "WAN",<br />"firewall": {<br />"in": {<br />"ipv6-name": "WANv6_IN",<br />"name": "WAN_IN"<br />},<br />"local": {<br />"ipv6-name": "WANv6_LOCAL",<br />"name": "WAN_LOCAL"<br />},<br />"out": {<br />"ipv6-name": "WANv6_OUT",<br />"name": "WAN_OUT"<br />}<br />},<br />"pppoe": {<br />"2": {<br />"default-route": "auto",<br />"firewall": {<br />"in": {<br />"ipv6-name": "WANv6_IN",<br />"name": "WAN_IN"<br />},<br />"local": {<br />"ipv6-name": "WANv6_LOCAL",<br />"name": "WAN_LOCAL"<br />},<br />"out": {<br />"ipv6-name": "WANv6_OUT",<br />"name": "WAN_OUT"<br />}<br />},<br />"name-server": "auto",<br />"password": "kpn",<br />"user-id": "kpn"<br />}<br />}<br />}</p><p>}<br />}<br />}<br />},<br />"protocols": {<br />"igmp-proxy": {<br />"interface": {<br />"eth2.4": {<br />"alt-subnet": [<br />"0.0.0.0/0"<br />],<br />"role": "upstream",<br />"threshold": "1"<br />},<br />"eth0": {<br />"alt-subnet": [<br />"0.0.0.0/24"<br />],<br />"role": "downstream",<br />"threshold": "1"<br />}<br />}<br />},<br />"static": {<br />"route": {<br />"213.75.112.0/21": {<br />"next-hop": {<br />"10.160.10.1": "''"<br />}<br />}<br />}<br />}<br />},<br />"port-forward": {<br />"wan-interface": "pppoe2"<br />},</p><p>"service": {<br />"dns": {<br />"forwarding": {<br />"except-interface": [<br />"pppoe2"<br />]<br />}<br />},<br />"nat": {<br />"rule": {<br />"5000": {<br />"description": "MASQ corporate_network to IPTV network",<br />"destination": {<br />"address": "213.75.112.0/21"<br />},<br />"log": "disable",<br />"outbound-interface": "eth2.4",<br />"protocol": "all",<br />"type": "masquerade"<br />},<br />"6001": {<br />"outbound-interface": "pppoe2"<br />},<br />"6002": {<br />"outbound-interface": "pppoe2"<br />},<br />"6003": {<br />"outbound-interface": "pppoe2"<br />}<br />}<br />}<br />}<br />}<br />
JSON USG-3P (LITE):Gebruik voor de USG-3P (lite) deze json en doorloop dezelfde stappen
<br />show dhcp client leases interface eth0.4<br />
Geeft als resultaat:
</p><p>interface : eth0.4<br />ip address : 10.164.xx.xx [Active]<br />subnet mask: 255.255.224.0<br />router : 10.164.xx.x (iptv Router ip)<br />dhcp server: 10.164.xx.xx<br />lease time : 82174<br />last update: Thu Sep 27 07:41:35 CEST 2018<br />expiry : Fri Sep 28 06:31:08 CEST 2018<br />reason : RENEW</p><p>
Het gaat dan om ip-adress vermeld bij router:vul dit ip-adres in op de plaats  van het niet werkende ip-adress  ( iptv Router ip) wat staat  op regel 97
<br />{<br />"interfaces": {<br />"ethernet": {<br />"eth0": {<br />"dhcp-options": {<br />"default-route": "no-update",<br />"default-route-distance": "1",<br />"name-server": "no-update"<br />},<br />"vif": {<br />"4": {<br />"address": [<br />"dhcp"<br />],<br />"description": "WAN",<br />"dhcp-options": {<br />"client-option": [<br />"send vendor-class-identifier &amp;amp;amp;amp;amp;amp;amp;amp;quot;IPTV_RG&amp;amp;amp;amp;amp;amp;amp;amp;quot;;",<br />"request subnet-mask, routers, rfc3442-classless-static-routes;"<br />],<br />"default-route": "no-update",<br />"default-route-distance": "210",<br />"name-server": "no-update"<br />},<br />"ip": {<br />"source-validation": "loose"<br />}</p><p>},<br />"6": {<br />"description": "WAN",<br />"firewall": {<br />"in": {<br />"ipv6-name": "WANv6_IN",<br />"name": "WAN_IN"<br />},<br />"local": {<br />"ipv6-name": "WANv6_LOCAL",<br />"name": "WAN_LOCAL"<br />},<br />"out": {<br />"ipv6-name": "WANv6_OUT",<br />"name": "WAN_OUT"<br />}<br />},<br />"pppoe": {<br />"2": {<br />"default-route": "auto",<br />"firewall": {<br />"in": {<br />"ipv6-name": "WANv6_IN",<br />"name": "WAN_IN"<br />},<br />"local": {<br />"ipv6-name": "WANv6_LOCAL",<br />"name": "WAN_LOCAL"<br />},<br />"out": {<br />"ipv6-name": "WANv6_OUT",<br />"name": "WAN_OUT"<br />}<br />},<br />"name-server": "auto",<br />"password": "kpn",<br />"user-id": "kpn"<br />}<br />}<br />}</p><p>}<br />}<br />}<br />},<br />"protocols": {<br />"igmp-proxy": {<br />"interface": {<br />"eth0.4": {<br />"alt-subnet": [<br />"0.0.0.0/0"<br />],<br />"role": "upstream",<br />"threshold": "1"<br />},<br />"eth1": {<br />"alt-subnet": [<br />"0.0.0.0/24"<br />],<br />"role": "downstream",<br />"threshold": "1"<br />}<br />}<br />},<br />"static": {<br />"route": {<br />"213.75.112.0/21": {<br />"next-hop": {<br />"10.160.10.1": "''"<br />}<br />}<br />}<br />}<br />},<br />"port-forward": {<br />"wan-interface": "pppoe2"<br />},</p><p>"service": {<br />"dns": {<br />"forwarding": {<br />"except-interface": [<br />"pppoe2"<br />]<br />}<br />},<br />"nat": {<br />"rule": {<br />"5000": {<br />"description": "MASQ corporate_network to IPTV network",<br />"destination": {<br />"address": "213.75.112.0/21"<br />},<br />"log": "disable",<br />"outbound-interface": "eth0.4",<br />"protocol": "all",<br />"type": "masquerade"<br />},<br />"6001": {<br />"outbound-interface": "pppoe2"<br />},<br />"6002": {<br />"outbound-interface": "pppoe2"<br />},<br />"6003": {<br />"outbound-interface": "pppoe2"<br />}<br />}<br />}<br />}<br />}<br />

Join the Conversation

40 Comments

  1. Hi Thank you for this json file. I have one question how can I implement VOIP in this JSON. Could you give some pointers.

    1. There is no PBX in the USG. If you want to use the voip config off your isp/cable provider you have bridge the voip vlan to your local network.

  2. Hi Thx, for this json file.

    If I load this file what should happen next ?

    Or if I load this file, TV (Xs4All) should work on each port of my switches without setting up a VLAN, or creating a static route(s) on the USG?

    1. If you change the pppoe login & pass from kpn to xs4all this file setup alle Wan and IPTV settings. After changeing your IPTV router static route to yours.
      You have a working internet & IPTV setup.

  3. Hallo Free2wifi, bedankt voor je sneller reactie, het werkt inderdaad zoals je zei. Ik heb het “iptv Router ip” (10.201.24.1) opgezocht en in je config aangepast, tevens bij regel 64 en regel 65 “KPN” vervangen voor “XS4ALL” en het werkt inderdaad. Ik zie echter dat de Netflix optie is verdwenen, bij de TV instellingen/menu van xs4all.
    Is er nog een manier om die ook te krijgen ?
    Is de “iptv Router ip”een fixed IP of verandert deze ook na verloop van tijd ?

    Nogmaals bedankt!

  4. Hi,

    Great post and finally one that actually works.

    There are a couple of things that caught my attention, which might be able to explain a bit further.
    Is there a difference (possible risk) in use when using the kpn user-id instead of the [MAC]@internet as user-id (e.g. is kpn maybe depricated)?
    What is the VPN section for? I’ve removed it and that also worked fine (for now?).
    I notice using this setup the static route doesn’t require an update after reprovisioning and/or reboot anymore, can you explain why (e.g. is that due to the generic kpn user-id)?
    I’ve read in a different thread it is better to leave the downstream subnet empty and tighten the upstream to the specific subnet (10.16.12.0/16 and 213.75.0.0/16), how are your thoughts about that?

    Lastly some possible improvements in case, like me, you (or anybody else) like to control as much as possible in the UniFi Controller.
    I think the following settings could be moved out of the file an into the controller if desired:
    – WAN vlan 6; (Networks -> WAN -> connection type PPoE, username: kpn, password: kpn, common settings vlan: 6)
    – static route (Routing&Firewall -> Static routes, create new static route with the information from json).

    Again many thanks for a working config.

    P.S. If you are interested I can send you my “changes” to get VOIP forwarded (bridged) to the WAN2/LAN2 port.

    1. No thanks. 😉

      There no risk to use kpn/kpn istead of your mac.
      it is a outbound pppoe connection. so dont worry.

      the vpn section is becuas you are not able setup the wan in the controller.
      yes you can setup the wan (internet) butt not the wan iptv(vlan4) the usg will reset you settings on the controller that is why the inetnet setup is in the json.
      Becease the usg is resetting the controller wan setup the controller wil provision the wrong wan port vpn setting to the usg.
      that why you have the config the vpn port settings in the json to.

      yes, you can do the static route in controller. i have config them in json so you can copie the config and change the iptv gateway easy.
      not everone is able to understand the static router en configer them manual in the controller.

  5. Hoi, ik heb jouw bovenstaande (lite) configuratie (met cronjob voor static route) gebruikt om de ExperiaBox weg te kunnen laten. Het werkt allemaal prima, dank hiervoor! Wat me wel opvalt is dat mijn intrernet langzamer wordt als ik tv kijk, hoort dit? Ook zegt het Unifi dashboard dat de internet capacity constant op 100% zit (25 Mbps, verbinding is 100Mbps). Er treden ook regelmatig association failures op, komt dit alles bekend voor? En is hier iets aan te doen?

    1. Als je snelheid instort tijdens het TV kijken dan gaat er iets niet goed met je igmp snooping.
      waar je naar moet kijken is of iedere switch van de router naar je tv igmp snooping heeft.

      Ook is het beter om broadcast verkeer naar je wifi accespoint blockeren.

  6. Thanks for the info, following this I had it working for a few days, but since this evening I’m getting errors on the TV. Selecting older programs from the guide works flawlessly though. Any idea what might be wrong?

  7. Hi Free2wifi, bedankt voor de informatie hier. Ik heb het gevolgd en het werkte enkele dagen helemaal maar sinds gisteren krijg ik een foutmelding tijdens het tv kijken. Uit de gids een programma starten werkt wel gewoon. Enig idee wat er nog mis is?

  8. Alweer een paar maandjes oud, maar ik heb toch twee vragen:
    * Ik sluit me bij de vorige reageerder (Huub) aan in zijn vraag over het veranderen van het “next-hop”adres (in mijn geval bij XS4All)
    * Je schrijft dat VPN nog een beperking is, is dat nog steeds zo? En in dat geval, in welke richting (van buitenaf naar binnen of vanaf de UPG naar een externe site)?

    1. configure
      set vpn ipsec ipsec-interfaces interface pppoe2
      delete vpn l2tp remote-access dhcp-interface eth0
      set vpn l2tp remote-access outside-address 0.0.0.0
      commit
      save

  9. Free2Wifi, fijne begrijpelijke handleiding. Dit heeft me overgehaald mijn XS4all glasvezel ipv bridged toch eens routed aan te willen sluiten.
    Heb nog twee vragen:
    1. zoals al eerder gevraagd door Huub, hoe groot is de kans dat de “next-hop” wijzigt?
    2. Je schrijft dat VPN nog niet werkt. Heb je het dan over het van buitenaf via VPN verbinden met je eigen netwerk of vanuit het eigen netwerk een (site-2-site) VPN opzetten naar buiten (of is het inmiddels al opgelost).

    Graag je reactie!

    1. Hoevaak deze wijzigt kan niet zeggen.
      Bij mij is deze nog nooit gewijzigd maar bij andere wijzigt hij met enige regelmaat.

      ipv6 kan via de json maar raad ik niet aan.

  10. Bedankt voor je artikel! Werkt perfect!

    Ik mis de mogelijkheid tot VPN, heb je hier inmiddels een oplossing voor gevonden die je kunt delen?

    Alvast bedankt!


    1. configure
      set vpn ipsec ipsec-interfaces interface pppoe2
      delete vpn l2tp remote-access dhcp-interface eth0
      set vpn l2tp remote-access outside-address 0.0.0.0
      commit
      save

  11. Hoi, bedankt voor deze config, werkt bijna perfect, echter loop ik toch ergens vast. Ik heb meerder Kpn kastjes, als er maar 1 in gebruik is gaat het goed, zodra meerdere boxen in gebruik zijn bevriest het beeld regelmatig. Aanpassen van IGMP-Proxy settings heeft hier invloed op echter tot nu toe allen in negatieve zin. Mijn infra bestaat uit alleen unifi spullen (USG Lite en Unifi switches) iemand enig idee? restart igmp-proxy helpt voor enige tijd.

    1. Hoi Dick,

      Ik hoor dit vaker. Maar ik heb dit nooit echt onderzocht. Mijn vermoed is eerlijk gezegd dat dit niet aan de igmp proxy ligt maar in de implementatie van igmp snooping op de switch.

      Je zou een keer andere switches kunnen gebruiken of als je unifi switch’s hebt via Telenet de instellingen aanpassen en de juist werkende instellingen via de config.properties file van SDN uitrollen maar alle switch’s in je netwerk.

  12. Is there an issues with latest firmware. I had everything working with firmware from December 2018 but updated today and tv is not working anymore. Can do replay tv but no live TV.

    Router ip stayed the same after updating.

    1. Hi robin.

      I’m not aware off any changes in the firmware that make this config stopped working.

      At the this moment I’m running/testing
      USG Firmware 4.4.45 And there are bugs but not for iptv.

  13. Domme vraag wellicht. Ik wil hier graag aan beginnen om de experiabox uit te faseren.

    Dit script, dit regelt de ppoe-verbinding ook, klopt dat? althans dat maak ik op uit de json.

    En, gaat dit script er vanuit dat je zelf DHCP opzet vanuit de USG?

    1. Hoi Frans,

      Ik ga er even vanuit dat je de dhcp cliënt aan de wan (wide area network) kant bedoelt.

      Dan is het antwoord nee.
      Dit script gebruikt PppoE en daardoor geen dhcp.

      Aan de lan (local area network) moet je altijd een dhcp opzetten anders deelt USG geen ip adressen uit aan je apparaten in je netwerk en dat is onhandig of je moet bij ieder apparaat er zelf handmatig een ip in willen zetten. Dat raad ik overigens niemand aan en maakt alles onnodig complex.

      Mvg

  14. Hello Free2wifi,

    Thanks for this blog. I already have a working setup but I think that it is now working in bridged mode, not routed. I believe that this is the reason that Netflix via the XS4ALL STB is not working. Does this configuration fix this?

    Lars

  15. Hoi Free2WiFi,

    Ik ben mij aan het oriënteren op stappen die ik moet doen.

    Ben al erg blij met bovenstaand script dus die stap is inmiddels duidelijk.
    Maar wat ik nog mis zijn de Firewall settings die ik in de controller moet plaatsen. En het script om automatisch de next hop aan te passen. Ik zit op tweakers dat er wel mensen mee bezig zijn geweest maar zie het niet terug in de TS. Dus weet niet of die settings juist zijn.

    Nu zie ik bij Kriegman.io een heleboel instellingen maar weet niet of die juist zijn. Ik heb inmiddels wel settings in de controller staan maar weet dus niet of de juist zijn.

    Ik loop aardig te zoeken en kom van alles tegen maar weet niet wat goed en fout is.

    Kun jij mij de juiste richting op sturen?

    Alvast bedankt

    1. Deze Scripts om de next hob aan te passen zijn niet voor iedereen nodig.
      En creëren tv uitval/haperingen als ze worden uitgevoerd.

      Het is zonde om er 1 gebruiken als het niet nodig is en of je hem nodig hebt is een kwestie van testen. Alleen kpn weet wie hem wel en niet nodig heeft. Uit de reacties op tweakers lijkt locatie afhankelijk te zijn.

  16. Ik heb de USG lite geconfigureerd zoals hier staat beschreven:
    Alles werkt. Alleen freeze mijn tv om de have klap.
    Wie van jullie weet wat ik nog moet doen. Het ip-adres blijft via deze command show dhcp client leases interface eth0.4 nog wel hetzelfde.

    Mijn setup is als volgt:

    FTU
    USG
    (simpele switch ) TV-decoder, PS4, TV, Apple TV

    Ik heb de TV ook direct aan de USG gehangen maar ook dan klapt/freest hij.

  17. I use the fiber WAN port of the USG4 Pro and the above doesn’t work. I’m assuming Eth0 should be something else?

    To clarify – TV guide worked fine, thanks for that, but it looks like it indeed killed remote access, remote users can’t connect anymore.

    Thanks!

    1. Hi Ruben,

      Fiber1 is the same eth as wan1 the are linked ports.

      That it is correct that multi vlan on the wan port corrupt your remote user connection.

      That is bug in the GUI/SDN controller.
      There are many discussions about this whit Ubnt.And the USG dev blaming the GUI dev’s.

      Shh to your USG en running this commands
      Wil fix your vpn till the next reboot or provision.


      configure
      set vpn ipsec ipsec-interfaces interface pppoe2
      delete vpn l2tp remote-access dhcp-interface eth0
      set vpn l2tp remote-access outside-address 0.0.0.0
      commit
      save

      If you want you could make a Cron job for it. Loading it by json will crash your USG. Because the SDN (GUI devs) the SDN is not aware of your multi wan settings and thinks eth0 and not pppoe2 is main internet connection and wil force the USG to use the wrong settings.

  18. De USG is adopted en provisioned, maar als ik vervolgens in de SSH terminal inlog op de USG en het commando “show dhcp client leases interface eth0.4” geeft, geeft hij niks terug. Zie ik iets over het hoofd?

  19. Ik zal wel iets verkeerd doen, maar na adoption probeer ik het show dhcp commando te runnen in de ssh terminal, maar ik krijg niks terug. Er verschijnt opnieuw de command line. Zie ik iets over t hoofd?

  20. Thanks a lot for the JSON file. I am trying to convert it to be used with Movistqr, Spain. I appreciate if you could help.
    Mainly the points are: Internet (PPPoe access, vlan 6) IPTV ( fix ip, vlan 2). Aditionally for the IPTV there is an address of the OPCH (239.0.2.30:22222; DNS 172.26.23.3, an IP address typ 10.x.x.x. The configuration working in ERPOE router is this one:
    subnet-parameters “option option-deco ":::::239.0.2.10:22222:v6.0:239.0.2.30:22222";”
    subnet-parameters “pool {”
    subnet-parameters “allow members of "decos";”
    subnet-parameters “range 192.168.1.200 192.168.1.210;”
    subnet-parameters “option domain-name-servers 172.26.23.3;”
    subnet-parameters ” }”

    Could you give a Json version for usg pro please? I really appreciate if you can point in the correct road…

    1. Hi Federico,

      If you can upload the working edgeRouter config i can you create a USG JSON.
      can you export you Edgerouter with this command
      mca-ctrl -t dump-cfg

      kind regards

  21. I’ve got the internet running via USG, but when I try to run the command “show dhcp client leases interface eth0.4” for my USG3, I don’t get a response. Solely a new command line. I’m logged in via putty on 192.168.178.1, which is my USG.

    1. Hi Simon A,

      i cant say for sure what is wrong because i don know the error.
      it could be a syntax error there is no eth0.4 created on USG.

      kind regards

Leave a comment

Leave a Reply to Ignasz Wolke Cancel reply

Your email address will not be published. Required fields are marked *