VPN (WireGuard) 16-bit illustratie - Home Server Labs
netwerk · veilig op afstand

Een eigen VPN: veilig bij je server, waar je ook bent

Stel je een onzichtbare, versleutelde tunnel voor die rechtstreeks van je telefoon naar je huis loopt. Zo werkt een VPN: alsof je gewoon thuis op de bank zit, ook als je in de trein zit.

Wat is een VPN nou eigenlijk, in gewone taal?

VPN staat voor "Virtual Private Network" — een virtueel, privénetwerk. In gewone mensentaal: het is een beveiligde tunnel tussen twee plekken op het internet. Zonder VPN reist al je internetverkeer via allerlei tussenstations die kunnen meekijken. Met een VPN gaat het verkeer eerst door een versleutelde tunnel naar een plek die jij vertrouwt — in dit geval: je eigen huis.

Veel mensen kennen VPN's van commerciële diensten die je "anoniem" laten surfen. Dit is anders: dit is een eigen VPN-server, die je thuis neerzet zodat jij — en alleen jij — van onderweg veilig bij je eigen spullen kunt. Denk aan: bij je Nextcloud-bestanden kunnen zonder ze naar buiten open te zetten, bij je Pi-hole thuis blijven surfen vanaf je vakantieadres, of gewoon veilig internetten via een onbeveiligd wifi-netwerk in een café.

We raden hiervoor WireGuard aan: een modern, snel en simpel VPN-protocol dat inmiddels de standaard is geworden in de zelfhost-wereld — sneller en makkelijker in te stellen dan de oudere alternatieven zoals OpenVPN.

Wat heb je nodig?

  • vereistPoort-doorverwijzing op je router (meestal onder "Port forwarding") zodat verkeer van buiten je huis bij je VPN-server terecht kan
  • handigEen vast IP-adres van je internetprovider, of een gratis dynamische domeinnaam-dienst (DDNS) als je adres regelmatig wisselt
  • lichtWeinig rekenkracht nodig — WireGuard is bewust heel efficiënt gebouwd, ook een Raspberry Pi kan het makkelijk aan

Handmatig installeren, stap voor stap

  1. Installeer WireGuard op je server

    Op de meeste Linux-systemen staat WireGuard gewoon in de standaard software-bron:

    installeer-wireguard.sh
    $ sudo apt update
    $ sudo apt install wireguard
  2. Maak sleutels aan

    WireGuard werkt met een setje digitale sleutels in plaats van een wachtwoord — net als een fysieke sleutel die alleen op één slot past:

    maak-sleutels.sh
    $ wg genkey | tee privatekey | wg pubkey > publickey
  3. Stel de tunnel in en zet een poort open

    Dit vraagt wat handwerk in een configuratiebestand: welk IP-adres je server binnen de tunnel krijgt, en welke poort je router moet doorverwijzen. Dit is precies het stukje waar een community-script je het meeste werk uit handen neemt (zie hieronder).

De snelle weg: installeren met een community-script

Draai je Proxmox? Dan regelt een gratis community-script — gemaakt door vrijwilligers en gebruikt door duizenden zelfhosters — het lastige sleutelwerk automatisch. Het bouwt een eigen, afgeschermd hokje ("container") met WireGuard er al kant-en-klaar in, inclusief een simpel scherm waarmee je nieuwe apparaten (zogeheten "peers") kunt toevoegen zonder zelf sleutels te hoeven uitrekenen.

proxmox-shell — community-script
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/wireguard.sh)"
even opletten

Voer nooit zomaar een script van internet uit zonder te weten wat het doet. Dit script is gratis in te zien op GitHub voordat je het draait, en wordt door een grote gemeenschap onderhouden. Omdat een VPN een deur naar je huisnetwerk vanaf het hele internet opent, is het extra belangrijk om de poort-doorverwijzing op je router zorgvuldig te beperken tot alleen die ene VPN-poort.

Hoe gebruik je het?

Installeer de gratis WireGuard-app op je telefoon of laptop, en voeg daar een "peer" toe — dat kan meestal door simpelweg een QR-code te scannen die het beheerscherm van je VPN-server laat zien. Zet je onderweg de VPN aan, dan lijkt het voor al je apparaten net alsof je gewoon thuis op het netwerk zit: je kunt bij Nextcloud, Pi-hole en al je andere thuisdiensten, zonder ze apart naar buiten open te hoeven zetten.

tips

Zet zo min mogelijk poorten open op je router — idealiter alleen de VPN-poort zelf. Alle andere diensten (Nextcloud, Vaultwarden, noem maar op) benader je dan ván binnen de VPN-tunnel, in plaats van dat je ze allemaal apart naar het internet openzet. Dat is verreweg de veiligste manier om je thuisdiensten van onderweg te bereiken.

Bronnen