Overal online internet TV kijken, ook in het buitenland

Mijn relatie is onlangs beëindigd en dat is zwaar kloten. Gevolg is dat ik verhuist ben naar een plek waar gelukkig wel internet is maar helaas geen TV. Mijn ex en ik zijn zonder wrok uit elkaar gegaan en gelukkig wil ze mij de inloggegevens verstrekken van KPN iTV. Maar als ik probeer in te loggen op http://www.kpnvandaag.nl/#itvonline dan krijg ik deze melding:
kpn_error_i_tv

Oorzaak niet in kunnen loggen op iTV:

De reden waarom ik deze foutmelding krijg (en jij waarschijnlijk ook als je op vakantie gaat) is omdat iTV van KPN eerst kijkt naar het IP adres van de aanvrager. Dit IP adres komt niet overeen als je ergens anders inlogt omdat je dan via een ander WAN IP connectie probeert te maken.

Oplossing overal kijken waar je wilt:

In dit artikel laat ik je zien hoe je dit instelt voor KPN. Maar dit artikel kun je ook gebruiken als je een andere serviceprovider (ISP) hebt. De oplossing is om ergens anders verbinding te maken met je thuisnetwerk, maar hoe doe je dit? Dit doe je door het opzetten van een VPN server. Dit klinkt misschien heel erg intimiderend als je niet weet wat het is, maar stelt eigenlijk niet veel voor. Om dit verhaal wat duidelijker te maken heb ik hieronder een overzicht gemaakt van hoe deze VPN server (Raspberry PI) gaat werken:
vpn raspberry pi

VPN Server maken

Toevallig had ik een Raspberry PI, mocht jij er geen hebben dan kun je hem hieronder bestellen. De Raspberry PI is perfect in deze situatie om te gebruiken. Als je dit apparaat 356 dagen per jaar aan laat staan ben je ongeveer 6 euro kwijt aan stroomkosten!

Raspberry PI bestellen

Ik heb een overzicht gemaakt van zaken die je kunt bestellen zoals de Raspberry PI en cases die je al voor weinig geld kunt bestellen. Daarnaast kun je ook nog een adapter bestellen (1V), maar een Blackberry of Nokia oplader werkt ook! Daarnaast als je geen SD kaart hebt dan kun je deze ook hieronder bestellen:

Download:

Gratis programma’s die je moet downloaden heb ik hieronder gezet, de links zijn niet direct zodat je een gewenst besturingssysteem kan selecteren.

putty icon logo Putty (remote beheer): Download link
win32disk icon logo Formatteer je SD kaart: Download link
sd formatter icon logo OS wegschrijven op SD kaart: Download link

operating system images raspberrypi
Download het besturingsysteem

Image wegschrijven op de SD kaart

Nadat je de bovenstaande programma’s gedownload en geïnstalleerd hebt kunnen we het besturingssysteem op de SD kaart zetten. Eerst start je SD formatter op, zet format size op ON. Let er ook heel goed op dat je de juiste schijf selecteert. Voor hetzelfde geld selecteer je je eigen schijf en ben je alles kwijt!
sd formatter raspberrypi config

Daarna gaan we de image kopieeren naar de sd kaart via het eerder geïnstalleerde programma Win32drive. Laad de image via het map icoontje, daarna klik je op Write om de image weg te schrijven op de SD kaart.
win 32 disk manager raso berrypi config

Stap voor stap handleiding

Vast / statisch ip adres instellen:

Typ eerst in

pi@raspberrypi ~ $ sudo ifconfig

en noteer deze gegevens.

pi@raspberrypi ~ $ sudo /etc/network/interfaces

Haal dhcp weg en verander dit in static en zet de volgende gegevens erbij:

iface eth0 inet static
address 192.168.0.6
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

De VPN Server installeren en instellen

pi@raspberrypi ~ $ sudo apt-get update

[ENTER]

pi@raspberrypi ~ $ sudo apt-get upgrade

[ENTER]

Daarna check MPPE support:

pi@raspberrypi ~ $ sudo modprobe ppp-compress-18

[ENTER]

Geen errors? Dan zijn we klaar om te gaan!

Daarna, installeer PPTP server package:

pi@raspberrypi ~ $ sudo apt-get install pptpd

[ENTER]

Nu gaan we de pptp.conf file bewerken:

pi@raspberrypi ~ $ sudo nano /etc/pptpd.conf

[ENTER]

Aan het einde van het tekstbestand gaan we de volgende regels un commenten.

localip 192.168.0.1
remoteip 192.168.1.234-238,192.168.1.245

 

En verander het “localip” naar je raspberry pi ip adres
Remoteip = deze worden uitgegeven naar je clients.

Druk Control + X om het bestand te sluiten en op te slaan.

Hierna gaan we de ‘/etc/ppp/pptpd-options’ file bewerken.

pi@raspberrypi ~ $ sudo nano /etc/ppp/pptpd-options

[ENTER]

Voeg het volgende toe aan het eind van het bestand:

ms-dns 192.168.1.1
noipx
mtu 1490
mru 1490

Waar het ip adres ms-dns is waarschijnlijk het ip adres van je router

Druk Control + X om het bestand te sluiten en op te slaan.

 

Hierna gaan we de ‘/etc/ppp/chap-secrets’ file bewerken. Hier stel je een gebruikersnaam en wachtwoord in.

pi@raspberrypi ~ $ sudo nano /etc/ppp/chap-secretss

[ENTER]

Voeg je credentials toe als volgt:

gebruikersnaam[TAB]*[TAB]wachtwoord[TAB]*

Druk Control + X om het bestand te sluiten en op te slaan.

Hierna gaan we de VPN server herstarten:

pi@raspberrypi ~ $ sudo service pptpd restart

[ENTER]

 

Nu gaan we de forward instellen:

pi@raspberrypi ~ $ sudo nano /etc/sysctl.conf

[ENTER]

Vind “net.ipv4.ip_forward=1” en haal het # weg (of verander =0 to =1)

Druk Control + X om het bestand te sluiten en op te slaan.

 

Voer het volgende uit om veranderingen door te voeren:

pi@raspberrypi ~ $ sudo sysctl -p

[ENTER]

Laatste stap: Adding iptables rule:

pi@raspberrypi ~ $ sudo nano /etc/rc.local

[ENTER]

 

Voeg onderstaande lijn toe net boven “exit 0”

sudo iptables -t nat -A POSTROUTING -s 192.168.x.234/24 -o eth0 -j SNAT –to IPADRESVANJERASPBERRYPI

 

Druk Control + X om het bestand te sluiten en op te slaan.

Port forwarding

Nu onze VPN server draait moeten we deze nog bereikbaar maken voor verbinding van buitenaf. Dit is niet veel werk en hoef je maar 1 keer in te stellen!

Log eerst in op je router en stel poort 1723 in en stel TCP and UDP in, tot slot voer je een naam in bijv. RPI VPN:
portforward vpn kpn

Nu we een nieuwe groep hebben gemaakt hoeven we alleen nog de RPI te selecteren en de eerder gemaakte groep:
portforward kpn vpn

 

Daarna nog even de DMZ instellen en de UpnP

upnp dmz

No IP uitleg

In het filmpje van “manthan” is het niet echt duidelijk hoe je no IP in moet stellen. Daarom een voorbeeld hieronder hoe ik mijn no IP heb ingesteld. Standaard is DNS host record (A) geselecteerd, laat dit zo! Bij IP address vul je je wan adres in, deze kun je vinden op http://www.whatismyip.com/.
noip uitleg

VPN verbinding testen

Eenmaal up and running zijn we klaar om onze VPN verbinding te testen. Dit heb ik gedaan via mijn i-Phone via de 3G verbinding, en hier kon ik ook meteen online internet TV kijken :). Maar mocht je op een andere locatie zitten dan kun je dit ook uiteraard testen met een tablet of pc/laptop. Hieronder een voorbeeld hoe je verbinding maakt met het VPN netwerk vanuit een Windows PC:
vpn instellen

Illegaal of niet?

Toen ik een vriend van mij sprak en hem vertelde over dit project toen vroeg hij gelijk: “Is dit wel legaal?”. Naar mijn mening is dit niet illegaal. Dit omdat je al betaald voor internet tv en KPN maakt het mogelijk om de router open te stellen voor een VPN server. Wat uiteraard wel illegaal is, is de login gegevens doorverkopen van het KPN account of VPN account!

Conclusie

Deze manier van een VPN server opzetten en op die manier verbinding maken met iTV, zoals ze dit in het Engels zeggen: “Works like a charm!”. Ik verbaas me echt over de prestaties van deze kleine Raspberry PI die nu fungeert als VPN server. LET WEL OP! Het PPTP protocol wat we hiervoor gebruikt hebben is makkelijk te kraken voor een hacker, doe dus geen bankzaken in het buitenland via open WIFI of via deze VPN verbinding. Mocht je dit toch willen, dan is OPEN VPN wellicht een goede keus. Met OPEN VPN kun je certificaten instellen maar hier moet je uiteraard wel meer moeite voor doen.

14 Comments
  1. Misschien ken je iemand die Linux wilt leren in je omgeving? Of je kunt natuurlijk horizon van ziggo of upc bestellen dan kan het ook maar moet je ervoor betalen 😉

  2. Tommie,

    bedankt voor de hulp die je me gegeven hebt,het werkt zeer goed
    ik heb het geprobeerd met 4g en dat gaat goed,ik zal het volgende week uittesten in spanje
    bedankt voor je geduld met deze oudere man

  3. Netjes beschreven. Super dat nu iemand uit Nederland nuttige zaken beschrijft. Ik ga de VPN maar eens proberen te installeren. Zou gewoon een ssh verbinding ook werken voor KPN tv? ( ssh -D 8080 -C pi@ipadrespi) Daarna firefox ook instellen (proxy)

  4. Tom,

    als je hier (pi@raspberrypi ~ $ sudo modprobe ppp-compress-18) wel een fout (FATAL: Module ppp­compress­18 not found.) krijgt??

  5. Nou het gehele proces doorlopen maar nog wel problemen:
    Bij mij is de server op 10.0.0.10. Static IP adres gaat nu goed. De Gateway is 10.0.0.1.
    Als ik een VPN verbinding maak via de hotspot op mijn iphone (4G) en mijn laptop, dan krijg ik IP adres 10.0.0.234. Echter ik kan alleen de router bereiken. Overige internet requests worden geweigerd. Mijn router is een netgear 600.

    Welk merk ik dat er de laatste opdracht stuk op loopt in rc.local:
    Mijn opdracht is:

    sudo iptables -t nat -A POSTROUTING -s 10.0.x.234/24 -o eth0 -j SNAT -to 10.0.0.10

    Dan zegt hij invalid parameter ‘10.0.0.10’

    als ik er dit van maak:

    sudo iptables -t nat -A POSTROUTING -s 10.0.x.234/24 -o eth0 -j SNAT –to-source 10.0.0.10

    dan klaagt hij over 10.0.x.234/24

    Dus ik ben ff los.

    Portforwarding staat aan in het juiste bestand.

  6. Hallo,
    Ik ben begonnen om je VPN te bouwen
    Als ik echter de regel sudo /etc/network/interfaces invoer dan kent hij de opdracht niet!
    Wat gaat er fout.
    Ik heb versie 2 van de raspberry de OS is de raspbian debian wheezy
    ligt dat aan de versie 2 of doe ik iets fout?

    Patrick

  7. ik zou sudo nano /etc/network/interfaces invoeren, heb ik dat niet goed gedocumenteerd?

  8. Nano stond er niet tussen in de commandline. Dat zal het wezen dus. Ik kon wel via de windowsomgeving de bedoelde file bekijken in kladblok maar ik wist niet of het zou werken als ik daar veranderingen in aanbracht. Vandaar dat ik het eerst even gevraagd heb. Je hoort van me als ik het geprobeert heb.
    Gr Pat

  9. Nano stond er niet tussen. Dat ertussen zetten en je komt er wel in.
    Uiteindelijk krijg ik het met geen mogenlijkheid aan de praat.
    De router van tele2 heeft de opties niet om in te stellen zoals jij aangeeft…..
    Heb jij hier nog ideeën voor?

    Pat

  10. Hoi Pat,

    Ik neem aan dat je bedoeld dat port forwarding niet werkt op je tele2 router. Dit artikel heb ik geschreven voor een Experia router. Voor een tele2 port forwarding probleem zou ik deze site raadplegen. Hopelijk help dit.

    Greetz Tomz

  11. Op de een of andere manier lukte het niet om response te krijgen op mijn client, verbinden ging wel goed! uiteindelijk heb ik de aanpassing in de rc.local vervangen door iets wat ik op internet vond:
    iptables -I INPUT -p tcp –dport 1723 -m state –state NEW -j ACCEPT
    iptables -I INPUT -p gre -j ACCEPT
    iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
    iptables -I FORWARD -p tcp –tcp-flags SYN,RST SYN -s 172.20.1.0/24 -j TCPMSS –clamp-mss-to-pmtu

    Dit zorgde voor een werkend geheel.

    Ik gebruik trouwens raspbian jessie en pptpd startte niet automatisch,
    sudo systemctl enable pptpd zorgde ervoor dat dat nu wel gebeurd.

Leave a Reply

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