Installation et Configuration OpenVPN sur pfSense (Remote Access)

Ce guide permet de configurer un VPN OpenVPN en mode Remote Access sur pfSense.

Il permet à des clients distants d'accéder au réseau interne 192.168.60.0/24 de manière sécurisée.

L'architecture repose sur un tunnel chiffré AES-256-GCM avec authentification par certificats et gestion des utilisateurs intégrée à pfSense.


1 — Préparation du réseau

Informations de l'environnement réseau utilisé dans ce guide

Adressage réseau

Élément Adresse
pfSense LAN 192.168.60.254
Réseau LAN 192.168.60.0/24
VM cible 192.168.60.33

Schéma de l'architecture :

                        Internet
                           │
              ┌────────────┴────────────┐
              │                         │
    ┌─────────────────┐       ┌─────────────────────┐
    │   Client VPN    │       │       pfSense        │
    │  (PC distant)   │ ════► │  OpenVPN Remote      │
    │  .ovpn importé  │       │  Access  Port 1194   │
    └─────────────────┘       └──────────┬──────────┘
                                         │
                              ┌──────────┴──────────┐
                              │   LAN 192.168.60.x  │
                              │  VM : 192.168.60.33 │
                              └─────────────────────┘




2 — Création de l'Autorité de Certification (CA)

Création d'une CA interne qui signera tous les certificats du VPN

Accès au gestionnaire de certificats

Naviguer vers :

System → Certificate Authorities → Add


Configuration de la CA

Remplir les champs de la manière suivante :

Champ Valeur
Method Create an internal Certificate Authority
Descriptive Name VPN-CA
Key Length 2048
Digest Algorithm SHA256
Lifetime 3650
Common Name VPN-CA

Remplir les informations d'identité :

Country Code : FR
City         : Montpellier (ou au choix)

ℹ INFO : La durée de vie de 3650 jours correspond à 10 ans. La CA sera valable pendant toute cette période pour signer les certificats du VPN.

Cliquer sur Save.




3 — Création du certificat serveur

Génération du certificat d'identité du serveur OpenVPN, signé par la CA

Accès à la section Certificates

Naviguer vers :

System → Certificates → Add / Sign


Configuration du certificat serveur

Remplir les champs de la manière suivante :

Champ Valeur
Method Create internal certificate
Descriptive Name OpenVPN-Server
Certificate Authority VPN-CA
Type Server Certificate

⚠ ATTENTION : Le type doit impérativement être Server Certificate et non User Certificate, sinon OpenVPN refusera de démarrer.

Cliquer sur Save.




4 — Création du serveur OpenVPN

Configuration du serveur VPN via l'assistant intégré de pfSense

Accès à l'assistant

Naviguer vers :

VPN → OpenVPN → Wizards

Sélectionner le backend d'authentification :

Authentication Backend : Local User Access

Puis sélectionner successivement :

CA          : VPN-CA
Certificate : OpenVPN-Server


Configuration générale du serveur

Paramètre Valeur
Server Mode Remote Access (SSL/TLS)
Protocol UDP
Interface LAN (lab Proxmox)
Port 1194


Cryptographie

Paramètre Valeur
TLS Authentication Activé
Encryption Algorithm AES-256-GCM
Auth Digest Algorithm SHA256

ℹ INFO : AES-256-GCM est le chiffrement recommandé — il combine chiffrement et authentification du message en un seul algorithme performant.


Configuration réseau

Paramètre Valeur
Tunnel Network 10.8.0.0/24
Local Network 192.168.60.0/24
DNS Server 1 192.168.60.254

⚠ ATTENTION : Le champ Tunnel Network doit être un réseau inutilisé sur votre infrastructure. Le champ Local Network correspond au réseau LAN réel à exposer aux clients VPN.

Cliquer sur Finish pour terminer l'assistant.




5 — Création d'un utilisateur VPN

Création d'un compte utilisateur avec son certificat client pour l'authentification VPN

Accès au gestionnaire d'utilisateurs

Naviguer vers :

System → User Manager → Add


Configuration de l'utilisateur

Remplir les informations du compte :

Champ Valeur
Username vpnuser
Password (mot de passe sécurisé)

Cocher l'option :

Click to create a user certificate

Dans le menu déroulant qui apparaît, sélectionner :

CA : VPN-CA

ℹ INFO : En cochant cette case, pfSense va automatiquement générer et signer un certificat client pour cet utilisateur. Ce certificat sera embarqué dans le fichier de configuration .ovpn.

Cliquer sur Save.




6 — Installation du package d'export client

Installation du package pfSense permettant d'exporter les configurations clients OpenVPN

Accès au gestionnaire de paquets

Naviguer vers :

System → Package Manager → Available Packages


Installation du package

Rechercher et installer le package suivant :

openvpn-client-export

Cliquer sur Install puis confirmer.

ℹ INFO : Ce package ajoute une interface dans pfSense permettant de générer automatiquement les fichiers de configuration pour chaque utilisateur VPN, incluant les certificats et clés embarquées.




7 — Export de la configuration client

Génération et téléchargement du fichier de configuration pour le client VPN

Accès à l'export client

Naviguer vers :

VPN → OpenVPN → Client Export

La liste des utilisateurs configurés apparaît.


Téléchargement de la configuration

Choisir le format adapté au système du client :

Pour Windows :

Windows Installer (.exe)

⚠ IMPORTANT : Le fichier .ovpn contient les certificats, clés et paramètres de connexion. Il est confidentiel : ne pas le partager ni le stocker dans un endroit non sécurisé.




8 — Règles de pare-feu pfSense

Création des règles de pare-feu pour autoriser les clients VPN à accéder au réseau LAN

Règle OpenVPN → LAN

Naviguer vers :

Firewall → Rules → OpenVPN

Créer la règle suivante :

Action      : Pass
Interface   : OpenVPN
Protocol    : any
Source      : OpenVPN net
Destination : LAN net
Description : Allow VPN clients to LAN

⚠ NOTE : Pour un environnement de production, affiner les règles en précisant les protocoles et ports autorisés plutôt que d'utiliser "any".

Schéma du flux réseau VPN :

┌──────────────────────────────────────────────────────────────┐
│                      pfSense Firewall                        │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  WAN Rules    : ✓ UDP 1194 → OpenVPN Server                 │
│  OpenVPN Rules: ✓ OpenVPN net → LAN net (any)               │
│  LAN Rules    : ✓ Trafic habituel                           │
│                                                              │
└──────────────────────────────────────────────────────────────┘

Cliquer sur Save puis Apply Changes.




9 — Client VPN (VM Windows)

Installation et configuration du client OpenVPN sur la VM Windows

Installation du client

Sur la VM Windows, installer le client OpenVPN officiel puis importer le fichier exporté depuis pfSense :

  • Clic droit sur l'icône OpenVPN dans la barre des tâches
  • Sélectionner Import file
  • Choisir le fichier .ovpn téléchargé


Connexion au VPN

  • Clic droit sur l'icône OpenVPN dans la barre des tâches
  • Sélectionner Connect
  • Saisir les identifiants du compte créé :
Username : vpnuser
Password : (mot de passe défini dans pfSense)

L'icône doit passer au vert indiquant une connexion établie.




10 — Tests

Vérification du bon fonctionnement de la connexion OpenVPN

Test de connectivité

Une fois connecté, vérifier l'accès au réseau interne :

  • Ping vers pfSense (passerelle LAN) :
ping 192.168.60.254
  • Ping vers la VM cible :
ping 192.168.60.33
  • Vérification de l'adresse IP VPN attribuée (doit être dans le tunnel 10.8.0.0/24) :
ipconfig

Résultat attendu :

Carte Ethernet OpenVPN :
   Adresse IPv4. . . . . . . : 10.8.0.x
   Masque de sous-réseau . . : 255.255.255.0
   Passerelle par défaut . . : 10.8.0.1


Vérification côté pfSense

Dans l'interface web pfSense, vérifier les connexions actives :

Status → OpenVPN

┌──────────────┬──────────────┬──────────────┬──────────────┐
│     User     │  Real IP     │  VPN IP      │  Connected   │
├──────────────┼──────────────┼──────────────┼──────────────┤
│  vpnuser     │ X.X.X.X      │ 10.8.0.2     │  00:05:32    │
└──────────────┴──────────────┴──────────────┴──────────────┘




Résultat attendu

Récapitulatif des indicateurs de succès

  • VPN connecté — icône verte dans le client OpenVPN
  • IP tunnel attribuée — adresse en 10.8.0.x visible dans ipconfig
  • Accès au réseau 192.168.60.0/24 — ping vers pfSense et VMs opérationnel
  • Accès aux machines internes — communication établie avec 192.168.60.33




Conclusion

Mise en place d'un VPN Remote Access SSL/TLS sur pfSense permettant un accès sécurisé au réseau interne via authentification utilisateur et certificat.

Le tunnel chiffré AES-256-GCM garantit la confidentialité des échanges, tandis que l'authentification par certificat assure l'identité des clients connectés.