Zo stel je een WireGuard-VPN in op je VPS
Geschreven door het ApexVPS-team • Laatst bijgewerkt: juli 2026 • 9 minuten leestijd
Deze WireGuard VPS-installatiehandleiding laat zien hoe je je eigen privé-, snelle en moderne VPN op een Ubuntu- of Debian-server bouwt. WireGuard is een lichtgewicht VPN-protocol dat in de Linux-kernel is ingebakken, waardoor het aanzienlijk eenvoudiger is dan OpenVPN of IPsec, terwijl het toch sterke, up-to-date cryptografie levert. Aan het einde heb je een draaiende server, minstens één verbonden client en volledige controle over je eigen versleutelde tunnel — geen abonnement op een VPN van derden nodig.
WireGuard op je eigen machine laten draaien betekent dat het verkeer eindigt op hardware die je huurt, niet op een druk eindpunt van een consumenten-VPN. Als je dieper wilt ingaan op waarom een privébox een betere basis is, lees dan eerst onze gids over het kiezen van een VPS voor een persoonlijke VPN voordat je begint.
Wat je nodig hebt voordat je begint
- Een VPS met Ubuntu 20.04+ of Debian 11+ met de WireGuard-kernelmodule (beide worden ermee geleverd).
- Root- of sudo-toegang via SSH. Elk onderstaand commando gaat ervan uit dat je
sudokunt gebruiken. - Het publieke IP-adres van de server en de naam van de standaard netwerkinterface.
- UDP-poort 51820 bereikbaar — de WireGuard-standaard. Je opent deze in de firewall.
Een stabiel, onbetwist eindpunt is belangrijk voor een VPN, daarom verslaan echt dedicated resources gedeelde hosting die overboekt is. Een dedicated IPv4 is beschikbaar op ApexVPS Business- en Enterprise-plannen, waardoor je tunnel een adres krijgt dat met niemand anders wordt gedeeld.
Stap 1: Update het systeem en installeer WireGuard
Begin met het verversen van de pakketindex en het installeren van de WireGuard-gebruikersruimtetools. Op een moderne kernel is dit het enige pakket dat je nodig hebt.
sudo apt update
sudo apt install wireguard -y
Dit installeert wg en wg-quick, de twee commando's die sleutels, interfaces en configuratie beheren. Je kunt de installatie bevestigen met wg --version.
Stap 2: Genereer de serversleutels
WireGuard authenticeert peers met een publiek/privé sleutelpaar, net als SSH. Ga naar de configuratiemap, verscherp de bestandspermissies met umask en genereer de sleutels in één stap.
cd /etc/wireguard
umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key
De regel umask 077 zorgt ervoor dat de privésleutel alleen leesbaar is door root. Print de twee waarden zodat je ze kunt plakken in de config die volgt.
sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key
Houd de privésleutel geheim. Wie hem bezit, kan zich voordoen als jouw server.
Stap 3: Maak de serverconfig (wg0.conf)
De serverinterface wordt beschreven in één bestand, /etc/wireguard/wg0.conf. Maak het aan met je favoriete editor:
sudo nano /etc/wireguard/wg0.conf
Plak het onderstaande blok en vervang <SERVER_PRIVATE_KEY> door de privésleutel uit stap 2 en eth0 door je echte interfacenaam als die afwijkt.
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Hier is 10.8.0.1/24 het privé VPN-subnet, 51820/udp de luisterpoort, en de regels PostUp/PostDown voegen NAT toe en verwijderen deze, zodat clientverkeer gemaskeerd wordt via de publieke interface van de server. Om je interfacenaam te vinden, voer je uit:
ip route list default
Het woord na dev in de uitvoer (vaak eth0, ens3 of enp1s0) is de interface die je gebruikt in de twee firewallregels hierboven.
Stap 4: IP-forwarding en NAT inschakelen
Standaard routeert Linux geen pakketten tussen interfaces, dus moet de kernel worden verteld om door te sturen. Schakel dit permanent in met een sysctl drop-in bestand.
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
Als je ook IPv6 door de tunnel routeert, voeg dan net.ipv6.conf.all.forwarding = 1 toe aan hetzelfde bestand. De regel MASQUERADE uit stap 3 regelt de NAT zelf, dus zodra forwarding aan staat is het routeringspad compleet.
Open de firewallpoort
Sta de WireGuard UDP-poort toe. Als je ufw gebruikt, voer dan het volgende uit en zorg dat SSH open blijft zodat je jezelf niet buitensluit.
sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable
Als je regels direct met iptables beheert in plaats van ufw, dan voegen de regels PostUp al de forwarding- en NAT-regels toe; je hoeft alleen te zorgen dat inkomende UDP 51820 is toegestaan door een hostfirewall of de beveiligingsgroep van je provider.
Stap 5: Start WireGuard met systemd
wg-quick wordt geleverd met een systemd-servicetemplate, dus je kunt de tunnel nu starten en deze komt na een herstart automatisch terug.
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0
De vlag enable --now start de interface en stelt deze in om bij het opstarten te starten. Een snelle controle bevestigt dat de interface actief is:
sudo wg show
Je zou een interface wg0 moeten zien met je publieke sleutel en luisterpoort. Er zijn nog geen peers — dat is de volgende stap.
Stap 6: Voeg een client (peer) toe
Elk apparaat dat verbinding maakt is een peer met een eigen sleutelpaar. Genereer een sleutelpaar voor je eerste client:
wg genkey | sudo tee client1_private.key | wg pubkey | sudo tee client1_public.key
Registreer nu de client op de server. Voeg een blok [Peer] toe aan /etc/wireguard/wg0.conf, met behulp van de publieke sleutel van de client en het volgende vrije adres in het VPN-subnet.
[Peer]
PublicKey = <CLIENT1_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32
Herlaad de interface zodat de nieuwe peer actief wordt:
sudo systemctl restart wg-quick@wg0
Wil je de tunnel niet onderbreken? Je kunt de peer hot-toevoegen zonder herstart:
sudo wg set wg0 peer <CLIENT1_PUBLIC_KEY> allowed-ips 10.8.0.2/32
Stap 7: Bouw de clientconfig en een QR-code
Stel op de server het clientconfiguratiebestand samen. Dit is wat het apparaat — een laptop of telefoon — zal laden. Vervang de plaatshouders door de privésleutel van de client en de publieke sleutel en het publieke IP van de server.
[Interface]
PrivateKey = <CLIENT1_PRIVATE_KEY>
Address = 10.8.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Het instellen van AllowedIPs = 0.0.0.0/0, ::/0 routeert al het verkeer van de client door de tunnel — het klassieke full-VPN-gedrag. PersistentKeepalive = 25 houdt de verbinding levend door NAT en firewalls. Sla dit op als client1.conf.
Voor een desktop kopieer je client1.conf naar de machine en importeer je het in de officiële WireGuard-client. Voor een telefoon render je het bestand direct in de terminal als een scanbare QR-code:
sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf
Open de WireGuard-app op Android of iOS, kies "Tunnel toevoegen" en dan "Scan QR-code", en de tunnel wordt in seconden geïmporteerd. De officiële apps en clients zijn allemaal gelinkt vanaf wireguard.com.
Stap 8: Verifieer de tunnel
Activeer de tunnel op de client en bevestig vervolgens de handshake op de server. Een gezonde verbinding toont een recente handshake en oplopende overdrachtsmeters.
sudo wg show
Zoek naar een latest handshake tijdstempel en niet-nul transfer waarden onder uw peer. Controleer ten slotte vanaf de client dat uw publieke IP nu het IP van de server is:
curl ifconfig.me
Als dat het VPS-adres teruggeeft, stroomt uw verkeer door de tunnel en is de WireGuard VPS-installatie voltooid. Om meer apparaten toe te voegen, herhaalt u stap 6 en 7 met een nieuw sleutelpaar en het volgende adres in het 10.8.0.0/24 bereik.
Problemen oplossen met een verbinding die niet tot stand komt
Als wg show nooit een handshake meldt, doorloop dan de gebruikelijke verdachten in volgorde. Controleer eerst of de poort echt open is: voer vanaf een andere machine nc -uzv <SERVER_PUBLIC_IP> 51820 uit en controleer of de beveiligingsgroep of firewall van uw provider inkomende UDP 51820 toestaat, niet alleen TCP. Zorg er ten tweede voor dat IP-forwarding echt is ingeschakeld met sysctl net.ipv4.ip_forward — dit zou 1 moeten retourneren. Controleer ten derde of de interfacenaam in de PostUp NAT-regel overeenkomt met de uitvoer van ip route list default; een mismatch is de meest voorkomende reden dat verkeer authenticeert maar nooit het internet bereikt. Controleer ten slotte of de sleutels niet zijn verwisseld: de serverconfiguratie bevat de server privésleutel en de client publieke sleutel, terwijl de clientconfiguratie die opstelling weerspiegelt. Een enkele gekruiste sleutel blokkeert de handshake stilzwijgend.
De juiste VPS kiezen voor WireGuard
WireGuard zelf is klein — het protocol raakt de CPU nauwelijks — dus zelfs een instapplan draait comfortabel een persoonlijke VPN. Wat de ervaring echt bepaalt, is het netwerk: bandbreedte, latentie naar uw regio en of het IP alleen van u is. ApexVPS draait op echt dedicated vCPU, RAM en NVMe-opslag op 39 locaties, met lage latentie in grote regio's, zodat de doorvoer voorspelbaar blijft in plaats van in te zakken onder luidruchtige buren.
Als u de tunnel op een stabiel, niet-gedeeld adres wilt laten draaien, is een dedicated IPv4 inbegrepen bij de Business- en Enterprise-plannen. En omdat privacy meestal het hele punt is van het zelf hosten van een VPN, is het de moeite waard om op te merken hoe u zich aanmeldt: ApexVPS is een no-KYC VPS met alleen e-mailregistratie en crypto-only checkout via OxaPay, met Bitcoin, Ethereum, USDT en 30+ cryptocurrencies — geen naam, adres, creditcard of bankrekening vereist.
Veelgestelde vragen
Is WireGuard moeilijk in te stellen op een VPS?
Nee. WireGuard gebruikt een klein, leesbaar configuratiebestand en een handvol standaardopdrachten. Op een verse Ubuntu- of Debian-VPS kunt u het installeren, sleutels genereren, wg0.conf schrijven en uw eerste client verbinden in ongeveer tien tot vijftien minuten.
Heb ik een dedicated IP nodig voor een WireGuard-VPN?
Een dedicated IP is niet strikt vereist, maar het geeft uw tunnel een stabiel eindpunt dat niet wordt gedeeld met andere klanten. Bij ApexVPS is een dedicated IPv4 inbegrepen bij het Business-plan, met twee bij Enterprise.
Welke Ubuntu- en Debian-versies ondersteunen WireGuard?
WireGuard is ingebouwd in de Linux-kernel vanaf versie 5.6, dus Ubuntu 20.04 en later en Debian 11 en later bevatten het standaard. U hoeft alleen de userspace-tools te installeren met apt.
Kan ik dezelfde server op mijn telefoon gebruiken?
Ja. Voeg een tweede peer toe voor de telefoon, genereer een clientconfiguratie en render deze als een QR-code met qrencode. De officiële WireGuard-apps voor Android en iOS scannen de code en verbinden onmiddellijk.
Kan ik de VPS betalen zonder creditcard?
Ja. De checkout van ApexVPS is crypto-only en accepteert Bitcoin, Ethereum, USDT en 30+ cryptocurrencies. Voor aanmelding is alleen een e-mailadres nodig zodat we toegangsgegevens kunnen sturen — geen naam, adres of ID.