OPNsense - Configuration OpenVPN
DISCLAIMER : Cette page est en cours de rédaction et son contenu peut être faux ou inexact. Merci de lire cette page avec toutes les précautions nécessaires.
![]() |
Difficulté : Intermédiaire Notions : pare-feu, OPNsense, VPN, OpenVPN |
I. Introduction
Dans le contexte du télétravail ou du travail des utilisateurs nomades, il est nécessaire de pouvoir assurer la confidentialité des échanges entre les utilisateurs et l'entreprise.
Pour cela, il faut mettre en place un VPN point-à-point.
C'est l'une des fonctionnalité d'OpenVPN. Celui-ci est présent par défaut dans les OPNsense.
OpenVPN peut être configuré de deux façons :
- Point à point (pour les clients)
- Site à site (pour relier les différents sites de l'entreprise entre eux)
Cette procédure traitera de la mise en oeuvre d'OpenVPN pour le poit-à-point.
II. Prérequis
2.1 Initialisation de la CA
Pour plus de sécurité, il est préférable que le serveur et les clients puissent s'authentifier entre eux afin de garantir l'identité du pair.
Il faut pour cela initialiser une autorité de certification.
Aller dans 'System --> Trust --> Authorities'
Cliquer sur le '+' pour créer une nouvelle CA.
Laisser la méthode par défaut 'Create an internal Certificate Authority'.
Fournir une description parlante.
Passer le 'Key type' à 'RSA-4096'
Passer le 'Digest Algorithm' à 'SHA512'.
Laisser l'issuer à 'Self Signed' si pas d'autorité au dessus pour signer la CA.
Choisir la durée de vie du certificat. Par défaut, elle est de 825 jours (soit 2 ans et 3 mois)
Remplir les détails du certificat.
Laisser le reste vide, puis faire 'Save'.
La CA est désormais créée.
Info : La CRL (Certificate Revocation List) a été créée en même temps que la CA. Pas besoin de la créer manuellement.
2.2 Générer le certificat du serveur
Afin que les clients puissent authentifier le serveur, il faut lui générer son certificat.
Pour cela, aller dans 'Trust --> Certificates'.
Puis faire '+' pour créer un certificat.
Laisser la méthode 'Create an internal certificate'.
Entrer la description.
Choisir le type 'Server Certificate'.
Laisser par défaut pour la 'Private Key Location' : 'Save on this firewall'.
Laisser ou modifier le 'Key type' et le 'Digest Algorithm' selon la convenance.
Changer 'Issuer' pour le faire correspondre à la CA créée plus tôt.
Ajuster la 'Lifetime' à la convenance ( par défaut 397 jours soit 1an et 3 mois ).
Les données du certificat sont pré-remplies avec celles de la CA. Il suffit d'ajouter le FQDN du serveur VPN.
Attention : Il s'agit ici de l'adresse externe du VPN tel que les clients qui se situeront en dehors du parc la résoudront. Ce qui signifie qu'il faudra que cette adresse soit effectivement résolvable.
Il est également possible de renseigner des noms alternatifs ou des IP si besoin.
Laisser le reste vide et faire 'Save'.
III. InitialisationConfigurer dul'instance serveurOpenVPN
Sur les versions récentes d'OPNsense, OpenVPN n'est plus installé en tant que 'serveur'. Il est désormais initialisé en tant que 'Socket' ou instance.
Ce qui rends possible l'hébergement de plusieurs instances pour un même serveur physique. Permettant ainsi de pouvoir cloisonner les instances selon les niveaux de privilèges / réseaux accessibles.
Pour créer l'instance, aller dans 'VPN --> OpenVPN --> Instances'
Puis utiliser '+' pour créer une instance.
Choisir le rôle 'Server'.
Entrer une description parlante.
Laisser la case 'Enabled' cochée.
Choisir le protocole à utiliser (ici 'UDP').
Choisir le port. Par convention, le port historique est : 1194
Définir la 'Bind address'. C'est l'adresse sur laquelle l'instance sera en écoute. En l'occurence, 'l'IP publique'.
Choisir le type de montage (ici 'TUN').
Entrer le réseau interne du VPN (ici 10.10.10.0/24).
Le serveur prendra automatiquement la première IP disponible sur la plage et affectera les suivantes séquentiellement aux clients.
Ne pas toucher aux autres options de cette catégorie.
Pour les 'Trusts', choisir le certificat de serveur généré plus tôt.
Cocher la case 'Verify Remote Certificate'.
Laisser la CRL à 'none' et la vérification du certificat client à 'Require'.
Passer la 'Certificate Depth' à 'One (Client+Server)'.
Par défaut, pas d'authentification. Celle-ci sera vue ci-après.
Laisser les autres options par défaut ou vides et passer directement à la partie 'Routing'.
IV. Création des clients
V. Authentification avec Active directory














