Kaldenhoven Wiki
OPNsense setup voor het gebruik met KPN Glasvezel en KPN TV+ ontvangers. Gebaseerd op diverse handleidingen en fora (tweakers/reddit).
Opgesteld Maart 2023 en dus gebaseerd op de situatie van die tijd. (Er wijzigt nogal eens wat heb ik gemerkt door het lezen van alle fora e.d.)
Geupdate in 2025 met troubleshooting. Alles werkt nog steeds zoals hieronder omschreven
opnsense-logo.png

Inleiding

Zoals waarschijnlijk meer mensen is er bij ons ook glasvezel aangelegd door KPN en na kort nadenken ook overgestapt. Met name vanwege de hogere uploadsnelheid die glasvezel biedt.
Nu had ik de laatste jaren bij Ziggo mijn modem in bridge staan en pfSense en sinds 2 jaar OPNSense PC Engines APU2 direct aangesloten op de bridge. Dit wilde ik dan ook graag bij KPN om zodoende niet het modem van KPN te hoeven gebruiken en te voorkomen dat er dubbele NAT op zou treden en op 2 plekken port-forwards in te moeten stellen. (voorzover nodig)
Dus aan de slag met inlezen of het mogelijk is, want wist al wel dat er mogelijk wat extra dingen geconfigureerd moesten worden ivm TV van KPN.
Dat was dus wel het geval en heb zoals hierboven al staat een aantal bronnen hiervoor gebruikt. Die wil ik toch niet onvermeld laat, want waren een goed startpunt en gaven soms na nog eens goed lezen het juiste resultaat.

Verschil met de bovenstaande guides is dat je geen Gateway meer krijgt toegewezen op de IPTV interface. Gateway metrics / prioriteit instellen is dan ook niet meer nodig en zit ook niet in deze guide.

Problemen onderweg

KPN Modem

Voor het KPN modem kwam ik ook nog achter het feit dat je hier niet op kon inloggen via Chrome op een Macbook. Met Safari ging dit wel goed. Je krijgt een foutmelding dat het wachtwoord niet juist is, maar dat is dus onterecht. Modem moet je ook wel bewaren mocht er ooit iets mis zijn dan zal KPN ook vragen te testen met dit modem.

Doorvoersnelheid op OPNSense met PPPoE

Tweede punt van aandacht is de doorvoersnelheid op (pf/OPN)Sense. De internet verbinding wordt opgezet middels PPPoE en hier zit een beperking aan binnen FreeBSD (waar (pf/OPN)Sense op gebaseerd zijn). PPPoE is single threaded en CPU snelheid is dus beperkend in de doorvoersnelheid. Ik heb uiteindelijk gewisseld van een PC Engines APU2D4 naar een Protectli VP2410. Respectievelijk van 300 naar 900 MBps.

Achtergrond info

KPN splitst het verkeer op in 2 stromen en verdeeld dit over 2 VLANs op de WAN poort.

Nu ben ik er dus wel achter gekomen dat zelfs zonder het juist opzetten van VLAN4 de televisie prima werkt. Zowel via de App op je TV zelf alsook via de TV+ ontvangers (Sagemcom in mijn geval). Het enige verschil is dat het zappen van kanaal iets sneller gaat als je het wel hebt ingesteld.

Installatie

Installatie is niet heel ingewikkeld, maar moet je wel even goed bij nadenken. Overigens ga ik er vanuit dat de lezer enige ervaring heeft met OPNSense en dat ik er vanuit ga waar dingen geconfigureerd moeten worden. Daarnaast zijn de screenshots op basis van OPNSense, maar in pfSense zal dit nagenoeg op dezelfde plek geadministreerd worden.
Ik heb een setup waarbij de KPN boxes in een apart subnet (IoT in de screenshots op deze pagina) komen met allerlei andere smart apparaten. Dus niet dedicated voor KPN TV zoals je in bepaalde handleidingen ook wel ziet gebeuren. Je kan deze setup dus ook lezen als dat je het in je reguliere LAN zet. Daar waar nodig zal ik daar nog wel op wijzen hoe je dat dan moet zien.

VLAN's

Internet

Instelling Waarde
Device vlan06
Parent Interface waar rode kabel op aangesloten wordt
VLAN Tag 6
VLAN Priority Best Effort (0, default)
Description KPN_INTERNET of iets anders logisch

TV

Instelling Waarde
Device vlan04
Parent Interface waar rode kabel op aangesloten wordt
VLAN Tag 4
VLAN Priority Best Effort (0, default)
Description KPN_TV of iets anders logisch

kpn_vlan06.png
kpn-all-vlan.png

Interfaces toekennen

Wijzig nu de WAN interface naar het nieuwe VLAN6 en maak een nieuwe interface aan die gekoppeld is aan VLAN4. Save daarna.
Het ziet er daarna als volgt uit. IoT is het netwerk waar de TV boxes in komen.
kpn-int-assignment-1.png

WAN Interface configureren

Nu kan je de WAN interface gaan instellen.

Instelling Waarde
Basic Configuration
Enable interface Aangevinkt
Description WAN
Generic Configuration
Block private networks Aangevinkt
Block bogon networks Aangevinkt
IPv4 Configuration Type PPPoE
PPPoE Instellingen
Username internet
Password internet

Indien je ook IPv6 wil activeren dan de volgende instellingen ook nog.

Instelling Waarde
Generic Configuration
IPv6 Configuration Type DHCPv6
DHCPv6 Client Configuration
Configuration Mode Basic
Request only an IPv6 prefix Aangevinkt
Prefix delegation size 48
Use IPv4 connectivity Aangevinkt

Alles nog even een keertje op een rij in een screenshot.
kpn-wan-1.png

En de IPv6 instellingen.
kpn-wan-2.png

Klik op Save en Apply bovenaan.

KPN TV interface configureren

Instelling Waarde
Basic Configuration
Enable interface Aangevinkt
Description KPN_iTV
Generic Configuration
Block private networks Uitgevinkt
Block bogon networks Uitgevinkt
IPv4 Configuration Type DHCP
IPv6 Configuration Type None
DHCP Client Configuration
Configuration Mode Advanced
Lease Requirements: Send Options dhcp-class-identifier "IPTV_RG"
Lease Requirements: Request Options subnet-mask, routers, classless-routes

Let op de quotes bij Send Options.

Totaal overzicht als volgt:
kpn-itv-1.png
kpn-itv-2.png

ITV Interface overzicht

Als alles zoals hierboven is ingesteld en je naar Interfaces -> Overview en filtert op de itv interface zie je dat deze ook een IP adres heeft gekregen.
iptv-interface-overview.png

Firewall instellen

De firewall instellen bestaat uit 2 delen t.w. de regels en de NAT instellingen.
Voor het makkelijker maken van het instellen van de Firewall is het handig om een Alias aan te maken waarin de KPN TV Subnetten zitten.

Alias

Instelling Waarde
Enabled Aangevinkt
Name KPN_iTV_Hosts
Type Network(s)
Content 10.0.0.0/8 213.75.0.0/16 217.166.0.0/16
Description Hosts voor KPN iTV

kpnitv_alias.png

Firewall regels (rules)

IoT Interface

IoT Interface kan je ook vervangen door je LAN interface. Zoals gezegd zitten bij mij in dit segment alle 'Smart' apparaten die verder niet bij mijn reguliere LAN hoeven te komen. De instellingen werken net zoals op LAN.

kpn-iot-rules.png

Regel 1

Instelling Waarde
Action Pass
Interface IoT
Direction in
TCP/IP Version IPv4
Protocol IGMP
Source any
Destination any
Advanced Features allow options aangevinkt

kpn-iot-rule-1.1.png
kpn-iot-rule-1.2.png

Regel 2

Instelling Waarde
Action Pass
Interface IoT
Direction in
TCP/IP Version IPv4
Protocol any
Source any
Destination any
Advanced Features allow options aangevinkt

kpn-iot-rule-2.1.png
kpn-iot-rule-2.2.png

KPN_iTV Interface

Regel 1

Instelling Waarde
Action Pass
Interface KPN_iTV
Direction in
TCP/IP Version IPv4
Protocol IGMP
Source KPN_iTV_Hosts
Destination 224.0.0.0/4
Advanced Features allow options aangevinkt

Regel 2

Instelling Waarde
Action Pass
Interface KPN_iTV
Direction out
TCP/IP Version IPv4
Protocol IGMP
Source KPN_iTV_Hosts
Destination 224.0.0.0/4
Advanced Features allow options aangevinkt

Regel 3

Instelling Waarde
Action Pass
Interface KPN_iTV
Direction in
TCP/IP Version IPv4
Protocol UDP
Source KPN_iTV_Hosts
Destination 224.0.0.0/4
Advanced Features allow options aangevinkt

Dat ziet er dan zo uit.
kpn-kpn_itv-rules.png
In meer detail als volgt. (Alleen bovenzijde instellingen)
Regel 1
kpn-kpn_itv-rules-1.png
Regel 2
kpn-kpn_itv-rules-2.png
Regel 3
kpn-kpn_itv-rules-3.png

Firewall NAT

Schakel eerst om van Automatic naar Hybrid Outbound NAT. Ga hiervoor naar Firewall -> NAT -> Outbound
kpn-outbound-nat.png

En zet om naar Hybrid Outbound.
kpn-outbound-nat-mode.png

Doordat we alle KPN hosts in een Alias hebben gevat kunnen we met 1 regel toe. In een aantal andere tutorials stonden meerdere regels, 1 voor elk subnet, maar met de Alias is het wat simpeler geworden.
NAT Regel

Instelling Waarde
Interface KPN_iTV
TCP/IP Version IPv4
Protocol any
Source address IoT net
Destination address KPN_iTV_Hosts
translation/target KPN_iTV address (which is the interface address)

Dat ziet er dan als volgt uit.

kpn-outbound-nat-rule.png
Save en Apply met dit als totaaloverzicht.
kpn-outbound-nat-rule-overzicht.png

IGMP Proxy

KPNTV maakt gebruik van multicast om de TV streams af te leveren. Om te voorkomen dat dit verkeer (het is immers multicast) alle kanten op gaat moet je op OPNSense een IGMP proxy installeren.
Daarnaast moeten je netwerkswitches ook IGMP Snooping ondersteuning zodat het multicast verkeer niet op alle poorten wordt gebroadcast.

Als je geen switches hebt die dit ondersteunen (Alhoewel dat vrij onwaarschijnlijk is als je wel een OPNSense router gebruikt dat je dan eenvoudige switches gebruikt) dan kan je eigenlijk ook zonder dit stuk en ook zonder het opzetten van de IPTV interface en alle bijbehorende regels. In het begin had ik de regels namelijk nog niet juist staan en kwam het TV verkeer gewoon over de WAN interface. De sagemcom boxen schakelen dan automatisch over naar unicast. Dit laatste kan je ook definitief in het menu instellen van de TV boxen.

Een reden om dit wel te gebruiken is dat het 'zappen' wat sneller gaat.

Installeer eerst via System -> Firmware -> Plugins de plugin os-igmp-proxy.
Ga hierna naar Services -> IGMP Proxy.
Maak nu de volgende 2 regels aan.
Upstream regel

Instelling Waarde
Interface KPN_iTV
Description Iets zinnigs invoeren 😉
Type Upstream Interface
Threshold Leeg
Network(s) 10.0.0.0/8 / 213.75.0.0/16 / 217.166.0.0/16

Dat ziet er dan zo uit

kpn-igmp-upstream.png

Downstream regel

Instelling Waarde
Interface IoT (Of je LAN interface)
Description Iets zinnigs invoeren 😉
Type Downstream Interface
Threshold Leeg
Network(s) 172.16.6.0/24 (Of je LAN subnet waar de TV boxen in komen)

Dat ziet er dan zo uit

kpn-igmp-downstream.png

Resultaat

Uiteindelijk wil je dan bij de speedtest dit zien!!

speedtest-1g.png

Troubleshooting

Zappen gaat niet snel

Waarschijnlijk is er in dit geval sprake van dat de tv ontvanger via de normale internetverbinding tv aan het streamen is en niet via multicast. Er kunnen meerdere oorzaken zijn.