pfSense : configuration d’un VPN Client à Site avec OpenVPN

Dans ce tutoriel, je vais vous expliquer comment configurer une VPN Client à Site (client-to-site) avec PFsense en utilisant OpenVPN.

Pour rappel, un VPN permet de se connecter depuis un emplacement distant au réseau de l’entreprise pour accéder aux différents services.

Pour commencer, vous aurez besoin d’un pare-feu pfSense puis :

  • D’une adresse IP Fixe et idéalement un nom DNS pour la connexion, dans ce tutoriel, je vais utiliser le DNS openvpn.rdr-it.local.

Création des certificats

Pour commencer, on va créer une autorité de certification et un certificat dédié à OpenVPN sur le pare-feu pfSense.

Créer l’autorité de certification

Depuis le menu, cliquer sur System 1 puis sur Certificates 2.

Par défaut, on arrive sur la partie Autorité de certifications, cliquer sur le bouton + Add 1.

Donner un nom à l’autorité de certification 1 puis sélectionner Create an internal Certificate Autority 2, ensuite entrer le Common Name 3 et indiquer le code du pays 4 et cliquer sur Save 5.

L’autorité de certification est créée, par défaut elle a une durée de vie de 10 ans.

Création du certificat server

On va maintenant créer un certificat server basé sur l’autorité de certification que l’on vient de créer qui sera utiliser par le service OpenVPN.

Aller sur la page des certificats sur pfSense et cliquer sur Certificates 1 puis sur Add/Sign 2.

Commencer par indiquer un nom 1 pour le certificat, sélectionner l’autorité de certification 2 que l’on a créé précédemment , entrer le Common Name 3 (généralement le nom fqdn).

Dans la partie Certificate Attributes, sélectionner le type Server Certificate 1 puis sélectionner FQDN or Hostname 2 et indiquer le nom DNS 3 qui sera utilisé pour la connexion au VPN et cliquer sur Save 4.

Le certificat est créé.

Les certificats sont prêts.

Création d’un utilisateur

Pour ce tutoriel, je vais créer un utilisateur dans la base locale du firewall avec lequel je vais me connecter au VPN.

La gestion des accès étant « limité », si vous n’avez pas beaucoup d’utilisateur, je vous conseille de gérer les utilisateurs localement sur le firewall plutôt que de faire une liaison AD, sinon il faut faire une liaison AD en limitant les utilisateurs qui sont membres d’un groupe dans l’annuaire AD.

Depuis le menu, cliquer sur System 1 puis sur User Manager 2.

Cliquer sur le bouton Add 1 pour créer un nouvel utilisateur.

Commencer par saisir le nom d’utilisateur 1 (identifiant) puis son mot de passe 2 et 3 et entrer son nom 4 (Fullname).

Si vous souhaitez activer l’authentification par certificat en plus du mot de passe, cocher la case Click to create a user certificate 1, ensuite indiquer le nom du certificat 2 puis sélectionner l’autorité de certification 3 qui va emmètre le certificat.

Terminer la création de l’utilisateur en cliquant sur le bouton Save 1 qui se trouve en bas de la page.

L’utilisateur est créé.

Si vous avez activer la création du certificat utilisateur, on retrouve celui-ci également dans les certificats du firewall pfSense.

Configuration du VPN OpenSSL

Maintenant que nous avons répondu au prérequis, nous allons passer à la configuration du VPN SSL avec OpenVPN.

Par défaut, pfSense propose trois type de VPN : IPsec, L2TP et OpenVPN.

Dans cette partie, je vais vous donner plusieurs configuration différente, à savoir que dans ce Lab, je n’ai pas utilisé l’authentification avec certificat de l’utilisateur, car le client OpenVPN sur Windows 11 ne se configurer pas correctement.

Depuis le menu cliquer sur VPN 1 puis sur OpenVPN 2.

Ici, nous allons configurer la partie Serveur, cliquer sur le bouton Add 1.

Pour la configuration je vais procéder par étape.

Dans la partie General Information, commencer par indiquer une description pour le VPN 1.

Dans la section Mode Configuration, on va indiquer ici le type d’authentification souhaité ainsi que la base d’utilisateur.

Server mode 1 va permettre de choisir la méthode d’authentification, si vous souhaitez une authentification utilisateur / mot de passe / certificat, sélectionner Remote Access (SSL/TLS + Auth), pour une authentification sans certificat sélectionner Remote Access (User Auth), ensuite sélectionner Local Database 2.

La partie Endpoint Configuration ne varie pas, sélectionner le protocole pour le serveur OpenVPN 1 (UDP on IPv4 Only), sélectionner l’interface WAN 2 et configurer le port 3 par défaut 1194.

Au choix activer la configuration TLS 1, sélectionner l’autorité de certification 2 puis le certificat serveur 3 que l’on a créé.

Configuration du tunnel (Tunnel Settings) et du client (Client settrings), dans le champ IPV4 Tunnel Network 1 indiquer une plage d’adresse au format CIDR pour le réseau VPN, dans le champ IPv4 Local network(s) 2 : indiquer les réseaux qui seront utilisables en VPN, ceci va permettre de créer les routes, configurer le nombre maximum de connexions 3 dans le champ Concurrent connections. Dans la partie Client settings sélectionner la topologie 4 net30 – Isolated /30 network per client.

La topologie net30 – Isolated /30 network per client permet d’isoler les clients VPN ce qui consomme 4 adresses IP par connexion, cette option éviter que les ordinateurs connectés en VPN puisse se voir.

Dans la partie Advanced Client Settings, configurer les paramètres DNS pour les clients VPN.

Pour terminer, cliquer sur le bouton Save 1.

Le serveur OpenVPN est créé sur pfSense.

Créer les règles dans le pare-feu pour le VPN

Il faut maintenant créer les règles nécessaires pour le bon fonctionnement du VPN, on va en créer 2 :

  • Publication du VPN sur l’interface WAN du pfSense
  • Règles pour autoriser le trafic entre le réseau VPN et le ou les réseaux internes

Pour accèder aux règles du firewall, depuis le menu cliquer sur Firewall 1 pour sur Rules 2.

Publication du VPN sur l’interface WAN

Aller sur les règles WAN et cliquer sur le bouton Add 1.

Configurer la règle avec les informations ci-dessous :

  • 1 Action : Pass
  • 2 Interface : WAN
  • 3 Protocol : UDP
  • 4 Destination : WAN address
  • 5 Destination Port Range : OpenVPN (1194)

Cliquer sur Save 6 pour ajouter la règle.

La règle est ajoutée, cliquer sur Apply Changes 1 pour la prise en compte.

Le serveur VPN est publié sur Internet.

Règle de pare-feu pour le VPN vers l’interne

Il faut maintenant ajouter le ou les règles pour autoriser le trafic depuis le VPN vers l’interne.

Dans ce tutoriel, j’ai créé deux règles simple qui autorise tout le trafic du réseau VPN vers le LAN et le vlan SERVERS, en production, je vous conseille de filtrer aux maximum les accès et les ports de façon à ne pas rendre la zone VPN trop permissive.

Aller les règles OpenVPN et cliquer sur le bouton Add 1.

Configurer la règle pour autoriser le trafic et cliquer sur Save.

Une fois les règles créées, cliquer sur le bouton Apply Changes 1 pour la prise en compte.

Les règles sont créés.

Récupérer la configuration pour le client OpenVPN

Installer openvpn-client-export sur pfSense

Afin de nous faciliter la tâche pour la configuration du client OpenVPN sur les ordinateurs, on va installer un « Package » qui va nous permettre de télécharger la configuration pour le client OpenVPN.

Ce Package est particulièrement utile si vous utilisez l’authentification avec le certificat, car pour chaque utilisateur la configuration est différente.

Depuis le menu, cliquer sur System 1 pour sur Package Manager 2.

Aller sur Available Package 1, dans la zone de rechercher 2 entrer openvpn, depuis les résultats, cliquer sur Install 3 sur le package openvpn-client-export.

Cliquer sur Confirm 1.

Patienter pendant l’installation de openvpn-client-export sur pfSense …

Le paquet est installé.

Télécharger la configuration pour le client OpenVPN

Retourner à la configuration d’OpenVPN (Firewall -> OpenVPN), on a accès maintenant à Client Export 1.

La première partie nous permet de configurer des informations de configuration du client VPN, ici j’ai juste coché l’option : Microsoft Certificate Storage, A chaque modification cliquer sur le bouton Save as default.

En fonction de votre configuration d’OpenVPN télécharger l’archive.

La partie sur pfSense est terminée.

Se connecter au serveur VPN

Sur un ordinateur télécharger le client OpenVPN : https://openvpn.net/client/client-connect-vpn-for-windows/ puis installer le.

Sur l’ordinateur, décompresser l’archive puis cliquer sur le fichier de configuration .ovpn, cela devrait normalement importer la configuration automatiquement.

Entrer le nom d’utilisateur 1 et cliquer sur CONNECT 2.

Entrer ensuite le mot de passe 1 et cliquer sur OK 2.

Si tout fonctionne au bout de quelques secondes, vous êtes connecté au VPN.

Une fois connecté, si on affiche les routes de l’ordinateur, on peut voir que les routes nécessaires pour l’accès aux réseaux de l’entreprise ont été ajoutées.

Depuis le pfSense, on peut également voir les connexions actives.


A travers ce tutoriel, on a vu comment configurer un serveur VPN avec OpenVPN sur un pare-feu pfSense.

Par défaut le trafic vers Internet passe par la connexion Internet de l’ordinateur, il est possible de forcer la trafic Internet de passer par le firewall pfSense en désactivant le split tunneling, dans ce cas, il faut penser à créer une règle dans le pare-feu pour autoriser le trafic depuis le VPN vers le WAN.