Handleiding

VPN voor losse gebruikers

Binnenkomen met de ingebouwde VPN-client van een telefoon of laptop, zonder extra app.

Niet elk apparaat mag of kan een WireGuard-client installeren. Een beheerde laptop, een telefoon van de zaak of een gast die even bij een bestand moet: daarvoor heeft de configurator de protocollen die telefoons en laptops zelf al aan boord hebben. Kun je wel een app installeren, kies dan WireGuard; dit hoofdstuk gaat over de rest.

Waar het staat

In de wizard staan bij de VPN-stap alleen WireGuard, IKEv2 en L2TP/IPsec. SSTP, OpenVPN en PPTP zitten in geavanceerd, onder VPN, in dezelfde groep als L2TP.

Welke kies je

  • IKEv2 — de beste keuze van dit rijtje. iOS, macOS, Windows en Android kunnen het zonder extra software, het overleeft een wissel van wifi naar mobiel, en met certificaten is er geen wachtwoord om te raden.
  • L2TP/IPsec — werkt op oudere apparatuur en op wat oude netwerkapparatuur nog toelaat. De tool zet use-ipsec=required, dus L2TP zonder versleuteling komt er niet doorheen.
  • SSTP — TCP op poort 443. Handig op netwerken waar alleen webverkeer langs de firewall komt. In de praktijk een Windows-protocol.
  • OpenVPN — als je client of je beleid het vraagt. Je maakt het clientprofiel zelf; zie hieronder.
  • PPTP — gebroken. MS-CHAPv2 en RC4 zijn te kraken, dus wie meekijkt leest mee. De configurator zet er een fout bij, geen waarschuwing. Zet het alleen aan voor apparatuur die echt niets anders kan, en dan voor verkeer dat niet geheim is.

IKEv2

Kies eerst de authenticatie:

  • Certificaten — de router maakt zelf een CA (vpn-ca), een servercertificaat op de servernaam die je invult, en per client een certificaat. Vul die servernaam in als de naam waarmee je verbindt, want hij komt in het certificaat en in de SAN te staan.
  • Pre-shared key — eenvoudiger, maar iedereen deelt hetzelfde geheim. Het veld heeft een knop om er een te genereren en wil minstens 16 tekens.

Met certificaten vul je per client een naam en een wachtwoord voor de .p12-export in. Het script maakt en tekent de certificaten en exporteert ze:

/certificate export-certificate vpn-phone1 type=pkcs12 export-passphrase=...

Na het uitvoeren staan die bestanden in Files op de router. Haal ze daar op, zet ze op het apparaat en importeer ze; de CA zit in het bestand. Vergeet niet ze daarna van de router te halen.

De adrespool voor clients (standaard 192.168.77.2-192.168.77.254) bepaalt welke adressen ingebelde clients krijgen. Kies een reeks die je nergens anders gebruikt. De tool zet mode-config klaar met die pool en met het LAN-adres van de router als DNS-server.

L2TP, SSTP, OpenVPN en PPTP

Deze vier delen één adrespool, één routeradres en één lijst gebruikers, want ze gebruiken in RouterOS dezelfde PPP-laag:

  • Adrespool voor PPP-clients — standaard 192.168.89.2-192.168.89.254.
  • Routeradres voor PPP-clients — standaard 192.168.89.1, het adres dat de client aan de andere kant van de verbinding ziet.
  • PPP-gebruikers — naam, wachtwoord en voor welke dienst die gebruiker mag inbellen: any, of alleen l2tp, sstp, ovpn of pptp. Zet je meerdere servers aan, dan is dat laatste de manier om per gebruiker te bepalen waar die binnenkomt.

Er komt één PPP-profiel vpn uit, met het routeradres, de pool, de DNS-server van je LAN, versleuteling aan en MSS-aanpassing aan, zodat grote pakketten door de tunnel passen.

Bij L2TP vul je een IPsec pre-shared key in (minstens 12 tekens, er is een knop om er een te maken). De firewall laat UDP 1701 alleen toe als het binnen IPsec zit, dus L2TP zonder versleuteling wordt geweigerd.

Voor SSTP en OpenVPN maakt het script een eigen CA (ppp-ca) en een servercertificaat (ppp-server). Dat is een zelfondertekend certificaat: je client moet die CA vertrouwen. De tool haalt geen certificaat bij een publieke uitgever op.

SSTP luistert op TCP 443. Staat HTTPS-beheer (www-ssl) ook op 443, dan is dat een fout in de controles; verzet dan een van de twee. Zie Beheertoegang.

Bij OpenVPN kies je poort (standaard 1194) en UDP of TCP. De server vraagt geen clientcertificaat, dus je logt in met gebruikersnaam en wachtwoord uit de PPP-lijst. De configurator schrijft geen .ovpn-bestand: dat clientprofiel maak je zelf, met de CA van de router erbij. In het script staat ook de regel voor RouterOS ouder dan 7.17, want daar heet dit anders.

Wat je nog nodig hebt

  • Een bereikbaar adres. Vul bovenaan het publieke adres of de hostnaam in. Zonder vast IP: IP Cloud DDNS aan bij Beheertoegang en de sn.mynetname.net-naam gebruiken.
  • Firewallregels komen er vanzelf bij: UDP 500 en 4500 plus ESP voor IKEv2 en L2TP, TCP 443 voor SSTP, jouw poort voor OpenVPN.
  • Een kloppende klok. Certificaten met een datum uit de toekomst of het verleden worden geweigerd. Zet NTP aan; zie Systeem en tijd.

Wat er misgaat

  • De client verbindt, maar er is niets te zien. Kijk of de adrespool niet overlapt met het netwerk waar je op dat moment zit, en of de gebruiker de juiste dienst mag.
  • De naam klopt niet. Bij certificaten moet de naam waarmee je verbindt dezelfde zijn als de servernaam in het certificaat.
  • Twee diensten op dezelfde poort. SSTP en HTTPS-beheer willen allebei 443; de controles melden het.
  • Alleen IKEv2 nodig? Zet de rest uit. Elke server die aanstaat is een deur die je moet bijhouden.

Verder lezen

WireGuard voor apparaten waar je een client op mag zetten, Recept: thuis of kantoor bereiken van onderweg voor de hele route, en Firewall en NAT voor wat er opengaat.

Meteen proberen? Open de configurator