[Handleiding:] Veilig online met pfSense en een WireGuard VPN

Ik vertrouw Freedom Internet mijn online activiteiten toe. Om dit ‘buiten de deur’ ook mogelijk te maken heb ik een WireGuard VPN geinstalleerd op mijn pfSense. Zo zijn mijn smartphone, laptop etc. altijd online via Freedom, thuis.

De keuze voor WireGuard is simpel. Eenvoudig in te stellen en zuinig in energieverbruik.

Credits voor de configuratie gaan uit naar @patrick.

Bestaande situatie:

  • IPv4 op LAN met DHCP: 10.0.1.1 etc.
  • IPv6 middels Track Interface op LAN met IPv6 Prefix ID 1: 2a10:XXXX:XXXX:1::1 etc.

Voor WireGuard gaan we de volgende reeksen (die nu niet worden gebruikt) inzetten.

  • IPv4 10.0.2.1 etc.
  • IPv6 2a10:XXXX:XXXX:2::1 etc.

Voor het gemak maak ik van de 1 (LAN) een 2 (WireGuard).

De gateway en DNS voor WireGuard clients zijn dus 10.0.2.1 en 2a10:XXXX:XXXX:2::1 waarbij de clients vanaf 10 optellen. Dus 10.0.2.10 en 2a10:XXXX:XXXX:2::10 voor de eerste client, 11 voor de 2e etc.

Te volgen stappen:

  1. Installeer WireGuard met een druk op de knop via System > Package Manager > Available Packages. Na de installatie zie je de applicatie staan bij Installed Packages.

  1. Voeg twee simpele firewall regels toe via Firewall > Rules > WireGuard. Zie mijn screenshot voor de configuratie. Simpelweg pass IPv4 en pass IPv6. Beiden protocol, source en destination op ‘any’.

  1. Voeg twee firewall regels toe via Firewall > Rules > WAN.
  • Voor IPv4 kies je WAN, IPv4, UDP. Destination WAN address en poort 51820 (de standaard WireGuard poort).
  • Voor IPv6 kies je WAN, IPv6, UDP. Destination single host or alias met 2a10:XXXX:XXXX:2::1 en poort 51820.

  1. Activeer WireGuard via VPN > WireGuard > Settings

  1. Creer de tunnel via VPN > WireGuard> Tunnels. Genereer de sleutels. De public key is benodigd voor de configuratie van de client. Zoals je ziet gebruik ik ook hier 2a10:XXXX:XXXX:2::1 voor IPv6 en 10.0.2.1 voor IPv4.

  1. Via VPN > WireGuard > Peers voeg je de clients toe. Selecteer de tunnel en geef de public key van de client op. Die genereert WireGuard op je client waarover later meer. Dit is mijn eerste client dus in dit geval geef ik 10.0.2.10 en 2a10:XXXX:XXXX:2::10 uit.

  1. Tenslotte configureer je de client. De public key van de client is de key die je nodig hebt in stap 6. De public key uit stap 5 is hier benodigd voor de peer configuratie. Voor mijn endpoint heb ik een DNS-record met A en AAAA records maar dit mag natuurlijk ook gewoon je standaard IPv4 adres zijn.

3 likes

Wat is de reden dat je de ingebouwde VPN van de Fritz!Box niet gebruikt? Of heb je geen Fritz!Box?

Klopt, ik heb glasvezel rechtstreeks aan mijn pfSense gekoppeld.

En de Fritz!box gaat WireGuard in de volgende firmware versie aanbieden. Het zit nu in de testfase en de Labor versie heeft het als in zich.

Dat zijn goede ontwikkelingen!