Handleidingen

WireGuard of Tailscale: veilig bij je thuisnetwerk van buitenaf

Wil je onderweg bij je Home Assistant, je NAS of je foto’s? Open die dan niet direct naar het internet. Maak liever een vpn naar je thuisnetwerk: je telefoon of laptop gedraagt zich dan alsof hij thuis is. Er zijn twee goede manieren: Tailscale (het makkelijkst) en WireGuard (zelf alles in handen).

Eerst: kun je poorten openzetten?

Voor een eigen WireGuard-server moet er een poort van buiten naar binnen kunnen. Dat lukt niet altijd. Sommige providers delen één adres met meerdere klanten (CGNAT). Zo controleer je dat:

  1. Kijk in je router naar het IP-adres van de internetverbinding (WAN).
  2. Kijk op Wat is mijn IP? welk adres wij zien.
  3. Zijn ze gelijk, dan zit je niet achter CGNAT. Verschillen ze, of begint het adres in je router met 100.64. tot 100.127., dan wel, en werkt poorten doorsturen niet.

Achter CGNAT kies je Tailscale (of een vpn via een server buiten je huis).

Optie 1: Tailscale

Tailscale bouwt op WireGuard en regelt de sleutels, het doorgeven van adressen en het omzeilen van routers voor je. Je hoeft geen poort open te zetten. Voor persoonlijk gebruik is er een gratis abonnement; controleer de actuele voorwaarden op hun site.

  1. Maak een account (je logt in met een bestaand account, zoals Google, Microsoft of GitHub).
  2. Installeer Tailscale op de server (Linux):
    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up
  3. Open de link die verschijnt en keur het apparaat goed.
  4. Installeer de app op je telefoon of laptop en log in met hetzelfde account. Je ziet nu je apparaten met een adres dat met 100. begint.

Je hele thuisnetwerk bereiken (ook apparaten waar je Tailscale niet op kunt zetten) doe je met een subnet router. Zet doorsturen aan en geef je netwerk door:

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
sudo tailscale up --advertise-routes=192.168.1.0/24

Keur daarna de route goed in het beheerscherm van Tailscale (onder de machine). Vervang 192.168.1.0/24 door je eigen netwerk. Een exit node laat al je verkeer via thuis lopen, handig op openbare wifi.

Optie 2: WireGuard zelf instellen

Dit vraagt een open UDP-poort en een vast of via een naam bereikbaar adres (bijvoorbeeld met dynamische DNS). Op de server:

sudo apt install wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee telefoon.key | wg pubkey > telefoon.pub

Maak /etc/wireguard/wg0.conf op de server (vul de sleutels in uit de bestanden hierboven; eth0 is je netwerkkaart):

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = INHOUD_VAN_server.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

[Peer]
PublicKey = INHOUD_VAN_telefoon.pub
AllowedIPs = 10.8.0.2/32

Zet doorsturen aan (net.ipv4.ip_forward = 1, zie hierboven) en start de verbinding:

sudo systemctl enable --now wg-quick@wg0

Stuur in je router UDP-poort 51820 door naar de server. De configuratie voor je telefoon (maak er in de app een QR-code van):

[Interface]
Address = 10.8.0.2/24
PrivateKey = INHOUD_VAN_telefoon.key
DNS = 192.168.1.2

[Peer]
PublicKey = INHOUD_VAN_server.pub
Endpoint = jouwnaam.example.nl:51820
AllowedIPs = 192.168.1.0/24, 10.8.0.0/24
PersistentKeepalive = 25

Met AllowedIPs = 0.0.0.0/0 loopt al je verkeer via thuis. Gebruik DNS alleen als je een eigen DNS-server hebt, bijvoorbeeld Pi-hole.

Let op

  • Kies een ander netwerkbereik voor de vpn dan voor het netwerk waar je op dat moment zit. Veel thuisnetwerken gebruiken 192.168.1.0/24; als je hotel of kantoor dat ook doet, werkt niets. Controleer dit met de CIDR-overlap-tool.
  • Onze poortchecker test alleen TCP-poorten. WireGuard gebruikt UDP, dus een “gesloten” uitslag zegt hier niets. Test door echt te verbinden.
  • Bewaar privésleutels veilig en trek de toegang in (verwijder de peer) als je een telefoon kwijtraakt.
  • Zet liever geen Home Assistant of NAS rechtstreeks op internet. Een vpn is veel veiliger.

Bronnen en bronvermelding

Dit artikel is in eigen woorden geschreven. Meer lezen: