Het doel: vanaf je telefoon of laptop bij je NAS, je camera's, je printer of het beheer van je router, alsof je thuis of op kantoor zit.
Wat je nodig hebt
- Een MikroTik die het internetverkeer van die locatie afhandelt, of in elk geval een router ervoor waarin je een poort kunt doorsturen.
- Een adres waar die router te bereiken is: een vast IP-adres, of een hostnaam via DDNS. Zonder vast IP zet je IP Cloud DDNS aan bij Beheertoegang; de router krijgt dan een naam op
sn.mynetname.net. - Eén UDP-poort die van buiten binnenkomt, standaard 13231.
- De WireGuard-app op je telefoon of laptop. Mag je die niet installeren, kijk dan bij VPN voor losse gebruikers.
De stappen
- Kies je apparaat en daarna de rol VPN-gateway. Die rol zet meteen IP Cloud DDNS aan. Heb je al een configuratie met een andere rol, voeg dan in de stap Combineren het onderdeel VPN toe, of werk in geavanceerd onder VPN.
- Vul het publieke adres of de hostnaam in. Dit komt in de client-configuratie terecht; laat je het leeg, dan staat daar een plaatshouder.
- Loop de WireGuard-interface na. Er staat er al een klaar: naam
wg-rw, UDP-poort 13231, en10.10.10.1/24als adres van de router in de tunnel. Die reeks mag je wijzigen, maar kies iets dat je thuis, op kantoor en in hotels niet tegenkomt. Laat tunnel telt als LAN aanstaan, anders kun je over de VPN niet bij het beheer en de DNS van de router. - Maak het sleutelpaar van de router met de knop bij het sleutelveld. Dat gebeurt in je browser.
- Voeg per apparaat een peer toe. Soort: road-warrior client. Geef hem een naam die je later herkent (
telefoon-marcel), laat het tunneladres oplopen (10.10.10.2/32,10.10.10.3/32) en maak ook daar een sleutelpaar. Eén configuratie per apparaat, niet delen. - Kies full tunnel of niet. Staat al het verkeer door de VPN aan, dan gaat ook je gewone internetverkeer via thuis. Uit betekent: alleen je eigen netwerk door de tunnel, de rest rechtstreeks. Voor onderweg op openbare wifi is aan prettig, voor video kijken niet.
- Lees de controles boven het script en los de fouten op.
- Zet het script op de router. Resetten, plakken, controleren of je er nog bij kunt; zie Het script gebruiken.
- Installeer de client-configuratie. Onder het script staat per client een blok met een kopieer- en een downloadknop. Zet het
.conf-bestand in de WireGuard-app, of plak de tekst erin. Er staat een private key in, dus stuur het niet zomaar door een chatgroep. - Staat de MikroTik achter een andere router? Stuur daar UDP 13231 door naar de MikroTik. Zie Poorten doorsturen.
Testen
- Zet de wifi op je telefoon uit en ga over mobiele data. Vanaf je eigen netwerk naar je eigen publieke adres verbinden werkt meestal niet, en dat zegt niets over je configuratie.
- Zet de tunnel aan. De app moet binnen een paar seconden verkeer laten zien in beide richtingen.
- Op de router:
/interface wireguard peers print. Er hoort een recente handshake te staan voor die peer. - Ping het LAN-adres van je router en daarna iets erachter, bijvoorbeeld je NAS.
- Probeer een naam in plaats van een adres. Werkt dat niet, kijk dan of de DNS-regel in de clientconfiguratie naar je router wijst; zie DNS.
- Bij full tunnel: zoek op wat je publieke adres is. Dat hoort nu dat van thuis te zijn.
Waar je op moet letten
- Botsende adresreeksen. Zit je thuis op
192.168.1.0/24en het hotel ook, dan kom je er niet. Kies thuis iets ongebruikelijks, bijvoorbeeld10.44.7.0/24. - Per apparaat een eigen peer. Twee telefoons met dezelfde sleutel en hetzelfde adres blijven over elkaar heen struikelen.
- Beheer blijft dicht. Je hoeft WinBox of SSH niet op internet te zetten; over de VPN is de router gewoon bereikbaar. Dat is de belangrijkste winst van dit recept.
- MTU. Werkt de verbinding wel maar lopen grote pagina's vast, kijk dan bij WireGuard onder MTU.
- Bewaar je configuratie. De sleutels staan in je project in de browser; exporteer het als je het wilt bewaren. Zie Bewaren en delen.
Achter CGNAT
Veel aansluitingen, vooral mobiel en glas bij kleinere providers, geven je geen eigen publiek IPv4-adres meer. Je router zit dan achter de NAT van de provider en er is geen poort om binnen te komen.
Zo zie je het: kijk met /ip address print welk adres je WAN-interface heeft, en vergelijk dat met wat een site als "wat is mijn ip" laat zien. Verschillen ze, of begint je WAN-adres met 100.64. tot en met 100.127., dan zit je achter CGNAT. Het IP Cloud-adres helpt dan niet: dat publiceert alleen het adres dat de router zelf heeft, en Back To Home werkt vanaf datzelfde adres.
Wat je kunt doen:
- Vraag je provider om een publiek IPv4-adres. Vaak kan dat, soms gratis, soms tegen een paar euro per maand. Dit is de eenvoudigste oplossing.
- Gebruik IPv6. Krijgen je router en je telefoon allebei IPv6, dan kan de tunnel daarover lopen: vul dan het IPv6-adres of de hostnaam in als endpoint. Zet wel de IPv6-firewall aan; zie IPv6. Onderweg heb je alleen niet altijd IPv6.
- Laat de tunnel op een VPS uitkomen. Een kleine server met een publiek adres is het vaste punt: je router belt daarheen met een keepalive, je telefoon ook, en het verkeer gaat via die server. De configurator configureert die VPS niet voor je, maar de kant van de router is hetzelfde werk als hierboven: een peer van het soort site-to-site met het endpoint van de VPS.
Verder lezen
WireGuard voor alle velden, VPN voor losse gebruikers als er geen client op mag, en Voorbeeld: twee locaties met een tunnel als het om vaste verbindingen gaat.