Installation et Configuration OpenVPN sur pfSense
Prérequis
Environnement nécessaire
Avant de commencer la configuration d'OpenVPN, s'assurer que les éléments suivants sont en place :
- pfSense installé et opérationnel
- Accès à l'interface web pfSense disponible à l'adresse :
https://IP_PFSENSE
- Port ouvert sur la box Internet (redirection de port) :
1194 UDP → IP_PFSENSE
Schéma de l'architecture VPN :
Internet
│
┌────────────┴────────────┐
│ │
┌─────────────────┐ ┌─────────────────┐
│ Client VPN │ │ pfSense │
│ (PC distant) │ ════► │ OpenVPN Server │
│ .ovpn importé │ │ Port 1194 UDP │
└─────────────────┘ └────────┬─────────┘
│
┌────────────┼────────────┐
│ │ │
┌────────┐ ┌──────────┐ ┌────────┐
│ LAN │ │ Proxmox │ │ NAS │
│ .1.x │ │ VMs │ │ AD │
└────────┘ └──────────┘ └────────┘
1 — Créer l'Autorité de Certification (CA)
Accès au gestionnaire de certificats
L'Autorité de Certification (CA) est la racine de confiance du VPN. Elle signera le certificat serveur et les certificats utilisateurs.
Naviguer vers :
System → Cert. Manager → CAs
Cliquer sur :
Add
Configuration de la CA
Remplir les champs de la manière suivante :
| 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) :
Country Code : FR State : (votre région) City : (votre ville) Organization : (votre organisation)
Cliquer sur Save pour enregistrer la CA.
2 — Créer le Certificat Serveur
Accès à la section Certificates
Naviguer vers :
System → Cert. Manager → Certificates
Cliquer sur :
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 |
| Key length | 2048 |
| Digest Algorithm | sha256 |
Cliquer sur Save pour enregistrer le certificat serveur.
3 — Lancer l'Assistant OpenVPN
Accès à l'assistant
Naviguer vers :
VPN → OpenVPN → Wizards
L'assistant se déroule en plusieurs étapes successives.
Étape 1 — Sélection de la CA
Choisir l'autorité de certification créée précédemment :
VPN-CA
Cliquer sur Next.
Étape 2 — Sélection du certificat serveur
Choisir le certificat serveur créé précédemment :
OpenVPN-Server
Cliquer sur Next.
Étape 3 — Configuration du serveur VPN
Configurer les paramètres généraux du serveur :
| Paramètre | Valeur |
|---|---|
| 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 |
Étape 3 (suite) — Configuration du réseau VPN
Configurer le tunnel réseau et le réseau local à exposer :
| Paramètre | Exemple |
|---|---|
| Tunnel Network | 10.8.0.0/24 |
| Local Network | 192.168.1.0/24 |
Explication des paramètres réseau :
- Tunnel Network : plage d'adresses IP dédiée aux clients VPN (doit être un réseau inutilisé)
- Local Network : réseau interne que les clients VPN pourront joindre une fois connectés
Étape 3 (suite) — Configuration DNS
Renseigner l'adresse DNS que les clients VPN utiliseront :
| Paramètre | Valeur |
|---|---|
| DNS Server 1 | IP de pfSense (ex: 192.168.1.1) |
Étape 3 (suite) — Options avancées
Option importante à activer selon le besoin :
Redirect Gateway
- Cocher cette option si l'on souhaite que tout le trafic Internet du client passe par le VPN (full tunnel)
- Laisser décoché si l'on souhaite uniquement accéder au réseau interne sans modifier le trafic Internet du client (split tunnel)
Cliquer sur Finish pour terminer l'assistant.
4 — Créer un Utilisateur VPN
Accès au gestionnaire d'utilisateurs
Naviguer vers :
System → User Manager
Cliquer sur :
Add
Configuration de l'utilisateur
Remplir les informations du compte :
| Champ | Valeur |
|---|---|
| Username | uservpn |
| 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 :
VPN-CA
Cliquer sur Save pour créer l'utilisateur et son certificat.
5 — Installer le Package d'Export Client
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.
6 — Exporter la Configuration Client
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 de configuration adapté au système du client :
Pour Windows :
Windows Installer (.exe)
Pour Linux / macOS / mobile :
.OVPN file
Contenu d'un fichier .ovpn type :
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>
7 — Ouvrir le Pare-feu
Règle WAN — Autoriser le port 1194
Naviguer vers :
Firewall → Rules → WAN
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 :
Action : Pass Interface : WAN Protocol : UDP Source : any Destination : WAN address Port : 1194 Description : Allow OpenVPN
Cliquer sur Save puis Apply Changes.
Règle OpenVPN — Autoriser l'accès au réseau interne
Une règle est également nécessaire sur l'interface OpenVPN pour autoriser les clients VPN à joindre le réseau interne.
Naviguer vers :
Firewall → Rules → OpenVPN
Créer une règle permissive :
Action : Pass Interface : OpenVPN Protocol : any Source : any Destination : any Description : Allow VPN clients to LAN
Schéma du flux réseau VPN :
┌──────────────────────────────────────────────────────────────┐ │ pfSense Firewall │ ├──────────────────────────────────────────────────────────────┤ │ │ │ WAN Rules : ✓ UDP 1194 → OpenVPN Server │ │ OpenVPN Rules: ✓ Any → LAN (clients VPN → réseau interne) │ │ LAN Rules : ✓ Trafic habituel │ │ │ └──────────────────────────────────────────────────────────────┘
Sauvegarder et appliquer les changements.
8 — Tester la Connexion VPN
Installation et import sur le client
Sur le PC distant, télécharger et installer le client OpenVPN officiel :
https://openvpn.net/community-downloads/
Une fois installé, importer le fichier de configuration :
- Clic droit sur l'icône OpenVPN dans la barre des tâches
- Sélectionner Import file
- Choisir le fichier .ovpn téléchargé depuis pfSense
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 : uservpn Password : (mot de passe défini dans pfSense)
L'icône doit passer au vert indiquant une connexion établie.
Vérification de la connectivité
Une fois connecté, vérifier l'accès au réseau interne :
- Ping vers pfSense (passerelle LAN) :
ping 192.168.1.1
- Ping vers une VM ou un serveur interne :
ping 192.168.1.x
- 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 :
Naviguer vers :
Status → OpenVPN
La liste des clients connectés s'affiche avec leur adresse IP du tunnel :
┌──────────────┬──────────────┬──────────────┬──────────────┐ │ User │ Real IP │ VPN IP │ Connected │ ├──────────────┼──────────────┼──────────────┼──────────────┤ │ uservpn │ X.X.X.X │ 10.8.0.2 │ 00:05:32 │ └──────────────┴──────────────┴──────────────┴──────────────┘