Configurer son VPN Wireguard sur un parefeu Pfsense [tuto]

Dernière mise a jour 25 Mar 2021 a 01:59

[edit 24.03.21]
Wireguard est temporairement retiré de pfsense pour des raisons de sécurité. Il est conseillé d’attendre une future maj pour l’utiliser en prod.
En d’avoir plus ici
[/edit]

Au détour d’un article rapatrié par mon lecteur de flux rss, j’apprends que la dernière version de pfsense supporte le protocole vpn Wireguard. Mais en voilà une bonne idée ! Pour rappel, pfsense  est un routeur/pare-feu open source basé sur le système d’exploitation FreeBSD.
Et wireguard c’est ce protocole vpn que même santa Linus Torvald a décidé en mai 2020 d’inclure dans le noyau Linux. Et pour cause, wireguard est un vpn réputé sécurisé et performant.Et si tu es curieux ou que tu veux faire le comparatif avec openvpn , n’hésite pas, fonce!
Donc après le tuto pour installer wireguard sur sa raspberry , aujourd’hui voici comment configurer wireguard VPN sur son routeur pfsense.

Les étapes que nous allons suivre :

1- créer le tunnel wireguard sur le routeur
2- créer la conf des clients : smartphone et pc
3- configurer les règles parefeu pour interfaces WAN et Wireguard

prérequis :

-avoir son routeur pfsense avec la dernière mise à jour 2.5.0
– avoir un smartphone sous android – possible aussi de prendre un pc comme client

1- créer le tunnel sur le routeur

-Se connecter sur pfsense en admin:
-Aller dans le menu VPN – wireguard

  • cliquer sur le bouton « add tunnel »
  • une fenêtre pour créer le tunnel s’ouvre:

champs à remplir:

1- cocher « enabled« 
2- Description : « mon vpn maison » par exemple
3 – adress: 10.9.0.1/24 , c’est la plage d’adresses privée réservée aux clients VPN lorsqu’ils se connecteront sur le serveur.
4- port 51820 , le port par défaut. Tu peux en mettre un autre si tu veux.
5- coller clé publique et clé privée du serveur générées au préalable via l’outil ici

2- Configurer les clients

Par défaut , pfsense ne permet pas d’exporter les fichiers de confs des clients ni de générer des QR codes depuis son interface . Ca aurait été plus sympa pour pouvoir importer facilement dans la conf dans l’appli du smartphone.

Voici donc deux méthodes pour nous aider :
– utiliser un générateur de conf en ligne comme ici ou un script bash comme
– ou bien ouvrir l’interface d’administration de pfsense dans le firefox de notre client (smartphone).Ainsi on pourra faire du copier/coller vers l’application wireguard.

  • cliquer sur « add peer« 

champs à remplir:

1- Endpoint – mettre l’ip publique de son routeur
2- Endpoint port: 51820
3 – Keepalive : par défaut désactivé mais possible de mettre une valeur pour vérifier que le serveur vpn est toujours actif
4- Public key : mettre la clé publique du client
5- Allowed IP’s: mettre l’ip privée du client
6- Peer Wireguard Adress: 0.0.0.0/0 – autorise toutes les ip
7- Pre-shared key : clé partagée entre le client et le serveur- renforrce la sécu . Pour ce tuto , j’en ai pas mis pour simplifier la compréhension mais ce serait conseillé d’en mettre une.

Valider l’écran de config et ne pas oublier de cliquer sur « save ».

Sur le smartphone , flasher le QR code avec l’application wireguard téléchargée depuis le dépôt fdroid ou via l’application aurora.

capture d’écran de la config wireguard sur le smartphone:

3- Configurer les règles du pare-feu

Les règles suivantes sont à ajouter sur ton pfsense:

A adapter selon votre infra (ipv4/ipv6?). A noter que mes règles sont volontairement permissives. Dans un second temps , après les tests,il conviendrait de les restreindre. Notamment pour limiter l’accès à certains sous-réseaux.

-firewall- rules – WAN
destination WAN adress – port 51820
Aperçu:

– firewall – rules – Wireguard
src: any destination :LAN net

And voilà! un vpn rapide et sécurisé pour pouvoir chiffrer ses communications entre son routeur et son smartphone.

sources:
https://www.reddit.com/r/PFSENSE/comments/lmv1cp/how_to_setup_wireguard_on_pfsense_252102_with/
https://itigic.com/fr/how-to-configure-wireguard-vpn-server-in-pfsense/

1 commentaire sur Configurer son VPN Wireguard sur un parefeu Pfsense [tuto]

Leave a Reply

Votre adresse de messagerie ne sera pas publiée.


*