In dit artikel creëren we een VPN-server (Virtual Private Network) op een Ubuntu Server. Deze kunnen we voor verschillende doelen inzetten. Als u deze server in uw thuisnetwerk zet, krijgt u vanaf overal ter wereld op een veilige manier toegang tot andere computers op uw thuisnetwerk, zoals uw NAS. Bovendien kunt u deze beveiligde verbinding ook gebruiken als u verplicht bent ergens te surfen via een onbeveiligd draadloos netwerk. Dezelfde kennis komt overigens nog in een andere situatie van pas: heel wat websites zijn enkel toegankelijk in een bepaald land, bijvoorbeeld omdat ze audio of video aanbieden waarvoor ze enkel de rechten in dat land gekocht hebben. Als u een VPS (Virtual Private Server) in dat land huurt en daarop Ubuntu met een VPN-server plaatst, krijgt u door via deze VPN-server te surfen wel toegang tot deze websites, omdat het voor hen dan lijkt dat u vanuit dit land surft.

Over het opzetten van een Linux-server leest u meer in het artikel Uw eigen Linux-server.

SSH SOCKS-proxy

1. Tijdelijke oplossing

Wilt u geen permanente oplossing voor veilig en zonder beperkingen surfen (een VPN) maar wilt u nu snel even een veilige verbinding opzetten? Dan kunt u gebruikmaken van een SSH SOCKS-proxy. Zo kunt u veilig op een onveilig draadloos netwerk surfen, bijvoorbeeld in een hotel of op een conferentie. Een SSH SOCKS-proxy vereist enkel een publiek toegankelijke server waarop SSH draait. Uw VPS of router thuis die via een DynDNS-domeinnaam bereikbaar is, kan hiervoor dienen. En dat zonder enige bijkomende configuratie aan de serverkant!

© PXimport

2. Verbinding starten

Gebruikt u Windows, zoek dan waar het bestand putty.exe is opgeslagen (of download het) en ga met de opdracht cd naar die directory. Geef daarna de volgende opdracht: putty.exe -D 8080 -C gebruiker@voorbeeld.nl, waarbij u natuurlijk de gebruiker en domeinnaam vervangt. De optie D geeft aan dat u een SOCKS-proxy opent die lokaal op poort 8080 luistert, terwijl de optie C compressie inschakelt. Gebruikt u Linux of Mac, open dan de terminal (Mac: Venster / Hulpprogramma's / Terminal), en gebruik het commando ssh -D 8080 -C gebruiker@voorbeeld.nl.

© PXimport

3. Proxy in Firefox

Open nu Firefox en ga naar Extra / Opties, kies Geavanceerd en daarna het tabblad Netwerk. Bij Verbinding kiest u voor Instellingen. Selecteer daar Handmatige proxyconfiguratie en vul bij SOCKS-host in: localhost en poort 8080. Klik daarna op OK en typ in de adresbalk about:config, waarin u network.proxy.socks_remote_dns op true zet om ook de DNS-aanvragen via uw proxy te laten verlopen. Vanaf nu surft u in Firefox veilig en versleuteld via uw Ubuntu Server, zodat niemand op het onbeveiligde draadloze netwerk kan afluisteren welke websites u bezoekt.

© PXimport

VPN - Server klaarmaken

4. PPTP

Een SSH SOCKS-proxy moet u afzonderlijk configureren voor elke toepassing waarmee u er gebruik van wilt maken. Dit is niet praktisch. Een VPN daarentegen zorgt ervoor dat ál uw programma's via deze verbinding lopen. Niet alleen uw browser, maar ook uw instant messaging-client, Skype, e-mailprogramma, computergame enzovoort. Er bestaan verschillende types VPN. Wij kiezen voor PPTP omdat het breed ingeburgerd is en standaard ondersteund wordt door Windows, Ubuntu, Android-smartphones en de iPhone.

© PXimport

5. Installatie

Installeer pptpd met sudo apt-get install pptpd. Open daarna het configuratiebestand met sudo nano /etc/pptpd.conf en ga naar het einde. Daar geeft u met localip het IP-adres van de server in het VPN op, en met remoteip het adresbereik van de verbonden clients. Voor de eerste kunt u gewoon het hekje voor de regel #localip 192.168.0.1 weghalen. Indien uw LAN ook IP-adressen in het bereik 192.168.0.* gebruikt, moet u ook het IP-adres in deze regel wijzigen. Voor de clients geeft u bijvoorbeeld remoteip 192.168.0.100-109 in, waarmee tien clients met uw VPN kunnen verbinden.

© PXimport

6. Encryptie

Kijk enkele opties na in het bestand /etc/ppp/pptpd-options. Er moet een regel require-mschap-v2 staan voor authenticatie en require-mppe-128 voor encryptie. Ook moeten er regels refuse-pap, refuse-chap en refuse-mschap staan, die onveilige authenticatiemethodes uitschakelen. Wilt u helemaal geen encryptie gebruiken, bijvoorbeeld omdat u uw VPN enkel gebruikt om films te kunnen bekijken uit een ander land, dan kunt u een hekje (#) zetten voor al deze regels.

© PXimport

7. DNS

Vul in het bestand /etc/ppp/pptpd-options de DNS-servers in. Deze worden gebruikt door de clients die met het VPN verbinden. U hebt drie mogelijkheden. U kunt de DNS-servers invullen die uw Ubuntu Server gebruikt (zoalsdie van uw VPS- of internetprovider), die u kunt zien in het bestand /etc/resolv.conf na de regel nameserver. U kunt de gegevens van de DNS-servers van Google invullen: 8.8.8.8 en 8.8.4.4. Of u kiest voor OpenDNS: 298.67.222.222 en 208.67.220.220. Elke DNS-server komt in het bestand /etc/ppp/pptpd-options in een regel die begint met ms-dns.

© PXimport

8. Gebruikers

De voorlaatste stap aan de serverkant is het definiëren van gebruikers en wachtwoorden. Dat doet u in /etc/ppp/chap-secrets, waar u kolommen ziet voor client, server, secret en IP addresses. Druk telkens op Tab om naar de volgende kolom te gaan. Geef in de eerste kolom een gebruikersnaam op, vul in de tweede pptpd in (standaardnaam van de server), daarna het wachtwoord dat liefst zo lang mogelijk is (bijvoorbeeld twintig tekens), en tot slot * om toegang vanaf alle IP-adressen mogelijk te maken. Voor elke gebruiker doet u nu hetzelfde op een nieuwe regel.

© PXimport

9. Laatste instellingen

We passen nog enkele zaken onder de motorkap van Ubuntu aan. Open /etc/sysctl.conf en verwijder het hekje bij #net.ipv4.ip_forward=1. Open daarna /etc/rc.local en voeg vlak voor de regel exit 0 het volgende toe: iptables -t nat -A POSTROUTING -j MASQUERADE. Sla dit op en herstart uw Ubuntu Server met sudo reboot, hierna is hij klaar voor gebruik als VPN-server. Staat uw Ubuntu Server in uw LAN en wilt u ook van erbuiten toegang krijgen, zorg dan dat poort 1723 op uw router geforward wordt naar het IP-adres van uw VPN-server in uw LAN.

© PXimport

VPN - Verbinding maken

10. Nieuwe VPN-verbinding

We veronderstellen in dit artikel dat u met een Windows 7-computer op uw LAN wilt verbinden en een VPN-server op een VPS. Nu de serverkant in orde is, opent u het configuratiescherm op uw Windows-computer. Klik onder Netwerk en internet op Netwerkstatus en -taken weergeven, waarna u het Netwerkcentrum te zien. Klik onderaan op Een nieuwe verbinding of een nieuw netwerk instellen en selecteer in de lijst Verbinding met een bedrijfsnetwerk maken en in het volgende venster Mijn internetverbinding (VPN) gebruiken.

© PXimport

11. Configuratie VPN

In de volgende vensters stelt u een aantal zaken in, overeenkomstig met hoe u de VPN-server geconfigureerd hebt. Eerst het internetadres, dat de domeinnaam of het IP-adres van uw Ubuntu Server is. Verbindt u niet vanaf uw LAN met een VPS, maar vanaf internet met de VPN-server, dan moet u hier de dynamische domeinnaam instellen die uw router voor uw internetverbinding bijhoudt én u moet in uw router poort 1723 forwarden naar het interne IP-adres van uw Ubuntu Server. Geef tot slot in het laatste venster van de configuratie van de VPN-verbinding gebruikersnaam en wachtwoord in.

© PXimport

12. Controleren

Als alles goed gaat, bent u nu met het VPN verbonden. U kunt dit eenvoudig controleren door te surfen naar What Is My IP. Als u een IP-adres in het adresbereik van uw internetprovider te zien krijgt, surft u nog altijd zonder VPN. Indien de website het IP-adres van de VPS toont, surft u via het VPN. Klik op het netwerkicoontje in de taakbalk van Windows, waarna u te zien krijgt dat u verbonden bent met uw VPN-verbinding. Klikt u op de VPN-verbinding dan kunt u de verbinding verbreken, rechtsklikt u dan kunt u de status of eigenschappen opvragen.

© PXimport

13. Status

De status van de VPN-verbinding toont allerlei gegevens, zoals de verbindingsduur en hoeveel bytes er al verzonden en ontvangen zijn. Klikt u op het knopje Details, dan krijgt u het IP-adres te zien dat uw computer van de VPN-server krijgt (bijvoorbeeld 192.168.0.100) en de gebruikte DNS-servers. Klikt u op het tabblad Details, dan ziet u ook wat het IP-adres van de VPN-server in het VPN is (in ons geval 192.168.0.1), en het IP-adres van de VPN-server op internet. Bovendien ziet u hier ook de gebruikte authenticatie (MS CHAP V2) en versleuteling (MPPE 128).

© PXimport

14. Eigenschappen

In het venster Eigenschappen kunt u zaken aanpassen die u niet te zien kreeg tijdens de configuratie van uw nieuwe VPN-verbinding. Zo kunt u instellen dat er eerst met een ander netwerk verbonden wordt als u met het VPN verbindt. In de PPP-instellingen van het tabblad Opties kunt u ook compressie inschakelen. Het tabblad Beveiliging is normaal al in orde, maar kijk toch maar na of er bij Gegevensversleuteling Versleuteling verplicht staat, en bij de protocollen MS-CHAP v2 aangevinkt is. In het tabblad Delen kunt u de VPN-verbinding delen met andere computers.

© PXimport

15. Netwerkonderdelen

In het tabblad Netwerk van het venster Eigenschappen staan standaard verschillende componenten ingeschakeld die u niet altijd nodig hebt. Gebruikt u uw VPN bijvoorbeeld op een VPS in Amerika om Hulu te bekijken, dan heeft u enkel Internet Protocol versie 4 (TCP/IPv4) nodig, en kunt u de andere componenten gerust afvinken. Gebruikt u het VPN om vanaf internet toegang te krijgen tot uw thuisnetwerk, danis het waarschijnlijk interessant om Bestands- en printerdeling voor Microsoft-netwerken en Client voor Microsoft-netwerken ingeschakeld te laten.

© PXimport

Nieuwe VPN-verbinding in Ubuntu

U bent helemaal niet beperkt tot Windows om uw VPN-server te gebruiken. Gebruikt u bijvoorbeeld Ubuntu op uw laptop of netbook, dan kunt u natuurlijk ook heel eenvoudig verbinden met uw VPN. Open het menu Systeem / Voorkeuren / Netwerkverbindingen en ga naar het tabblad VPN. Klik op Toevoegen en kies uit de lijst Point-to-Point Tunneling Protocol (PPTP). In het venster erna geeft u bij Gateway de domeinnaam of het IP-adres waarop uw server bereikbaar is in, en daaronder uw gebruikersnaam en wachtwoord bij het VPN. Klik daarna op Advanced en vink Use Point-to-Point encryption (MPPE) aan.

© PXimport

Verbinden in Ubuntu

Om met het VPN te verbinden klikt u op het netwerkicoontje in het Gnome-paneel bovenaan en kiest u in het menu dat verschijnt het submenu VPN-verbindingen en dan de naam van uw VPN-verbinding. Na enkele seconden verschijnt er een slotje onder het netwerkicoontje als aanduiding dat u nu het VPN gebruikt. U kunt de verbinding verifiëren met de opdracht ifconfig ppp0 in een terminalvenster.

16. Lokaal netwerk

Als u uw VPN-server binnen uw eigen LAN zet, kunt u van overal ter wereld in uw lokaal netwerk. Daarvoor moet u wel port forwarding in uw router inschakelen: laat poort 1723 doorschakelen naar poort 1723 op het lokale IP-adres van uw Ubuntu Server. Stel in uw router ook in dat er een dynamische domeinnaam gekoppeld wordt aan het IP-adres dat u van uw internetprovider toegewezen krijgt. Nu kunt u buitenshuis een VPN-verbinding opzetten naar uw dynamische domeinnaam. Uw router forwardt de verbinding naar uw Ubuntu Server in uw LAN.

© PXimport

17. Bestanden

U kunt deze toegang tot uw lokale netwerk gebruiken om bijvoorbeeld van buitenshuis bestanden op uw NAS in te lezen of om via een lokale SIP-server veilig te bellen met uw huisgenoten. De mogelijkheden zijn onbegrensd. Dezelfde techniek wordt in bedrijven natuurlijk in de andere richting gebruikt: daar draait dan een VPN-server in het bedrijf, waartoe werknemers van thuis uit verbinden om bijvoorbeeld te kunnen thuiswerken.

© PXimport

18. Lokale beperkingen

U kunt een VPN gebruiken om locatie­restricties te omzeilen. Als een game die u graag speelt bijvoorbeeld enkel multiplayer in een LAN ondersteunt en niet over internet, terwijl u juist met een vriend via internet wilt spelen, wanhoop dan niet. Verbind beiden met dezelfde VPN-server en gebruik de IP-adressen die u door de VPN-verbinding toegewezen krijgt. Voor het spel lijkt het alsof u in hetzelfde LAN aanwezig bent. Afhankelijk van het spel moet u misschien nog iets op uw router configureren. Voor games hebt u geen encryptie nodig, dus dit kunt u uitschakelen in het bestand /etc/ppp/pptpd-options.

© PXimport

Nieuwe VPN-verbinding in iOS

Ook op uw iPhone of iPod touch hebt u toegang tot uw VPN. Open Instellingen / Algemeen / Netwerk / VPN. Druk op Voeg VPN-configuratie toe en kies dan het tabblad PPTP. Geef uw VPN een naam bij Beschrijving, vul de domeinnaam of het IP-adres in bij Server en vul uw gebruikersnaam en wachtwoord in bij Account respectievelijk Wachtwoord. De rest van de instellingen kunt u op hun standaardwaardes laten staan. Druk op Bewaar en schakel VPN dan in.

© PXimport

Verbindingsstatus in iOS

Na enkele seconden bent u met uw VPN verbonden. U krijgt in het venster Instellingen / Algemeen / Netwerk / VPN nu ook statusinformatie te zien, waaronder hoe lang u al met het VPN verbonden bent, het IP-adres dat u op het VPN hebt en het IP-adres van de VPN-server op het VPN en op internet. Zolang u met het VPN verbonden bent, toont iOS ook bovenaan een blauw icoontje naast het icoontje van het netwerk.

19. Kijk Hulu

Elke keer dat u films op Hulu of een andere website die zijn content enkel in de VS aanbiedt wilt bekijken, start u een VPN-verbinding naar een Amerikaanse VPS waar u Ubuntu met PPTP geïnstalleerd hebt. Klik daarvoor op het netwerkicoontje, selecteer VPN-verbinding en klik op Verbinding maken. Als u daarna in uw webbrowser naar Hulu surft, krijgt u gewoon toegang. Voor meer uitleg en andere manieren verwijzen we naar het artikel Online vanuit een ander land. Zorg er wel voor dat uw VPS genoeg downloadvolume per maand heeft.

© PXimport

20. Surf zonder potten­kijkers

Aangezien het netwerkverkeer dat via het VPN verloopt versleuteld is (tenzij u dit in het configuratiebestand /etc/ppp/pptpd-options uitgeschakeld hebt), kunt u veilig surfen. Wilt u dus uw e-mail checken maar is er enkel een onversleuteld draadloos netwerk aanwezig? Wees dan niet bang voor afluisteraars: verbind gewoon met het onveilige netwerk en start uw VPN-verbinding daarna op. Tools zoals Firesheep, die accounts op websites kapen, hebben nu geen vat meer op u.

© PXimport

21. En verder

Hiermee zijn we aan het einde van onze vierde expertworkshop over Ubuntu. Deze maand hebt u de mogelijkheden gezien die u krijgt als u zelf een Virtual Private Network opzet. Dankzij Ubuntu en PPTP kunt u heel wat beperkingen van websites of programma's omzeilen en tegelijk kunt u er veilig mee surfen op onbetrouwbare netwerken. Volgende maand eindigen we onze reeks over Ubuntu met een laatste workshop: we richten onze Ubuntu Server in als bestands- en printserver, doen aan mediastreaming en geven nog een aantal tips om Ubuntu te beveiligen.

© PXimport

Deel dit artikel
Voeg toe aan favorieten