Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
<br>
<br>
= <span style="color:#1b4f72;">Installation et Configuration OpenVPN sur pfSense</span> =
= <span style="color:#004d40;">Installation et Configuration OpenVPN sur pfSense (Remote Access)</span> =


{| style="width:100%; background:#d6eaf8; border:1px solid #85c1e9; padding:15px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:15px; border-radius:10px; overflow:hidden;"
|
|
<span style="font-size:115%; color:#1b4f72;">
<span style="font-size:115%; color:#004d40;">
Cette section décrit l'installation et la configuration complète d'un serveur VPN avec OpenVPN intégré à pfSense. <br><br>
Ce guide permet de configurer un VPN OpenVPN en mode Remote Access sur pfSense. <br><br>
Elle permet de se connecter à distance à son réseau local et d'accéder aux ressources internes (VMs Proxmox, NAS, Active Directory, etc.) de manière sécurisée. <br><br>
Il permet à des clients distants d'accéder au réseau interne <b>192.168.60.0/24</b> de manière sécurisée. <br><br>
L'architecture repose sur un tunnel chiffré AES-256-GCM avec authentification par certificats et gestion des utilisateurs intégrée à pfSense.</span>
L'architecture repose sur un tunnel chiffré AES-256-GCM avec authentification par certificats et gestion des utilisateurs intégrée à pfSense.</span>
|}
|}
Ligne 13 : Ligne 13 :


<br>
<br>
= <span style="color:#1a5276;">Prérequis</span> =
= <span style="color:#00695c;">1 — Préparation du réseau</span> =


{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#1a5276;">Vérification de l'environnement avant de commencer la configuration</b>
<b style="color:#00695c;">Informations de l'environnement réseau utilisé dans ce guide</b>
|}
|}


== <span style="color:#2471a3;">Environnement nécessaire</span> ==
== <span style="color:#00897b;">Adressage réseau</span> ==


Avant de commencer la configuration d'OpenVPN, s'assurer que les éléments suivants sont en place :
{| class="wikitable" style="width:50%;"
! Élément !! Adresse
|-
| pfSense LAN || 192.168.60.254
|-
| Réseau LAN || 192.168.60.0/24
|-
| VM cible || 192.168.60.33
|}


* <b>pfSense installé</b> et opérationnel
Schéma de l'architecture :
* <b>Accès à l'interface web</b> pfSense disponible à l'adresse :
 
<pre>
https://IP_PFSENSE
</pre>
 
* <b>Port ouvert sur la box Internet</b> (redirection de port) :
 
<pre>
1194 UDP  →  IP_PFSENSE
</pre>
 
Schéma de l'architecture VPN :


<pre>
<pre>
Ligne 44 : Ligne 39 :
               ┌────────────┴────────────┐
               ┌────────────┴────────────┐
               │                        │
               │                        │
     ┌─────────────────┐      ┌─────────────────┐
     ┌─────────────────┐      ┌─────────────────────┐
     │  Client VPN    │      │   pfSense      
     │  Client VPN    │      │       pfSense      
     │  (PC distant)  │ ════► │  OpenVPN Server 
     │  (PC distant)  │ ════► │  OpenVPN Remote     
     │  .ovpn importé  │      │   Port 1194 UDP 
     │  .ovpn importé  │      │ Access  Port 1194  
     └─────────────────┘      └────────┬─────────┘
     └─────────────────┘      └──────────┬──────────┘
                                     
                                       
                          ┌────────────┼────────────┐
                              ┌──────────┴──────────┐
                                    │            │
                                LAN 192.168.60.x  │
                    ┌────────┐  ┌──────────┐  ┌────────┐
                              │  VM : 192.168.60.33
                    │  LAN   │  │ Proxmox  │  │  NAS  │
                              └─────────────────────┘
                    │ .1.x   │   VMs    │  │  AD   
                    └────────┘  └──────────┘  └────────┘
</pre>
</pre>


Ligne 61 : Ligne 54 :
<br><br>
<br><br>


= <span style="color:#1a5276;">1 Créer l'Autorité de Certification (CA)</span> =
= <span style="color:#00695c;">2 Création de l'Autorité de Certification (CA)</span> =


{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#1a5276;">Création d'une CA interne qui signera tous les certificats du VPN</b>
<b style="color:#00695c;">Création d'une CA interne qui signera tous les certificats du VPN</b>
|}
|}


== <span style="color:#2471a3;">Accès au gestionnaire de certificats</span> ==
== <span style="color:#00897b;">Accès au gestionnaire de certificats</span> ==
 
L'Autorité de Certification (CA) est la racine de confiance du VPN. Elle signera le certificat serveur et les certificats utilisateurs.


Naviguer vers :
Naviguer vers :


<b>System → Cert. Manager CAs</b>
<b>System → Certificate Authorities Add</b>
 
Cliquer sur :
 
<pre>
Add
</pre>




 
== <span style="color:#00897b;">Configuration de la CA</span> ==
== <span style="color:#2471a3;">Configuration de la CA</span> ==


Remplir les champs de la manière suivante :
Remplir les champs de la manière suivante :
Ligne 91 : Ligne 75 :
! Champ !! Valeur
! Champ !! Valeur
|-
|-
| Method || Create an internal CA
| Method || Create an internal Certificate Authority
|-
|-
| Descriptive Name || VPN-CA
| Descriptive Name || VPN-CA
|-
|-
| Key length || 2048
| Key Length || 2048
|-
|-
| Digest Algorithm || sha256
| Digest Algorithm || SHA256
|-
|-
| Lifetime || 3650
| Lifetime || 3650
|-
| Common Name || VPN-CA
|}
|}


Remplir les informations d'identité (valeurs libres) :
Remplir les informations d'identité :


<pre>
<pre>
Country Code : FR
Country Code : FR
State         : (votre région)
City         : Montpellier (ou au choix)
City          : (votre ville)
Organization  : (votre organisation)
</pre>
</pre>


Ligne 116 : Ligne 100 :
|}
|}


Cliquer sur <b>Save</b> pour enregistrer la CA.
Cliquer sur <b>Save</b>.




<br><br>
<br><br>


= <span style="color:#1a5276;">2 Créer le Certificat Serveur</span> =
= <span style="color:#00695c;">3 Création du certificat serveur</span> =


{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#1a5276;">Génération du certificat d'identité du serveur OpenVPN, signé par la CA</b>
<b style="color:#00695c;">Génération du certificat d'identité du serveur OpenVPN, signé par la CA</b>
|}
|}


== <span style="color:#2471a3;">Accès à la section Certificates</span> ==
== <span style="color:#00897b;">Accès à la section Certificates</span> ==


Naviguer vers :
Naviguer vers :


<b>System → Cert. Manager Certificates</b>
<b>System → Certificates → Add / Sign</b>
 
Cliquer sur :
 
<pre>
Add / Sign
</pre>
 




== <span style="color:#2471a3;">Configuration du certificat serveur</span> ==
== <span style="color:#00897b;">Configuration du certificat serveur</span> ==


Remplir les champs de la manière suivante :
Remplir les champs de la manière suivante :
Ligne 156 : Ligne 133 :
|-
|-
| Type || Server Certificate
| Type || Server Certificate
|-
| Key length || 2048
|-
| Digest Algorithm || sha256
|}
|}


Ligne 167 : Ligne 140 :
|}
|}


Cliquer sur <b>Save</b> pour enregistrer le certificat serveur.
Cliquer sur <b>Save</b>.




<br><br>
<br><br>


= <span style="color:#145a32;">3 Lancer l'Assistant OpenVPN</span> =
= <span style="color:#00695c;">4 Création du serveur OpenVPN</span> =


{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#145a32;">Configuration du serveur VPN via l'assistant intégré de pfSense</b>
<b style="color:#00695c;">Configuration du serveur VPN via l'assistant intégré de pfSense</b>
|}
|}


== <span style="color:#1e8449;">Accès à l'assistant</span> ==
== <span style="color:#00897b;">Accès à l'assistant</span> ==


Naviguer vers :
Naviguer vers :
Ligne 185 : Ligne 158 :
<b>VPN → OpenVPN → Wizards</b>
<b>VPN → OpenVPN → Wizards</b>


L'assistant se déroule en plusieurs étapes successives.
Sélectionner le backend d'authentification :
 
 
 
== <span style="color:#1e8449;">Sélection de la CA</span> ==
 
Choisir l'autorité de certification créée précédemment :


<pre>
<pre>
VPN-CA
Authentication Backend : Local User Access
</pre>
</pre>


Cliquer sur <b>Next</b>.
Puis sélectionner successivement :
 
 
 
== <span style="color:#1e8449;">Sélection du certificat serveur</span> ==
 
Choisir le certificat serveur créé précédemment :


<pre>
<pre>
OpenVPN-Server
CA          : VPN-CA
Certificate : OpenVPN-Server
</pre>
</pre>


Cliquer sur <b>Next</b>.
== <span style="color:#1e8449;">Configuration du serveur VPN</span> ==


Configurer les paramètres généraux du serveur :
== <span style="color:#00897b;">Configuration générale du serveur</span> ==


{| class="wikitable" style="width:65%;"
{| class="wikitable" style="width:65%;"
Ligne 224 : Ligne 181 :
| Protocol || UDP
| Protocol || UDP
|-
|-
| Interface || WAN
| Interface || LAN (lab Proxmox)
|-
|-
| Port || 1194
| Port || 1194
|}
== <span style="color:#00897b;">Cryptographie</span> ==
{| class="wikitable" style="width:65%;"
! Paramètre !! Valeur
|-
|-
| TLS Authentication || Cocher (activer)
| TLS Authentication || Activé
|-
|-
| Encryption Algorithm || AES-256-GCM
| Encryption Algorithm || AES-256-GCM
Ligne 241 : Ligne 205 :




 
== <span style="color:#00897b;">Configuration réseau</span> ==
== <span style="color:#1e8449;">Configuration du réseau VPN</span> ==
 
Configurer le tunnel réseau et le réseau local à exposer :


{| class="wikitable" style="width:65%;"
{| class="wikitable" style="width:65%;"
! Paramètre !! Exemple
! Paramètre !! Valeur
|-
|-
| Tunnel Network || 10.8.0.0/24
| Tunnel Network || 10.8.0.0/24
|-
|-
| Local Network || 192.168.1.0/24
| Local Network || 192.168.60.0/24
|-
| DNS Server 1 || 192.168.60.254
|}
|}


{| style="width:100%; background:#fff3e0; border:1px solid #ffb74d; padding:10px; border-radius:8px; overflow:hidden;"
{| style="width:100%; background:#fff3e0; border:1px solid #ffb74d; padding:10px; border-radius:8px; overflow:hidden;"
|
|
<b style="color:#e65100;">⚠ ATTENTION :</b> Le champ <b>Local Network</b> doit contenir l'adresse de <b>TON réseau LAN réel</b> (ex: 192.168.30.0/24 selon ta configuration pfSense).
<b style="color:#e65100;">⚠ ATTENTION :</b> Le champ <b>Tunnel Network</b> doit être un réseau inutilisé sur votre infrastructure. Le champ <b>Local Network</b> correspond au réseau LAN réel à exposer aux clients VPN.
|}
 
Explication des paramètres réseau :
 
* <b>Tunnel Network</b> : plage d'adresses IP dédiée aux clients VPN (doit être un réseau inutilisé)
* <b>Local Network</b> : réseau interne que les clients VPN pourront joindre une fois connectés
 
 
 
== <span style="color:#1e8449;">Configuration DNS</span> ==
 
Renseigner l'adresse DNS que les clients VPN utiliseront :
 
{| class="wikitable" style="width:65%;"
! Paramètre !! Valeur
|-
| DNS Server 1 || IP de pfSense (ex: 192.168.1.1)
|}
 
{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; overflow:hidden;"
|
<b style="color:#1e8449;">ℹ INFO :</b> Pointer le DNS vers pfSense permet aux clients VPN de résoudre les noms internes (serveurs, AD, NAS) comme s'ils étaient sur le réseau local.
|}
|}
== <span style="color:#1e8449;">Options avancées</span> ==
Option importante à activer selon le besoin :
<pre>
Redirect Gateway
</pre>
* <b>Cocher</b> cette option si l'on souhaite que <b>tout le trafic Internet</b> du client passe par le VPN (full tunnel)
* <b>Laisser décoché</b> si l'on souhaite uniquement accéder au réseau interne sans modifier le trafic Internet du client (split tunnel)


Cliquer sur <b>Finish</b> pour terminer l'assistant.
Cliquer sur <b>Finish</b> pour terminer l'assistant.
Ligne 299 : Ligne 227 :
<br><br>
<br><br>


= <span style="color:#145a32;">4 Créer un Utilisateur VPN</span> =
= <span style="color:#00695c;">5 Création d'un utilisateur VPN</span> =


{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#145a32;">Création d'un compte utilisateur avec son certificat client pour l'authentification VPN</b>
<b style="color:#00695c;">Création d'un compte utilisateur avec son certificat client pour l'authentification VPN</b>
|}
|}


== <span style="color:#1e8449;">Accès au gestionnaire d'utilisateurs</span> ==
== <span style="color:#00897b;">Accès au gestionnaire d'utilisateurs</span> ==


Naviguer vers :
Naviguer vers :


<b>System → User Manager</b>
<b>System → User Manager → Add</b>


Cliquer sur :
<pre>
Add
</pre>


 
== <span style="color:#00897b;">Configuration de l'utilisateur</span> ==
 
== <span style="color:#1e8449;">Configuration de l'utilisateur</span> ==


Remplir les informations du compte :
Remplir les informations du compte :


{| class="wikitable" style="width:60%;"
{| class="wikitable" style="width:50%;"
! Champ !! Valeur
! Champ !! Valeur
|-
|-
| Username || uservpn
| Username || vpnuser
|-
|-
| Password || (mot de passe sécurisé)
| Password || (mot de passe sécurisé)
Ligne 341 : Ligne 262 :


<pre>
<pre>
VPN-CA
CA : VPN-CA
</pre>
</pre>


Ligne 349 : Ligne 270 :
|}
|}


Cliquer sur <b>Save</b> pour créer l'utilisateur et son certificat.
Cliquer sur <b>Save</b>.




<br><br>
<br><br>


= <span style="color:#7d6608;">5 Installer le Package d'Export Client</span> =
= <span style="color:#00695c;">6 Installation du package d'export client</span> =


{| style="width:100%; background:#fef9e7; border:1px solid #f9e79f; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#7d6608;">Installation du package pfSense permettant d'exporter les configurations clients OpenVPN</b>
<b style="color:#00695c;">Installation du package pfSense permettant d'exporter les configurations clients OpenVPN</b>
|}
|}


== <span style="color:#9a7d0a;">Accès au gestionnaire de paquets</span> ==
== <span style="color:#00897b;">Accès au gestionnaire de paquets</span> ==


Naviguer vers :
Naviguer vers :
Ligne 368 : Ligne 289 :




 
== <span style="color:#00897b;">Installation du package</span> ==
== <span style="color:#9a7d0a;">Installation du package</span> ==


Rechercher et installer le package suivant :
Rechercher et installer le package suivant :
Ligne 379 : Ligne 299 :
Cliquer sur <b>Install</b> puis confirmer.
Cliquer sur <b>Install</b> puis confirmer.


{| style="width:100%; background:#fef9e7; border:1px solid #f9e79f; padding:10px; border-radius:8px; overflow:hidden;"
{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; overflow:hidden;"
|
|
<b style="color:#7d6608;">ℹ INFO :</b> 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.
<b style="color:#1e8449;">ℹ INFO :</b> 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.
|}
|}


Ligne 387 : Ligne 307 :
<br><br>
<br><br>


= <span style="color:#7d6608;">6 Exporter la Configuration Client</span> =
= <span style="color:#00695c;">7 Export de la configuration client</span> =


{| style="width:100%; background:#fef9e7; border:1px solid #f9e79f; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#7d6608;">Génération et téléchargement du fichier de configuration pour le client VPN</b>
<b style="color:#00695c;">Génération et téléchargement du fichier de configuration pour le client VPN</b>
|}
|}


== <span style="color:#9a7d0a;">Accès à l'export client</span> ==
== <span style="color:#00897b;">Accès à l'export client</span> ==


Naviguer vers :
Naviguer vers :
Ligne 403 : Ligne 323 :




== <span style="color:#00897b;">Téléchargement de la configuration</span> ==


== <span style="color:#9a7d0a;">Téléchargement de la configuration</span> ==
Choisir le format adapté au système du client :
 
Choisir le format de configuration adapté au système du client :


Pour <b>Windows</b> :
Pour <b>Windows</b> :
Ligne 412 : Ligne 331 :
<pre>
<pre>
Windows Installer (.exe)
Windows Installer (.exe)
</pre>
Pour <b>Linux / macOS / mobile</b> :
<pre>
.OVPN file
</pre>
</pre>


Ligne 424 : Ligne 337 :
<b style="color:#e65100;">⚠ IMPORTANT :</b> 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é.
<b style="color:#e65100;">⚠ IMPORTANT :</b> 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é.
|}
|}
Contenu d'un fichier .ovpn type :
<pre>
client
dev tun
proto udp
remote IP_PUBLIQUE 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
&lt;ca&gt;
  ... certificat CA ...
&lt;/ca&gt;
&lt;cert&gt;
  ... certificat client ...
&lt;/cert&gt;
&lt;key&gt;
  ... clé privée client ...
&lt;/key&gt;
&lt;tls-auth&gt;
  ... clé TLS ...
&lt;/tls-auth&gt;
</pre>




<br><br>
<br><br>


= <span style="color:#4a235a;">7 Ouvrir le Pare-feu</span> =
= <span style="color:#00695c;">8 Règles de pare-feu pfSense</span> =


{| style="width:100%; background:#f5eef8; border:1px solid #d7bde2; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#4a235a;">Création des règles de pare-feu pour autoriser les connexions entrantes sur le port VPN</b>
<b style="color:#00695c;">Création des règles de pare-feu pour autoriser les clients VPN à accéder au réseau LAN</b>
|}
|}


== <span style="color:#6c3483;">Règle WAN — Autoriser le port 1194</span> ==
== <span style="color:#00897b;">Règle OpenVPN LAN</span> ==
 
Naviguer vers :
 
<b>Firewall → Rules WAN</b>
 
Vérifier qu'une règle autorisant le trafic UDP sur le port 1194 existe déjà (l'assistant OpenVPN la crée normalement automatiquement).
 
Si la règle est absente, la créer manuellement :
 
<pre>
Action      : Pass
Interface  : WAN
Protocol    : UDP
Source      : any
Destination : WAN address
Port        : 1194
Description : Allow OpenVPN
</pre>
 
Cliquer sur <b>Save</b> puis <b>Apply Changes</b>.
 
 
 
== <span style="color:#6c3483;">Règle OpenVPN — Autoriser l'accès au réseau interne</span> ==
 
Une règle est également nécessaire sur l'interface <b>OpenVPN</b> pour autoriser les clients VPN à joindre le réseau interne.


Naviguer vers :
Naviguer vers :
Ligne 495 : Ligne 354 :
<b>Firewall → Rules → OpenVPN</b>
<b>Firewall → Rules → OpenVPN</b>


Créer une règle permissive :
Créer la règle suivante :


<pre>
<pre>
Ligne 501 : Ligne 360 :
Interface  : OpenVPN
Interface  : OpenVPN
Protocol    : any
Protocol    : any
Source      : any
Source      : OpenVPN net
Destination : any
Destination : LAN net
Description : Allow VPN clients to LAN
Description : Allow VPN clients to LAN
</pre>
</pre>
Ligne 508 : Ligne 367 :
{| style="width:100%; background:#fff3e0; border:1px solid #ffb74d; padding:10px; border-radius:8px; overflow:hidden;"
{| style="width:100%; background:#fff3e0; border:1px solid #ffb74d; padding:10px; border-radius:8px; overflow:hidden;"
|
|
<b style="color:#e65100;">⚠ NOTE :</b> Pour un environnement de production, affiner les règles en limitant la destination au réseau LAN uniquement et en précisant les protocoles et ports autorisés.
<b style="color:#e65100;">⚠ NOTE :</b> Pour un environnement de production, affiner les règles en précisant les protocoles et ports autorisés plutôt que d'utiliser "any".
|}
|}


Ligne 519 : Ligne 378 :
│                                                              │
│                                                              │
│  WAN Rules    : ✓ UDP 1194 → OpenVPN Server                │
│  WAN Rules    : ✓ UDP 1194 → OpenVPN Server                │
│  OpenVPN Rules: ✓ Any → LAN (clients VPN → réseau interne)
│  OpenVPN Rules: ✓ OpenVPN net → LAN net (any)              
│  LAN Rules    : ✓ Trafic habituel                          │
│  LAN Rules    : ✓ Trafic habituel                          │
│                                                              │
│                                                              │
Ligne 525 : Ligne 384 :
</pre>
</pre>


Sauvegarder et appliquer les changements.
Cliquer sur <b>Save</b> puis <b>Apply Changes</b>.




<br><br>
<br><br>


= <span style="color:#1b2631;">8 Tester la Connexion VPN</span> =
= <span style="color:#00695c;">9 Client VPN (VM Windows)</span> =


{| style="width:100%; background:#eaecee; border:1px solid #aab7b8; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#1b2631;">Vérification du bon fonctionnement de la connexion OpenVPN depuis un client distant</b>
<b style="color:#00695c;">Installation et configuration du client OpenVPN sur la VM Windows</b>
|}
|}


== <span style="color:#2e4053;">Installation et import sur le client</span> ==
== <span style="color:#00897b;">Installation du client</span> ==
 
Sur le PC distant, télécharger et installer le client OpenVPN officiel :
 
<pre>
https://openvpn.net/community-downloads/
</pre>


Une fois installé, importer le fichier de configuration :
Sur la VM Windows, installer le client OpenVPN officiel puis importer le fichier exporté depuis pfSense :


* <b>Clic droit</b> sur l'icône OpenVPN dans la barre des tâches
* <b>Clic droit</b> sur l'icône OpenVPN dans la barre des tâches
* Sélectionner <b>Import file</b>
* Sélectionner <b>Import file</b>
* Choisir le fichier <b>.ovpn</b> téléchargé depuis pfSense
* Choisir le fichier <b>.ovpn</b> téléchargé
 




== <span style="color:#2e4053;">Connexion au VPN</span> ==
== <span style="color:#00897b;">Connexion au VPN</span> ==


* <b>Clic droit</b> sur l'icône OpenVPN dans la barre des tâches
* <b>Clic droit</b> sur l'icône OpenVPN dans la barre des tâches
Ligne 560 : Ligne 412 :


<pre>
<pre>
Username : uservpn
Username : vpnuser
Password : (mot de passe défini dans pfSense)
Password : (mot de passe défini dans pfSense)
</pre>
</pre>
Ligne 567 : Ligne 419 :




<br><br>
= <span style="color:#00695c;">10 — Tests</span> =
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
<b style="color:#00695c;">Vérification du bon fonctionnement de la connexion OpenVPN</b>
|}


== <span style="color:#2e4053;">Vérification de la connectivité</span> ==
== <span style="color:#00897b;">Test de connectivité</span> ==


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


<pre>
<pre>
ping 192.168.1.1
ping 192.168.60.254
</pre>
</pre>


* <b>Ping vers une VM ou un serveur interne</b> :
* <b>Ping vers la VM cible</b> :


<pre>
<pre>
ping 192.168.1.x
ping 192.168.60.33
</pre>
</pre>


Ligne 600 : Ligne 460 :




 
== <span style="color:#00897b;">Vérification côté pfSense</span> ==
== <span style="color:#2e4053;">Vérification côté pfSense</span> ==


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


<b>Status → OpenVPN</b>
<b>Status → OpenVPN</b>
La liste des clients connectés s'affiche avec leur adresse IP du tunnel :


<pre>
<pre>
Ligne 615 : Ligne 470 :
│    User    │  Real IP    │  VPN IP      │  Connected  │
│    User    │  Real IP    │  VPN IP      │  Connected  │
├──────────────┼──────────────┼──────────────┼──────────────┤
├──────────────┼──────────────┼──────────────┼──────────────┤
│  uservpn     │ X.X.X.X      │ 10.8.0.2    │  00:05:32    │
│  vpnuser     │ X.X.X.X      │ 10.8.0.2    │  00:05:32    │
└──────────────┴──────────────┴──────────────┴──────────────┘
└──────────────┴──────────────┴──────────────┴──────────────┘
</pre>
</pre>


{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; overflow:hidden;"
 
<br><br>
 
= <span style="color:#004d40;">Résultat attendu</span> =
 
{| style="width:100%; background:#e0f2f1; border:1px solid #80cbc4; padding:12px; border-radius:10px; overflow:hidden;"
|
<b style="color:#004d40;">Récapitulatif des indicateurs de succès</b>
|}
 
* ✓ <b>VPN connecté</b> — icône verte dans le client OpenVPN
* ✓ <b>IP tunnel attribuée</b> — adresse en 10.8.0.x visible dans ipconfig
* ✓ <b>Accès au réseau 192.168.60.0/24</b> — ping vers pfSense et VMs opérationnel
* ✓ <b>Accès aux machines internes</b> — communication établie avec 192.168.60.33
 
 
<br><br>
 
= <span style="color:#004d40;">Conclusion</span> =
 
{| style="width:100%; background:#b2dfdb; border:1px solid #4db6ac; padding:15px; border-radius:10px; overflow:hidden;"
|
|
<b style="color:#1e8449;">✓ SUCCÈS :</b> Si le client apparaît dans cette liste avec une adresse 10.8.0.x, le VPN est pleinement fonctionnel. Vous pouvez maintenant accéder à toutes les ressources internes (Proxmox, NAS, AD) comme si vous étiez sur place.
<span style="font-size:115%; color:#004d40;">
Mise en place d'un <b>VPN Remote Access SSL/TLS</b> sur pfSense permettant un accès sécurisé au réseau interne via authentification utilisateur et certificat. <br><br>
Le tunnel chiffré <b>AES-256-GCM</b> garantit la confidentialité des échanges, tandis que l'authentification par certificat assure l'identité des clients connectés.
</span>
|}
|}




<br><br>
<br><br>

Dernière version du 20 avril 2026 à 22:34


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.