OpenVPN est un serveur VPN sur pfSense. Il permet d’accéder à l’ensemble de votre réseau à distance de façon sécurisée.
Le client et le serveur OpenVPN sont authentifiés à l’aide de certificats. Une autorité de certification et deux certificats : un certificat client et un certificat serveur. Ces deux certificats seront signés par l’autorité de certification.
Information : Avant de continuer, consultez ce guide : pfSense : Installation et Configuration
Note : 2 Schémas d’installation sont possibles
Mode Routeur | Membre du Réseau LAN |
Création de l’Autorité de Certification – CA
Note : Si une Autorité de certification est déjà présente, utilisez la ! N’en créez pas une nouvelle et passez a l’étape : Création du Certificat Serveur
Sélectionner : System > Cert. Manager
Cliquer sur “+ Add”
Donner un “Nom“, sans espace. Exemple : “CA-PC2S” , laisser le reste par défaut et cliquez sur “Save”
Note : « Common Name » : le nom du certificat sans espaces, ni caractères spéciaux. Ce nom doit être unique.
Le Certificat est créé
Création du Certificat Serveur
Sélectionner : « Certificates » et cliquer sur « + Add/Sign »
Définir « Method » sur « Create an Internal Certificate« , donner un Nom « VPN-PC2S » et sélectionner l’autorité de certification « Certificate authority » créée précédemment « CA-PC2S »
Note : « Common Name » : le nom du certificat sans espaces, ni caractères spéciaux. Ce nom doit être unique.
Sélectionner le type de certificat (Certificate Type) : « Server Certificate » puis cliquer sur « Save »
Le Certificat est créé.
Création des Utilisateurs du VPN
Sélectionner : System > User Manager
Cliquer sur “+ Add”
Entrer un Nom d’Utilisateur “Bubu-PC2S” et son mot de passe. « Certificate » > Cocher « Click to create a user certificate »
Entrer le Nom du Certificat de l’Utilisateur « CA-Bubu » et sélectionner le « Certificate authority » « CA-PC2S » puis cliquer sur « Save »
L’Utilisateur du VPN est créé.
Installation du package « OpenVPN-Client-Export » (Utilitaire pour exporter la configuration Client au format .ovpn)
Sélectionner : System > Package Manager
Sélectionner « Available Packages« , rechercher « openvpn » et installer « openvpn-client-export »
Configurer OpenVPN
Sélectionner « VPN » > « OpenVPN » et cliquer sur « + Add »
- Server mode : « Remote Access (SSL/TLS)«
- Local port : 1194 (Port par Défaut)
- Description : « OpenVPN PC2S » (Nom du Tunnel VPN)
Information sur le choix du « Server mode » :
- Remote Access (SSL/TLS) : pour monter un accès distant pour clients nomades en utilisant une authentification par certificat.
- Remote Access (User Auth) : pour monter un accès distant pour clients nomades en utilisant une authentification par login/password.
- Remote Access (SSL/TLS + User Auth) : pour monter un accès distant pour clients nomades en utilisation une authentification par certificat et par login/password.
Sélectionner votre autorité de certification « CA-PC2S » dans « Peer Certificate Authority » et le certificat Server « VPN-PC2S » dans « Server certificate ».
- IPv4 Tunnel Network : 10.210.10.0/24 (Adresse du réseau VPN au format CIDR)
- Cocher « Redirect IPv4 Gateway » pour passer en mode full tunnel
- Concurrent connections : Nombre de connexions VPN simultanées
Cocher « Dynamic IP » et laisser « Topology » sur « Subnet – One IP address per client… »
Indiquez « auth-nocache » dans « Custom options« . (Pas de mise en cache des identifiants)
Cliquer sur « Save« . Le Serveur VPN est créé.
Exporter la configuration VPN pour un Client
Menu « Client Export« , Sélectionner « Other » pour « Host Name Resolution » et renseigner votre IP WAN Publique dans « Host Name » (Exemple : 217.178.212.123)
Indiquez « auth-nocache » dans « Additional configuration options« . (Pas de mise en cache des identifiants)
Cliquer sur « Save as default »
Toujours dans le Menu « Client Export« , en bas de page, « OpenVPN Clients » > 2 Solutions pour l’installation des postes Clients :
- 1ère solution : Cliquer sur « Most Clients » pour télécharger uniquement la configuration du Client a importer sur son ordinateur
- 2ème solution : Sélectionner « 64-bit » pour télécharger le Package OpenVPN (Logiciel + fichiers de configuration)
Configuration des règles du Pare-Feu pfSense
1 – Création d’une règle pour autoriser les clients à monter la connexion VPN
- Firewall > Rules > WAN : cliquer sur “+ Add”
- Action : Pass
- Interface : WAN
- Protocol : UDP
- Source : any
- Destination : WAN address
- Destination Port Range : OpenVPN (1194)
Cliquer sur “Save” et valider “Apply Changes”
2 – Création d’une règle pour autoriser l’accès aux ressources coté WAN et aussi coté LAN
- Firewall > Rules > OpenVPN : cliquer sur “+ Add”
- Action : Pass
- Interface : OpenVPN
- Protocol : Any
- Source : any
- Destination : any
Cliquer sur “Save” et valider “Apply Changes”
Redirection de port sur la Box, Routeur, Modem
Rediriger le port “UDP 1194” arrivant de l’IP WAN Publique vers pfSense pour autoriser le VPN client.
Exemple sur LiveBox 5
Exemple sur Draytek
Configuration du Poste Client pour se connecter au VPN > 2 Solutions pour l’installation des postes Clients :
- 1ère solution : Télécharger et installer le client OpenVpn sur l’ordinateur de l’utilisateur.
- 2ème solution : Exécuter le Package OpenVPN (Logiciel + fichiers de configuration) téléchargé de pfSense (OpenVPN, Client Export, OpenVPN Clients > « 64-bit » )
Clic droit sur l’icone OpenVpn > « Connecter »
Si vous avez choisi « Remote Access (SSL/TLS + User Auth) » pour « Server mode » > Renseigner le Nom de l’utilisateur VPN et son mot de passe
L’utilisateur est connecté !
Les utilisateurs connectés sont visibles dans « Status » > « OpenVPN »