Intro
Na de levering van Telfort Glasvezel direct de router van Telfort vervangen door een Ubiquiti Edgerouter 4. Daar liep ik, net als zovelen, tegen een aantal problemen aan waardoor met name IPTV niet werkte. In deze tutorial leg ik uit hoe ik mijn router heb ingesteld.

Table of Contents
Setup wizard
Zoals je kan zien komt Telfort binnen op eth0, IPTV (uitgaand naar set-up box) op zijn eigen netwerk/poort op eth1 (192.168.3.0) en LAN op eth3. (192.168.2.0)
Eerst maken we een basic setup aan via de wizard WAN2+2LAN, waardoor we met een vrij basis configuratie kunnen starten. WAN (eth0) wordt doorgezet naar (in mijn situatie) LAN (eth3). Deze wizard zorgt ervoor dat NAT en een aantal firewall regels worden toegepast. Zorg dat eth0 ingesteld is op DHCP en zet VLAN op 34.

Ik heb ervoor gekozen dat IPTV zijn eigen netwerk/poort heeft (eth1). Dit is een optionele stap en voor de meeste gebruikers niet nodig.
Nadat de wizard is afgerond heb je als het goed is een IP adres gekregen van Telfort. Het eerste wat we gaan wijzigen is het MAC adres van eth0.34. Als de tweede VLAN (IPTV / VLAN4) op eth0 wordt aangemaakt zorgt dit anders voor problemen met het verkrijgen van een IP adres op een of beide VLANs.
configure
set interfaces ethernet eth0 vif 34 mac 4C:1B:86:64:6F:0D
commit
save
exit
Bovengenoemde MAC adres heb ik overgenomen van de originele Telfort router. Die van jou zal anders zijn.
IPTV
Nu kunnen we de IPTV VLAN aanmaken
configure
set interfaces ethernet eth0 vif 4 address dhcp
set interfaces ethernet eth0 vif 4 description "IPTV Extern"
set interfaces ethernet eth0 vif 4 dhcp-options client-option "send vendor-class-identifier "IPTV_RG";"
set interfaces ethernet eth0 vif 4 dhcp-options client-option "request subnet-mask, routers, rfc3442-classless-static-routes;"
set interfaces ethernet eth0 vif 4 dhcp-options default-route no-update
set interfaces ethernet eth0 vif 4 dhcp-options name-server update
set interfaces ethernet eth0 vif 4 dhcp-options default-route-distance 210
commit
save
exit
Als alles goed verlopen is heb je een IP adres verkregen op VLAN4. Check dit via het dashboard of via:
show dhcp client leases
Vervolgens de DHCP server configuratie aanpassen
configure
set service dhcp-server global-parameters "option vendor-class-identifier code 60 = string;"
set service dhcp-server global-parameters "option broadcast-address code 28 = ip-address;"
commit
save
exit
Let op! ip-address in bovengenoemde code is een variabele. Deze NIET vervangen door een zelf ingevuld IP adres.
Zodra dat geregeld is kunnen we de route IPTV instellen. Verkeer van en naar de Telfort IPTV server moet worden gerouteerd via VLAN4. Om dit te realiseren hebben we het ‘next hop’ IP adres nodig door het aanmaken van een DHCP exit hook script.
sudo su
vi /config/user-data/rfc3442-classless-routes
En plaats de volgende code in dat bestand. Dit zorgt ervoor dat de kernel de route naar IPTV automatisch in de routing tabel zet.
RUN="yes"
if [ "$RUN" = "yes" ]; then
if [ -n "$new_rfc3442_classless_static_routes" ]; then
if [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then
set -- $new_rfc3442_classless_static_routes
while [ $# -gt 0 ]; do
net_length=$1
via_arg=''
case $net_length in
32|31|30|29|28|27|26|25)
net_address="${2}.${3}.${4}.${5}"
gateway="${6}.${7}.${8}.${9}"
shift 9
;;
24|23|22|21|20|19|18|17)
net_address="${2}.${3}.${4}.0"
gateway="${5}.${6}.${7}.${8}"
shift 8
;;
16|15|14|13|12|11|10|9)
net_address="${2}.${3}.0.0"
gateway="${4}.${5}.${6}.${7}"
shift 7
;;
8|7|6|5|4|3|2|1)
net_address="${2}.0.0.0"
gateway="${3}.${4}.${5}.${6}"
shift 6
;;
0) # default route
net_address="0.0.0.0"
gateway="${2}.${3}.${4}.${5}"
shift 5
;;
*) # error
return 1
;;
esac
# take care of link-local routes
if [ "${gateway}" != '0.0.0.0' ]; then
via_arg="via ${gateway}"
fi
# set route (ip detects host routes automatically)
ip -4 route add "${net_address}/${net_length}" \
${via_arg} dev "${interface}" >/dev/null 2>&1
done
fi
fi
fi
Vervolgens opslaan en afsluiten
<CTRL> + :
wq <ENTER>
Daarna het DHCP exit hook script dat aangeroepen wordt zodra er succesvol een IP adres is verkregen.
sudo su
vi /config/scripts/post-config.d/copy-rfc3442-classless-routes
De volgende code in dat bestand plaatsen
#!/bin/bash
file="/etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes"
if [ ! -f $file ]
then
cp /config/user-data/rfc3442-classless-routes /etc/dhcp3/dhclient-exit-hooks.d/
chmod 755 /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes
fi
Wederom opslaan en afsluiten
<CTRL> + :
wq <ENTER>
En leesbaar maken
chmod 744 /config/scripts/post-config.d/copy-rfc3442-classless-routes
Tevens een NAT regel aanmaken voor IPTV
configure
set service nat rule 5000 description IPTV
set service nat rule 5000 outbound-interface eth0.4
set service nat rule 5000 log disable
set service nat rule 5000 protocol all
set service nat rule 5000 destination address 213.75.112.0/21
set service nat rule 5000 type masquerade
commit
save
exit
Als laatste stap het instellen van de IGMP proxy
configure
set protocols igmp-proxy interface eth0.4 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth0.4 role upstream
set protocols igmp-proxy interface eth0.4 threshold 1
set protocols igmp-proxy interface eth1 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth1 role downstream
set protocols igmp-proxy interface eth1 threshold 1
commit
save
exit
Je ziet dat ik hier eth1 als downstream interface heb ingesteld. Mocht je na de wizard alles standaard hebben gelaten dan zal dit in jouw situatie switch0 of br0 zijn.
Internet en IPTV zouden nu beide correct moeten functioneren.
PayPal
Heeft deze tutorial je geholpen ? Overweeg om te doneren
Hoe kan je er voor zorgen dat IPTV wordt afgelevert op alle poorten? Of in ieder geval een gedeelde poort wordt op 1 eth aansluiting?
Ik heb een X-SFP en wil op eth4 zowel mijn internet als tv afleveren.ETH 3 is uitsluitend voor TV en eth 0 1 2 voor internet
Als je de standaard wizard hebt gevolgd dan zou al je internet traffic op br0 moeten zijn afgemonteerd. Enige wat je dan nog hoeft te doen is bij de IGMP Proxy instellingen br0 invullen ipv (in mijn situatie) eth1
-edit
Las je bericht niet goed. Maak een br0 aan voor eth0 1 2. Haal eth3 en eth4 uit de br0. In IGMP Proxy maak je twee downstream interfaces aan. Namelijk eth3 en eth4. Vergeet niet op alle interfaces (br0 eth3 en eth4) een dhcp server aan te maken en de dns forwarder aan te zetten.
Net artikel! Ik gebruik een gelijk waardige constructie, maar dan op een Zyxel/Zywall 110.
Omdat ik meer spierballen wilde en flexibiliteit op VPN gebied.
Helaas, wordt Telfort opgeslokt door KPN, wss zijn daarvoor aanpassing doorgevoerd…. en nu werkt het bij mij niet meer. ;{
– Heb jij al iets gevonden of ideeën wat er veranderd is ?
Ik werk nu tijdelijk met de Experia…, mar verlang nu alweer naar de Zywall.
Heb helaas geen ervaring met Zyxel, maar zou niet heel anders moeten werken dan een andere router. Waar loop je specifiek tegen problemen aan ?
Hallo Wim, super info. Had de edge router draaien volgens je “oude” handleiding. In augustus en deze week weer geen iptv omdat volgens de oude next-hop methode je een regio afhankelijk ip adres op ging halen. Nu zag ik net je oplossing met het script. Deze uitgevoerd, en werkt zo te zien perfect. Edgerouter geeft nu niet meer static aan voor het ip adres maar kernel. Ontving wel net een mail van Telfort/KPN dat ik dit weekend volledig wordt overgezet naar KPN. Hopelijk geeft dit niet te veel problemen. Ik zal mogelijk de vlan 34 DHCP om moeten zetten naar 6 PPPoE. Als het zover is nog even uitzoeken hoe dit werkt in de Edgerouter. Heb je zelf dit ook al bij de hand gehad?
Heb idd die mail ook gekregen. Aangezien het grotendeels gelijk blijft voorzie ik niet al te veel problemen. Zal de tutorial uiteraard aanpassen met de nodige wijzigingen.
Een aangepaste tutorial zou top zijn. Op dit moment werkt alles nog, zal komende nacht dan wel worden omgezet naar KPN
Ik ga vanavond aan de slag met deze config, hopelijk lukt het 🙂
Heb je de aanpassing van de tv toevallig al doorgevoerd ?
Aanpassing tv ?
Dank Wim, goede handleiding!
Ik gebruikte tot nu de handleiding op kriegsman.io voor mijn EdgeRouter, die iets specifieker is voor KPN dan voor Telfort. Dus met PPPoE op VLAN 6 ipv DHCP op VLAN 34 voor Internet. VLAN 4 met IPTV is wel hetzelfde.
Wat beter ging met jouw instructie is het gebruik van de /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes ipv de tvroute.sh script bij kriegsman.io. Die werkte toch niet altijd, als de routes wijzigde (alhoewel ik nog niet helemaal niet snap waarom).
Wel een vraagje: als de rfc3442-classless-routes wijzigt bij renew van de DHCP lease, wordt op deze manier wel de oude route verwijderd?
Dat is een goede. Ik vermoed van niet, aangezien het script bij een ‘bound’ en ‘reboot’ event wordt uitgevoerd en ongeacht de ‘oude’ statische route een nieuwe wordt aangemaakt. Zal het script aanpassen zodra ik wat tijd heb.
Ik heb het sinds vandaag ook (bijna) helemaal werken met mijn EdgeRouter X icm Telfort. Echter heb ik nog een klein probleem met de IPTV. Ik heb twee ontvangers, maar ik krijg ze niet tegelijktijd aan de praat. Als ik er ééntje aan de praat heb en ik zet de andere aan, dan hapert deze en geeft uiteindelijk zwart beeld en een foutmelding.
Iemand een idee?
Heb je de standaard netwerk wizard gevolgd en alles op 1 netwerk (br0/switch0) aangemaakt ? Of heb je je netwerken gesplitst ?
Hoi Wim, dit is een super goede tutorial, is het ook mogelijk om eth1 in te stellen voor TV en internet? Of is er dan geen extra condiguratie nodig, kunnen er dan meerdere tuners op aangesloten worden?
Dus eth0 Telfort, eth1 LAN + IPTV en de rest van de poorten loos. Ja, dat is zeker mogelijk. Maakt het eigenlijk wat makkelijker aangezien je geen br0/switch0 hoeft in te stellen.
Ha Wim, super handig artikel! Ik dacht alles werkend te hebben, echter viel de verbinding van de IPTV na enkele minuten weg en is ook niet meer teruggekomen. Reboots van STB’s heeft ook geen zin, ik krijg meldingen als verbinding met zender/modem verbroken. Ik zie veel voorbij komen over een kernel route type, maar bij mijn routing tab zie ik alleen een static route. Ik vermoed dat hier iets niet lekker loopt aangezien het opslaan van het script niet fantastisch ging. Zou je me kunnen helpen?
De actieve statische route. Heb je die er zelf handmatig in gezet ?
Ik heb inmiddels alles aan de praat gekregen, zowel TV, internet en telefonie (3CX VoIP). Echter krijg ik haperend/storend beeld als twee tv ontvangers tegelijk aanzet. 1 werkt prima, maar de tweede krijgt de haperingen. EdgeRouter X als enige router in mijn netwerk, Netgear Orbi als access points en switches. Deze opstelling werkte wel met de Experiabox. Waar kan dit aan liggen?
Via deze weg wil ik je bedanken voor een werkende oplossing die goed te volgen is.
Dank je, altijd leuk om te horen.