Aucun résumé des modifications
Ligne 1 : Ligne 1 :
<br>
<br>
= <span style="color:#1b4f72;">Installation et Configuration OpenVPN sur pfSense</span> =
= <span style="color:#1b4f72;">Installation et Configuration OpenVPN sur pfSense (Remote Access - LAB Proxmox)</span> =


{| style="width:100%; background:#d6eaf8; border:1px solid #85c1e9; padding:15px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#d6eaf8; border:1px solid #85c1e9; padding:15px; border-radius:10px; overflow:hidden;"
|
|
<span style="font-size:115%; color:#1b4f72;">
<span style="font-size:115%; color:#1b4f72;">
Cette section décrit l'installation et la configuration complète d'un serveur VPN avec OpenVPN intégré à pfSense. <br><br>
Cette section décrit la mise en place d’un serveur VPN OpenVPN en mode Remote Access sur pfSense dans un environnement virtualisé Proxmox. <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>
L’objectif est de permettre à des clients Windows (VM) de se connecter à distance au réseau interne 192.168.60.0/24 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>
Le tunnel VPN repose sur un chiffrement AES-256-GCM avec authentification par certificats et utilisateurs locaux pfSense.
</span>
|}
|}


Ligne 15 : Ligne 16 :
= <span style="color:#1a5276;">Prérequis</span> =
= <span style="color:#1a5276;">Prérequis</span> =


{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; padding:12px; border-radius:10px; overflow:hidden;"
{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; padding:12px; border-radius:10px;"
|
|
<b style="color:#1a5276;">Vérification de l'environnement avant de commencer la configuration</b>
<b style="color:#1a5276;">Environnement nécessaire avant configuration</b>
|}
|}


== <span style="color:#2471a3;">Environnement nécessaire</span> ==
* pfSense installé et fonctionnel
 
* VM client Windows
Avant de commencer la configuration d'OpenVPN, s'assurer que les éléments suivants sont en place :
* Réseau LAN : 192.168.60.0/24
 
* pfSense LAN : 192.168.60.254
* <b>pfSense installé</b> et opérationnel
* <b>Accès à l'interface web</b> pfSense disponible à l'adresse :


Accès interface :
<pre>
<pre>
https://IP_PFSENSE
https://192.168.60.254
</pre>
</pre>


* <b>Port ouvert sur la box Internet</b> (redirection de port) :
---


<pre>
= <span style="color:#1a5276;">1 — Création de l’Autorité de Certification (CA)</span> =
1194 UDP  →  IP_PFSENSE
</pre>


Schéma de l'architecture VPN :
{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; padding:12px;"
 
<pre>
                        Internet
                          │
              ┌────────────┴────────────┐
              │                        │
    ┌─────────────────┐      ┌─────────────────┐
    │  Client VPN    │      │    pfSense      │
    │  (PC distant)  │ ════► │  OpenVPN Server  │
    │  .ovpn importé  │      │  Port 1194 UDP  │
    └─────────────────┘      └────────┬─────────┘
                                      │
                          ┌────────────┼────────────┐
                          │            │            │
                    ┌────────┐  ┌──────────┐  ┌────────┐
                    │  LAN  │  │ Proxmox  │  │  NAS  │
                    │ .1.x  │  │  VMs    │  │  AD    │
                    └────────┘  └──────────┘  └────────┘
</pre>
 
 
<br><br>
 
= <span style="color:#1a5276;">1 — Créer l'Autorité de Certification (CA)</span> =
 
{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; 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>Création de la CA interne pfSense</b>
|}
|}


== <span style="color:#2471a3;">Accès au gestionnaire de certificats</span> ==
Accès :


L'Autorité de Certification (CA) est la racine de confiance du VPN. Elle signera le certificat serveur et les certificats utilisateurs.
<b>System → Certificate Manager → Authorities → Add</b>


Naviguer vers :
Configuration :


<b>System → Cert. Manager → CAs</b>
- Method : Create an internal Certificate Authority 
 
- Descriptive Name : VPN-CA 
Cliquer sur :
- Key Length : 2048 
- Digest : SHA256 
- Lifetime : 3650 


Common Name :
<pre>
<pre>
Add
VPN-CA
</pre>
</pre>


Pays : FR


✔ Save


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


Remplir les champs de la manière suivante :
= <span style="color:#1a5276;">2 — Création du certificat serveur</span> =


{| class="wikitable" style="width:60%;"
<b>System → Certificate Manager → Certificates → Add / Sign</b>
! Champ !! Valeur
|-
| Method || Create an internal CA
|-
| Descriptive Name || VPN-CA
|-
| Key length || 2048
|-
| Digest Algorithm || sha256
|-
| Lifetime || 3650
|}


Remplir les informations d'identité (valeurs libres) :
- Method : Create internal certificate 
- Descriptive Name : OpenVPN-Server 
- CA : VPN-CA 
- Type : Server Certificate 


<pre>
✔ Save
Country Code  : FR
State        : (votre région)
City          : (votre ville)
Organization  : (votre organisation)
</pre>


{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; overflow:hidden;"
---
|
<b style="color:#1e8449;">ℹ INFO :</b> 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 <b>Save</b> pour enregistrer la CA.
= <span style="color:#145a32;">3 — Configuration OpenVPN (Remote Access)</span> =


<b>VPN → OpenVPN → Wizards</b>


<br><br>
Authentication Backend :
 
= <span style="color:#1a5276;">2 — Créer le Certificat Serveur</span> =
 
{| style="width:100%; background:#eaf2f8; border:1px solid #aed6f1; 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>
|}
 
== <span style="color:#2471a3;">Accès à la section Certificates</span> ==
 
Naviguer vers :
 
<b>System → Cert. Manager → Certificates</b>
 
Cliquer sur :
 
<pre>
<pre>
Add / Sign
Local User Access
</pre>
</pre>


 
CA :
 
== <span style="color:#2471a3;">Configuration du certificat serveur</span> ==
 
Remplir les champs de la manière suivante :
 
{| class="wikitable" style="width:60%;"
! Champ !! Valeur
|-
| Method || Create internal certificate
|-
| Descriptive Name || OpenVPN-Server
|-
| Certificate Authority || VPN-CA
|-
| Type || Server Certificate
|-
| Key length || 2048
|-
| Digest Algorithm || sha256
|}
 
{| style="width:100%; background:#fff3e0; border:1px solid #ffb74d; padding:10px; border-radius:8px; overflow:hidden;"
|
<b style="color:#e65100;">⚠ ATTENTION :</b> Le type doit impérativement être <b>Server Certificate</b> et non User Certificate, sinon OpenVPN refusera de démarrer.
|}
 
Cliquer sur <b>Save</b> pour enregistrer le certificat serveur.
 
 
<br><br>
 
= <span style="color:#145a32;">3 — Lancer l'Assistant OpenVPN</span> =
 
{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:12px; border-radius:10px; overflow:hidden;"
|
<b style="color:#145a32;">Configuration du serveur VPN via l'assistant intégré de pfSense</b>
|}
 
== <span style="color:#1e8449;">Accès à l'assistant</span> ==
 
Naviguer vers :
 
<b>VPN → OpenVPN → Wizards</b>
 
L'assistant se déroule en plusieurs étapes successives.
 
 
 
== <span style="color:#1e8449;">Sélection de la CA</span> ==
 
Choisir l'autorité de certification créée précédemment :
 
<pre>
<pre>
VPN-CA
VPN-CA
</pre>
</pre>


Cliquer sur <b>Next</b>.
Certificat :
 
 
 
== <span style="color:#1e8449;">Sélection du certificat serveur</span> ==
 
Choisir le certificat serveur créé précédemment :
 
<pre>
<pre>
OpenVPN-Server
OpenVPN-Server
</pre>
</pre>


Cliquer sur <b>Next</b>.
---


== Paramètres serveur ==


- Mode : Remote Access (SSL/TLS) 
- Protocol : UDP 
- Interface : LAN (IMPORTANT en lab Proxmox) 
- Port : 1194 


== <span style="color:#1e8449;">Configuration du serveur VPN</span> ==
---


Configurer les paramètres généraux du serveur :
== Cryptographie ==


{| class="wikitable" style="width:65%;"
- TLS Authentication : activé 
! Paramètre !! Valeur
- Encryption : AES-256-GCM
|-
- Auth Digest : SHA256
| Server Mode || Remote Access (SSL/TLS)
|-
| Protocol || UDP
|-
| Interface || WAN
|-
| Port || 1194
|-
| TLS Authentication || Cocher (activer)
|-
| Encryption Algorithm || AES-256-GCM
|-
| Auth Digest Algorithm || SHA256
|}
 
{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; overflow:hidden;"
|
<b style="color:#1e8449;">ℹ INFO :</b> AES-256-GCM est le chiffrement recommandé — il combine chiffrement et authentification du message en un seul algorithme performant.
|}


---


== Réseau VPN ==


== <span style="color:#1e8449;">Configuration du réseau VPN</span> ==
Tunnel Network :
 
<pre>
Configurer le tunnel réseau et le réseau local à exposer :
10.8.0.0/24
 
</pre>
{| class="wikitable" style="width:65%;"
! Paramètre !! Exemple
|-
| Tunnel Network || 10.8.0.0/24
|-
| Local Network || 192.168.1.0/24
|}
 
{| 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).
|}
 
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 :


Local Network :
<pre>
<pre>
Redirect Gateway
192.168.60.0/24
</pre>
</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)
DNS :
* <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.
 
 
<br><br>
 
= <span style="color:#145a32;">4 — Créer un Utilisateur VPN</span> =
 
{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; 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>
|}
 
== <span style="color:#1e8449;">Accès au gestionnaire d'utilisateurs</span> ==
 
Naviguer vers :
 
<b>System → User Manager</b>
 
Cliquer sur :
 
<pre>
<pre>
Add
192.168.60.254
</pre>
</pre>


✔ Finish


---


== <span style="color:#1e8449;">Configuration de l'utilisateur</span> ==
= <span style="color:#145a32;">4 — Création utilisateur VPN</span> =
 
Remplir les informations du compte :


{| class="wikitable" style="width:60%;"
<b>System → User Manager → Add</b>
! Champ !! Valeur
|-
| Username || uservpn
|-
| Password || (mot de passe sécurisé)
|}


Cocher l'option :
- Username : vpnuser 
- Password : sécurisé 


✔ Cocher :
<pre>
<pre>
Click to create a user certificate
Click to create a user certificate
</pre>
</pre>


Dans le menu déroulant qui apparaît, sélectionner :
CA :
 
<pre>
<pre>
VPN-CA
VPN-CA
</pre>
</pre>


{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; overflow:hidden;"
Save
|
<b style="color:#1e8449;">ℹ INFO :</b> 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 <b>Save</b> pour créer l'utilisateur et son certificat.
 
 
<br><br>
 
= <span style="color:#7d6608;">5 — Installer le Package d'Export Client</span> =
 
{| style="width:100%; background:#fef9e7; border:1px solid #f9e79f; padding:12px; border-radius:10px; overflow:hidden;"
|
<b style="color:#7d6608;">Installation du package pfSense permettant d'exporter les configurations clients OpenVPN</b>
|}
 
== <span style="color:#9a7d0a;">Accès au gestionnaire de paquets</span> ==
 
Naviguer vers :
 
<b>System → Package Manager → Available Packages</b>
 
 
 
== <span style="color:#9a7d0a;">Installation du package</span> ==
 
Rechercher et installer le package suivant :
 
<pre>
openvpn-client-export
</pre>
 
Cliquer sur <b>Install</b> puis confirmer.


{| style="width:100%; background:#fef9e7; border:1px solid #f9e79f; 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.
|}
 
 
<br><br>


= <span style="color:#7d6608;">6 Exporter la Configuration Client</span> =
= <span style="color:#7d6608;">5 Export client OpenVPN</span> =


{| style="width:100%; background:#fef9e7; border:1px solid #f9e79f; padding:12px; border-radius:10px; overflow:hidden;"
Installer :
|
<b style="color:#7d6608;">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> ==
<b>openvpn-client-export</b>


Naviguer vers :
Puis :


<b>VPN → OpenVPN → Client Export</b>
<b>VPN → OpenVPN → Client Export</b>


La liste des utilisateurs configurés apparaît.
Télécharger :
 
 
 
== <span style="color:#9a7d0a;">Téléchargement de la configuration</span> ==
 
Choisir le format de configuration adapté au système du client :
 
Pour <b>Windows</b> :
 
<pre>
<pre>
Windows Installer (.exe)
Windows Installer (.exe)
</pre>
</pre>


Pour <b>Linux / macOS / mobile</b> :
---


<pre>
= <span style="color:#4a235a;">6 — Firewall pfSense</span> =
.OVPN file
</pre>


{| style="width:100%; background:#fff3e0; border:1px solid #ffb74d; padding:10px; border-radius:8px; overflow:hidden;"
== OpenVPN rules ==
|
<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>
 
= <span style="color:#4a235a;">7 — Ouvrir le Pare-feu</span> =
 
{| style="width:100%; background:#f5eef8; border:1px solid #d7bde2; 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>
|}
 
== <span style="color:#6c3483;">Règle WAN — Autoriser le port 1194</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 :


<b>Firewall → Rules → OpenVPN</b>
<b>Firewall → Rules → OpenVPN</b>


Créer une règle permissive :
Règle :
 
<pre>
Action      : Pass
Interface  : OpenVPN
Protocol    : any
Source      : any
Destination : any
Description : Allow VPN clients to LAN
</pre>
 
{| 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.
|}
 
Schéma du flux réseau VPN :
 
<pre>
┌──────────────────────────────────────────────────────────────┐
│                      pfSense Firewall                        │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  WAN Rules    : ✓ UDP 1194 → OpenVPN Server                │
│  OpenVPN Rules: ✓ Any → LAN (clients VPN → réseau interne)  │
│  LAN Rules    : ✓ Trafic habituel                          │
│                                                              │
└──────────────────────────────────────────────────────────────┘
</pre>
 
Sauvegarder et appliquer les changements.
 
 
<br><br>
 
= <span style="color:#1b2631;">8 — Tester la Connexion VPN</span> =
 
{| style="width:100%; background:#eaecee; border:1px solid #aab7b8; 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>
|}
 
== <span style="color:#2e4053;">Installation et import sur le client</span> ==


Sur le PC distant, télécharger et installer le client OpenVPN officiel :
- Action : Pass 
- Source : OpenVPN net 
- Destination : LAN net 
- Protocol : any 


<pre>
---
https://openvpn.net/community-downloads/
</pre>


Une fois installé, importer le fichier de configuration :
== WAN (si nécessaire) ==


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


---


= <span style="color:#1b2631;">7 — Client VPN (VM Windows)</span> =


== <span style="color:#2e4053;">Connexion au VPN</span> ==
Installer :contentReference[oaicite:0]{index=0}


* <b>Clic droit</b> sur l'icône OpenVPN dans la barre des tâches
Importer le fichier .ovpn
* Sélectionner <b>Connect</b>
* Saisir les identifiants du compte créé :


<pre>
Connexion :
Username : uservpn
Password : (mot de passe défini dans pfSense)
</pre>


L'icône doit passer au vert indiquant une connexion établie.
- user : vpnuser 
- password : celui défini


---


= <span style="color:#1b2631;">8 — Tests de fonctionnement</span> =


== <span style="color:#2e4053;">Vérification de la connectivité</span> ==
Depuis VM client :
 
Une fois connecté, vérifier l'accès au réseau interne :
 
* <b>Ping vers pfSense</b> (passerelle LAN) :


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


* <b>Ping vers une VM ou un serveur interne</b> :
Vérifier IP VPN :
 
<pre>
<pre>
ping 192.168.1.x
10.8.0.x
</pre>
</pre>


* <b>Vérification de l'adresse IP VPN attribuée</b> (doit être dans le tunnel 10.8.0.0/24) :
---
 
<pre>
ipconfig
</pre>


Résultat attendu :
= <span style="color:#1e8449;">Résultat attendu</span> =


<pre>
✔ Connexion VPN établie 
Carte Ethernet OpenVPN :
✔ IP tunnel 10.8.0.x attribuée 
  Adresse IPv4. . . . . . . : 10.8.0.x
✔ Accès réseau 192.168.60.0/24 
  Masque de sous-réseau . . : 255.255.255.0
✔ Accès aux VM internes Proxmox 
  Passerelle par défaut . . : 10.8.0.1
</pre>


---


= <span style="color:#1b4f72;">Conclusion</span> =


== <span style="color:#2e4053;">Vérification côté pfSense</span> ==
La solution met en place un VPN Remote Access SSL/TLS sur pfSense en environnement virtualisé Proxmox, permettant un accès sécurisé aux ressources internes via authentification utilisateur et certificats.
 
Dans l'interface web pfSense, vérifier les connexions actives :
 
Naviguer vers :
 
<b>Status → OpenVPN</b>
 
La liste des clients connectés s'affiche avec leur adresse IP du tunnel :
 
<pre>
┌──────────────┬──────────────┬──────────────┬──────────────┐
│    User    │  Real IP    │  VPN IP      │  Connected  │
├──────────────┼──────────────┼──────────────┼──────────────┤
│  uservpn    │ X.X.X.X      │ 10.8.0.2    │  00:05:32    │
└──────────────┴──────────────┴──────────────┴──────────────┘
</pre>
 
{| style="width:100%; background:#e8f8f5; border:1px solid #a9dfbf; padding:10px; border-radius:8px; 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.
|}
 
 
<br><br>

Version du 20 avril 2026 à 22:26


Installation et Configuration OpenVPN sur pfSense (Remote Access - LAB Proxmox)

Cette section décrit la mise en place d’un serveur VPN OpenVPN en mode Remote Access sur pfSense dans un environnement virtualisé Proxmox.

L’objectif est de permettre à des clients Windows (VM) de se connecter à distance au réseau interne 192.168.60.0/24 de manière sécurisée.

Le tunnel VPN repose sur un chiffrement AES-256-GCM avec authentification par certificats et utilisateurs locaux pfSense.


Prérequis

Environnement nécessaire avant configuration

  • pfSense installé et fonctionnel
  • VM client Windows
  • Réseau LAN : 192.168.60.0/24
  • pfSense LAN : 192.168.60.254

Accès interface :

https://192.168.60.254

---

1 — Création de l’Autorité de Certification (CA)

Création de la CA interne pfSense

Accès :

System → Certificate Manager → Authorities → Add

Configuration :

- Method : Create an internal Certificate Authority - Descriptive Name : VPN-CA - Key Length : 2048 - Digest : SHA256 - Lifetime : 3650

Common Name :

VPN-CA

Pays : FR

✔ Save

---

2 — Création du certificat serveur

System → Certificate Manager → Certificates → Add / Sign

- Method : Create internal certificate - Descriptive Name : OpenVPN-Server - CA : VPN-CA - Type : Server Certificate

✔ Save

---

3 — Configuration OpenVPN (Remote Access)

VPN → OpenVPN → Wizards

Authentication Backend :

Local User Access

CA :

VPN-CA

Certificat :

OpenVPN-Server

---

Paramètres serveur

- Mode : Remote Access (SSL/TLS) - Protocol : UDP - Interface : LAN (IMPORTANT en lab Proxmox) - Port : 1194

---

Cryptographie

- TLS Authentication : activé - Encryption : AES-256-GCM - Auth Digest : SHA256

---

Réseau VPN

Tunnel Network :

10.8.0.0/24

Local Network :

192.168.60.0/24

DNS :

192.168.60.254

✔ Finish

---

4 — Création utilisateur VPN

System → User Manager → Add

- Username : vpnuser - Password : sécurisé

✔ Cocher :

Click to create a user certificate

CA :

VPN-CA

✔ Save

---

5 — Export client OpenVPN

Installer :

openvpn-client-export

Puis :

VPN → OpenVPN → Client Export

Télécharger :

Windows Installer (.exe)

---

6 — Firewall pfSense

OpenVPN rules

Firewall → Rules → OpenVPN

Règle :

- Action : Pass - Source : OpenVPN net - Destination : LAN net - Protocol : any

---

WAN (si nécessaire)

- UDP 1194 autorisé vers pfSense

---

7 — Client VPN (VM Windows)

Installer :contentReference[oaicite:0]{index=0}

Importer le fichier .ovpn

Connexion :

- user : vpnuser - password : celui défini

---

8 — Tests de fonctionnement

Depuis VM client :

ping 192.168.60.254
ping 192.168.60.33

Vérifier IP VPN :

10.8.0.x

---

Résultat attendu

✔ Connexion VPN établie ✔ IP tunnel 10.8.0.x attribuée ✔ Accès réseau 192.168.60.0/24 ✔ Accès aux VM internes Proxmox

---

Conclusion

La solution met en place un VPN Remote Access SSL/TLS sur pfSense en environnement virtualisé Proxmox, permettant un accès sécurisé aux ressources internes via authentification utilisateur et certificats.