|
|
| 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
| |
| <ca>
| |
| ... certificat CA ...
| |
| </ca>
| |
| <cert>
| |
| ... certificat client ...
| |
| </cert>
| |
| <key>
| |
| ... clé privée client ...
| |
| </key>
| |
| <tls-auth>
| |
| ... clé TLS ...
| |
| </tls-auth>
| |
| </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>
| |
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.