Een VPN-dienst van derden gebruiken is makkelijk, maar het betekent ook dat je iemand anders vertrouwt met een deel van je verkeersroute. Als je meer controle wilt, minder bewegende onderdelen en een VPN die je kunt gebruiken voor je eigen apparaten of intern netwerk, dan is je eigen VPN hosten met WireGuard vaak de schonere optie.
Deze gids legt uit wat WireGuard is, waarom mensen het zelf hosten en hoe je een basis WireGuard-server opzet op een Linux VPS. We behandelen ook routering, firewallregels, clientconfiguratie en de fouten die het vaakst problemen veroorzaken.
Wat WireGuard is
WireGuard is een modern VPN-protocol en software-implementatie die ontworpen is om eenvoudig te configureren en compact genoeg om makkelijker te auditen dan oudere VPN-stacks. Het project beschrijft het als een beveiligde netwerktunnel die publieke en privésleutelparen gebruikt voor authenticatie, en de officiële tooling ondersteunt een eenvoudige interface voor het aanmaken van peers en het toewijzen van toegestane IP's.
In de praktijk creëert WireGuard een versleutelde tunnel tussen apparaten. Elk apparaat wordt een peer, en elke peer krijgt een eigen sleutelpaar en VPN-IP-adres. Op Linux integreert WireGuard als netwerkinterface, en de officiële quickstart gebruikt standaard netwerktools zoals ip naast wg of wg-quick om tunnels op te starten en af te sluiten.
Waarom je eigen VPN hosten
Een zelfgehoste WireGuard VPN draait meestal om controle, niet om anonimiteit.
Het kan bijvoorbeeld handig zijn als je:
- op afstand toegang wilt tot een homelab of interne diensten
- verkeer wilt beveiligen op hotel-, luchthaven- of café-wifi
- een telefoon, laptop en desktop wilt verbinden via een privétunnel
- een privésubnet alleen beschikbaar wilt maken voor geautoriseerde apparaten
- de overhead en complexiteit van oudere VPN-software wilt vermijden
Wat het niet doet, is je op magische wijze anoniem maken. Als al je verkeer via je eigen VPS naar buiten gaat, wordt die VPS nog steeds de zichtbare bron van verkeer voor externe diensten. Een zelfgehoste VPN kun je het best zien als privétoegang op afstand en versleuteld transport onder jouw controle.
Wanneer WireGuard meer zin heeft dan OpenVPN
WireGuard wordt vaak gekozen omdat het lichter is en eenvoudiger te doorgronden. De eigen documentatie van het project benadrukt het minimale ontwerp, moderne cryptografische keuzes en een eenvoudiger op sleutels gebaseerd configuratiemodel vergeleken met grotere legacy VPN-stacks.
Dat betekent niet dat OpenVPN achterhaald is. OpenVPN heeft nog steeds een plek in omgevingen die ervan afhankelijk zijn, vooral waar legacy-compatibiliteit belangrijk is. Maar als het doel is om een snelle, schone persoonlijke VPN op te zetten op Linux zonder extra omhaal, is WireGuard meestal het betere startpunt.
Wat je nodig hebt voordat je begint
Voor een basisconfiguratie heb je nodig:
- een Linux VPS met root- of sudo-toegang
- een publiek IPv4-adres, IPv6 is een bonus
- een clientapparaat zoals een laptop of telefoon
- de mogelijkheid om UDP-verkeer toe te staan op de door jou gekozen WireGuard-poort, vaak
51820
Een VPS is meestal de makkelijkste plek om WireGuard te hosten omdat het je een stabiel publiek IP geeft en complicaties met thuisrouters vermijdt. Als je twijfelt waar je het moet uitrollen, kan een VPS ook dienst doen als jump box voor SSH, interne dashboards of lichtgewicht privédiensten.
Hoe WireGuard op hoofdlijnen werkt
WireGuard is gebaseerd op peers en sleutels.
De server heeft een privésleutel en een publieke sleutel. Elke client heeft ook een eigen privésleutel en publieke sleutel. Je wisselt publieke sleutels uit tussen beide kanten, wijst VPN-IP-adressen toe en definieert welke IP-bereiken elke peer door de tunnel mag routeren.
Dat laatste punt is belangrijk. In WireGuard is AllowedIPs zowel een routeringsregel als een peer-selector. Als het te breed is of verkeerd gedupliceerd over peers, kan verkeer naar de verkeerde plek gaan of helemaal falen.
Hoe je je eigen VPN host met WireGuard
Het onderstaande voorbeeld gebruikt Ubuntu- of Debian-achtige commando's. Het totale proces is vergelijkbaar op andere Linux-distributies, en WireGuard biedt officiële installatiehandleidingen voor meerdere platformen.
Stap 1: WireGuard installeren
Werk pakketten bij en installeer WireGuard en tools:
sudo apt update
sudo apt install wireguard qrencode -y
qrencode is optioneel, maar het is handig als je later een QR-code wilt genereren voor mobiele clients.
Stap 2: IP-forwarding inschakelen
Een VPN-server moet pakketten doorsturen tussen de tunnel en het publieke netwerk.
Open /etc/sysctl.conf en zorg dat deze regels bestaan:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Pas de wijziging toe:
sudo sysctl -p
Als je alleen IPv4 wilt gebruiken, kan de IPv6-regel worden overgeslagen, maar het is meestal verstandig om ruimte te laten voor de toekomst.
Stap 3: Serversleutels genereren
Maak een privésleutel aan en leid de publieke sleutel af:
umask 077
wg genkey | sudo tee /etc/wireguard/server.key > /dev/null
sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub > /dev/null
Het WireGuard-project gebruikt hetzelfde basismodel voor sleutelgeneratie in zijn officiële quickstart.
Je kunt de publieke sleutel bekijken met:
sudo cat /etc/wireguard/server.pub
Deel de privésleutel niet.
Stap 4: De serverconfiguratie aanmaken
Maak /etc/wireguard/wg0.conf aan:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Vervang:
SERVER_PRIVATE_KEYdoor de inhoud van/etc/wireguard/server.keyeth0door je daadwerkelijke publieke netwerkinterface als die anders is
Deze configuratie doet vier dingen:
- wijst het VPN-subnet toe aan de server
- vertelt WireGuard op welke UDP-poort moet worden geluisterd
- laadt de privésleutel van de server
- schakelt forwarding en NAT in zodat clients via de VPS het internet kunnen bereiken
Als je server nftables gebruikt in plaats van iptables, kun je daar hetzelfde mee doen. De exacte firewallmethode maakt minder uit dan ervoor zorgen dat forwarding en masquerading daadwerkelijk actief zijn.
Stap 5: De firewall openen
Sta UDP-verkeer toe op de WireGuard-poort.
Als je UFW gebruikt:
sudo ufw allow 51820/udp
Als je provider ook een cloud-firewall of security group heeft, sta UDP 51820 daar dan ook toe. Dit is een van de meest voorkomende redenen waarom een configuratie er correct uitziet maar toch geen verbinding maakt.
Stap 6: De tunnel starten
Breng de interface omhoog:
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Verifieer vervolgens:
sudo wg show
ip addr show wg0
De officiële quickstart documenteert dezelfde basisflow van het aanmaken van een interface, het toewijzen van adressen, het laden van configuratie en het activeren van het apparaat.
Stap 7: Clientsleutels aanmaken
Genereer op de server, of op de client zelf, een sleutelpaar voor de client:
wg genkey | tee client.key | wg pubkey > client.pub
Je hebt nu:
client.keyclient.pub
Houd client.key privé.
Stap 8: De client als peer toevoegen op de server
Bewerk /etc/wireguard/wg0.conf en voeg toe:
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
Vervang CLIENT_PUBLIC_KEY door de inhoud van client.pub.
Herlaad vervolgens de configuratie:
sudo systemctl restart wg-quick@wg0
Stap 9: De clientconfiguratie aanmaken
Gebruik op de client een configuratie zoals deze:
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.8.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Vervang de voor de hand liggende placeholders door je daadwerkelijke waarden.
Een paar opmerkingen:
AllowedIPs = 0.0.0.0/0, ::/0stuurt al het verkeer door de VPN- als je alleen toegang tot privébronnen wilt, gebruik dan iets specifieker zoals
10.8.0.0/24 PersistentKeepalive = 25is vaak nuttig voor clients achter NAT
Als je de configuratie wilt scannen in de mobiele app, kun je een QR-code genereren:
qrencode -t ansiutf8 < client.conf
Volledige tunnel vs. split tunnel
Dit is een van de belangrijkste beslissingen in elke WireGuard-configuratie.
Een volledige tunnel betekent dat al het clientverkeer door de VPN gaat. Dat krijg je met:
AllowedIPs = 0.0.0.0/0, ::/0
Een split tunnel betekent dat alleen geselecteerde netwerken door de VPN gaan, bijvoorbeeld:
AllowedIPs = 10.8.0.0/24, 10.0.0.0/24
Gebruik een volledige tunnel als je veilige internettoegang wilt op onbetrouwbare netwerken of als je wilt dat je verkeer via je server naar buiten gaat. Gebruik een split tunnel als je alleen op afstand toegang nodig hebt tot interne diensten en je normaal internetverkeer lokaal wilt houden.
Veelgemaakte fouten die WireGuard breken
De meeste WireGuard-storingen komen neer op een klein aantal problemen.
Verkeerde interfacenaam in NAT-regels
Als de publieke interface van je server ens3 of enp1s0 is en je configuratie eth0 zegt, zal masquerading falen.
Controleer met:
ip route get 1.1.1.1
Ontbrekende IP-forwarding
Als forwarding niet is ingeschakeld, kan de tunnel wel opstarten, maar clients zullen geen verkeer erdoorheen kunnen routeren.
Firewall staat SSH toe maar niet UDP 51820
WireGuard gebruikt UDP, niet TCP. Het is makkelijk om het verkeerde toe te staan.
Dubbele of onjuiste AllowedIPs
Als twee peers overlappende client-IP's claimen, wordt routering rommelig. Houd peertoewijzingen specifiek en uniek.
Geen keepalive achter NAT
Sommige mobiele en residentiële netwerken laten inactieve UDP-mappings agressief verlopen. PersistentKeepalive = 25 lost vaak intermitterende bereikbaarheid op.
Vergeten te herstarten of herladen na configuratiewijzigingen
WireGuard zal wijzigingen aan wg0.conf niet oppikken tenzij je de interface herlaadt of herstart.
Moet je WireGuard in Docker draaien?
Dat kan, maar het voegt meestal complexiteit toe zonder echt voordeel als je alleen een eenvoudige VPN-server wilt.
WireGuard direct op de VPS draaien houdt de netwerkconfiguratie eenvoudiger, vooral wanneer je IP-forwarding, firewallregels en voorspelbaar interfacegedrag nodig hebt. Containers kunnen nog steeds zinvol zijn in grotere homelab- of platformopstellingen, maar voor een enkele zelfgehoste VPN is een native installatie normaal gesproken het makkelijkste pad.
Beveiligingstips voor een zelfgehoste WireGuard VPN
Een zelfgehoste VPN is eenvoudig, maar verdient wel basiszorg.
Houd de server bijgewerkt, vergrendel SSH en voeg alleen peers toe die je echt nodig hebt. Als een apparaat kwijtraakt of wordt uitgefaseerd, verwijder dan die peer en genereer een nieuwe configuratie waar nodig. Omdat WireGuard op sleutels is gebaseerd, is peerhygiëne belangrijker dan wachtwoordcomplexiteit.
Het is ook verstandig om te beperken wat de VPN kan bereiken. Als het doel alleen toegang op afstand tot een paar diensten is, gebruik dan firewallregels en smallere AllowedIPs in plaats van de VPS te veranderen in een universele gateway voor alles.
Wanneer een VPS goed past bij WireGuard
Een VPS is een praktische keuze wanneer je een stabiel publiek eindpunt wilt zonder afhankelijk te zijn van je thuis-ISP, router of wisselend residentieel IP-adres.
Die opzet is vooral handig voor:
- beheer op afstand
- privédashboards en interne tools
- versleuteld browsen op openbare wifi
- verkeer tunnelen via een bekende server die je zelf beheert
Als je al infrastructuur huurt voor nevenprojecten, is een kleine VPS vaak genoeg voor een persoonlijke WireGuard-opstelling of gebruik door een klein team.
Conclusie
Je eigen VPN hosten met WireGuard is een van de eenvoudigste manieren om veilige toegang op afstand en versleuteld verkeer te krijgen zonder een grote, legacy VPN-stack erbij te slepen. Zodra je peers, sleutels, AllowedIPs en forwarding begrijpt, is de opzet behoorlijk toegankelijk en schaalt het goed voor een handvol apparaten.
Als je WireGuard wilt draaien op een snelle Linux-server, biedt QDE VPS Hosting je volledige root-toegang, KVM-virtualisatie, pure NVMe-opslag, dagelijkse back-ups en 10 Gbps-uplinks vanuit Nederland.
Hulp nodig bij het kiezen van het juiste plan of bij het opzetten van je configuratie? Neem contact op met QDE en we helpen je graag verder.
Veelgestelde vragen over het hosten van je eigen VPN met WireGuard
Is het moeilijk om je eigen VPN te hosten met WireGuard?
Niet echt. WireGuard is eenvoudiger dan veel oudere VPN-opties omdat het een kleine set concepten gebruikt: peers, sleutels, adressen en toegestane routes. De configuratie wordt meestal goed te doen zodra pakketforwarding en firewallregels op hun plek zitten.
Is WireGuard beter dan OpenVPN?
Voor veel zelfgehoste opstellingen wel. WireGuard is vaak makkelijker te configureren en lichter om te draaien, terwijl OpenVPN nog steeds zinvol is in omgevingen die afhankelijk zijn van oudere compatibiliteit of bestaande tooling. Het WireGuard-project benadrukt ook zijn kleinere codebase, modern cryptografisch ontwerp en eenvoudig configuratiemodel.
Kan ik WireGuard hosten op een VPS?
Ja. Een VPS is een van de meest gebruikelijke manieren om WireGuard te hosten omdat het je een stabiel publiek IP geeft, root-toegang en minder netwerkproblemen dan een thuisverbinding.
Maakt een zelfgehoste VPN me anoniem?
Nee. Een zelfgehoste VPN verbetert privacy en beveiliging, vooral op onbetrouwbare netwerken, maar je verkeer gaat nog steeds naar buiten via infrastructuur die je zelf beheert. Het is nauwkeuriger om het te zien als veilig transport en privétoegang, niet als anonimiteit.
Welke poort gebruikt WireGuard?
WireGuard gebruikt doorgaans UDP-poort 51820, hoewel je dat kunt wijzigen naar een andere UDP-poort als dat nodig is. De officiële quickstart-voorbeelden tonen ook dat WireGuard via UDP werkt met een configureerbare luisterpoort.
Kan ik WireGuard gebruiken voor split tunneling?
Ja. Split tunneling wordt afgehandeld via AllowedIPs. Je kunt alleen privésubnets door de VPN routeren, of al het verkeer erdoorheen sturen met 0.0.0.0/0 en ::/0.
Waar kan ik de officiële WireGuard-documentatie lezen?
De beste plek om te beginnen is de officiële WireGuard-site, samen met de installatiegids en quickstartgids.
