WireGuard-server instellen op Linux (wg0, NAT, Peers)

12 min lezen - 22 juni 2026

hero section cover
Inhoudsopgave
  • Wanneer moet u een WireGuard-server gebruiken?
  • Serverconfiguratie
  • Peers toevoegen en verwijderen
  • Problemen oplossen
  • Sleutelrotatie en vooraf gedeelde sleutels
Delen

Praktische WireGuard-serverconfiguratie voor Linux: sleutels, wg0.conf, NAT, peerbeheer met syncconf en de oplossingscommando’s die systeembeheerders daadwerkelijk gebruiken.

Zet een WireGuard-server op als je privétoegang wilt tot gehoste infrastructuur zonder beheerpoorten bloot te stellen aan het openbare internet. Het maakt gebruik van authenticatie met openbare sleutels, draait sinds versie 5.6 binnen de Linux-kernel en valt niet op zodra het eenmaal draait. Dit bericht behandelt wanneer je een WireGuard-server moet gebruiken, hoe je deze opzet wg0en hoe je ervoor zorgt dat peers dagelijks blijven werken.

Wanneer moet u een WireGuard-server gebruiken?

De meeste opstellingen vallen onder drie patronen: toegang op afstand, server-naar-server-verbindingen en site-naar-site-routing.

Voor toegang op afstand draait u de server op een VPS of dedicated host en leidt u het beheerdersverkeer via de tunnel. Stel AllowedIPs elke peer in op het privé-beheersubnet (bijvoorbeeld 10.0.0.0/24) zodat alleen verkeer voor interne systemen de tunnel gebruikt. Al het overige blijft op de lokale verbinding van de gebruiker. Als gebruikers verbinding maken vanuit huis of via mobiele netwerken, voeg dan PersistentKeepalive = 25 aan de clientzijde toe om te voorkomen dat NAT-sessies worden verbroken.

Voor server-naar-server-verbindingen moet AllowedIPs de tunnel smal. Meestal volstaat een enkel /32 of een klein backend-subnet. Zo voorkom je dat niet-gerelateerd verkeer in de tunnel terechtkomt en blijft de routing voorspelbaar.

Site-to-site is anders. De WireGuard-host fungeert als gateway tussen subnetten, dus IP-forwarding moet zijn ingeschakeld en de NAT-regels moeten het retourverkeer via de juiste interface versturen.

PatroonAllowedIPs bereikMeest geschiktComplexiteit van de installatie
Toegang op afstandPrivé-subnetten, bijv. 10.0.0.0/24Toegang voor beheerders en ontwikkelaarsLaag
Server-naar-serverSpecifieke IP-adressen of backend-subnetPunt-tot-punt-hostverbindingenLaag tot gemiddeld
Site-naar-siteGeheel extern LAN, bijv. /24Gateway-naar-gateway-routingMiddel tot hoog
Toegang tot privédienstenAlleen intern subnet (split-tunnel)Isolatie van backend-servicesGemiddeld

Serverconfiguratie

De server bewaart de privésleutel, luistert standaard op UDP 51820 en sluit de tunnel af. Dezelfde basisconfiguratie werkt voor alle drie de bovenstaande patronen.

Sleutels en wg0.conf

Genereer het sleutelpaar voor de server:

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Bewaar de privésleutel veilig:

sudo chmod 600 /etc/wireguard/server_private.key

De privésleutel blijft op de server staan. De openbare sleutel is wat je aan peers geeft.

Maak /etc/wireguard/wg0.conf:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
 
[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

Zoek de uitgaande interface om in te voegen <PUBLIC_IFACE> met:

ip -o -4 route show to default | awk '{print $5}'

Doorsturen, firewall en NAT

Open de luisterpoort:

sudo ufw allow 51820/udp

Schakel IP-forwarding in door deze regel toe te voegen aan /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Toepassen zonder opnieuw op te starten:

sudo sysctl -p

De PostUp en PostDown regels in wg0.conf voegen de NAT-masquerade-regel toe en verwijderen deze wanneer de interface wordt geactiveerd of gedeactiveerd. Zonder deze regels komt het retourverkeer vanuit het LAN nooit terug bij de peer.

Het opstarten van de tunnel

wg-quick regelt de interface, de routing en de PostUp/PostDown hooks in één commando:

sudo wg-quick up wg0

Schakel de systemd-unit in voor automatisch opstarten na een herstart:

sudo systemctl enable --now wg-quick@wg0

Controleer de status met:

sudo wg show

Een recente latest handshake regel bevestigt dat de tunnel werkt. Als deze er verouderd of leeg uitziet, controleer dan de firewall, de sleutels aan beide kanten en de AllowedIPs.

Peers toevoegen en verwijderen

Elke peer heeft een eigen sleutelpaar nodig. Genereer dit op de client en voeg vervolgens de openbare sleutel van de peer toe aan wg0.conf in een nieuw [Peer] blok met een AllowedIPs vermelding waarin het tunnel-IP-adres wordt toegewezen.

Gebruik /32 voor één apparaat:

AllowedIPs = 10.8.0.3/32

Dat voorkomt dat de ene peer adressen opeist die aan een andere zijn toegewezen. Voor split-tunnel-toegang vermeld je alleen de privé-subnetten die via de tunnel moeten lopen, bijvoorbeeld AllowedIPs = 10.8.0.0/24.

Pas configuratiewijzigingen toe zonder actieve sessies te verbreken:

sudo wg syncconf wg0 <(wg-quick strip wg0)

Het verwijderen van een peer werkt op dezelfde manier. Verwijder de [Peer] blok uit wg0.conf en voer syncconf opnieuw uit.

Problemen oplossen

Als een peer verbinding maakt maar niets aan de andere kant kan bereiken, is de oorzaak meestal een van de volgende vier zaken:

  • IP-forwarding is uitgeschakeld
  • De NAT-masquerade-regel ontbreekt
  • De uitgaande interface in de NAT-regel is verkeerd
  • AllowedIPs bevat de bestemming niet

Controleer de doorsturing:

cat /proc/sys/net/ipv4/ip_forward

Moet het volgende retourneren 1. Als het 0, is de sysctl-wijziging niet doorgevoerd of niet opgeslagen.

Controleer de NAT-regel en de uitgaande interface:

sudo iptables -t nat -L POSTROUTING
ip route get 1.1.1.1

Het tweede commando toont de daadwerkelijke naam van de uitgaande interface, zoals ens3, enp1s0, of eth0. Die moet overeenkomen met de interface in de MASQUERADE-regel.

Als de handshake zelf ontbreekt, controleer dan of UDP 51820 open is op de firewall en bij eventuele upstream-providers, en dat beide partijen de juiste publieke sleutel van de ander hebben.

Voor peers achter residentiële of mobiele NAT die inactieve UDP-sessies verbreekt, stel je PersistentKeepalive = 25 in op de client.

Sleutelrotatie en vooraf gedeelde sleutels

Voor tunnels die maandenlang actief blijven, moet je de sleutels ongeveer eenmaal per jaar rouleren. Genereer een nieuw sleutelpaar, werk beide uiteinden bij en pas dit toe met wg syncconf. Gebruik een privésleutel niet voor twee verschillende peers. Dit leidt tot routeringsconflicten en verstoort de gegevensoverdracht tussen beide.

Voeg voor een extra beveiligingslaag bovenop authenticatie met openbare sleutels per peer een vooraf gedeelde sleutel toe:

wg genpsk

Voeg het resultaat toe als PresharedKey = <PSK> in het [Peer] blok aan beide kanten. WireGuard verwerkt de PSK in de handshake, zodat een aanvaller die op de een of andere manier een van de asymmetrische sleutels in handen krijgt, het verkeer zonder deze sleutel nog steeds niet kan ontsleutelen.

Handige dagelijkse commando’s:

CommandoDoel
wg showPeers, handshakes, verkeerstellers
wg show wg0 transferByte-tellers voor wg0
wg show all dumpMachinaal leesbare uitvoer voor monitoringscripts
wg syncconf wg0 <(wg-quick strip wg0)Configuratiewijzigingen doorvoeren zonder sessies te verbreken
wg genpskEen vooraf gedeelde sleutel genereren

Als u een stabiele, openbaar bereikbare host nodig hebt om WireGuard-tunnels te beëindigen en privéverkeer naar uw infrastructuur te routeren, bekijk dan de onbeperkte VPS-pakketten van FDC.

Blog

Uitgelicht deze week

Meer artikelen
Digitale oogvermoeidheid: hoe u uw gezichtsvermogen kunt beschermen in een wereld waarin we veel naar schermen kijken

Digitale oogvermoeidheid: hoe u uw gezichtsvermogen kunt beschermen in een wereld waarin we veel naar schermen kijken

Zit u de hele dag naar schermen te staren? Ontdek hoe u digitale oogvermoeidheid kunt verminderen met beproefde technieken en hulpmiddelen. Deze gids is onmisbaar voor thuiswerkers, ontwikkelaars en iedereen die in de tech-sector werkt.

4 min lezen - 21 mei 2025

Waarom het belangrijk is om een krachtige VPS zonder datalimiet te hebben

8 min lezen - 9 mei 2025

Meer artikelen
background image

Hebt u vragen of wilt u een oplossing op maat?

icon

Flexibele opties

icon

Wereldwijd bereik

icon

Directe inzet

icon

Flexibele opties

icon

Wereldwijd bereik

icon

Directe inzet