Contexte : accès distant chiffré au réseau local protégé par pfSense, pour le télétravail ou l'administration · Testé sur : pfSense CE avec le paquet openvpn-client-export (2023) · Dernière vérification : contenu de 2023 non revérifié
Configurer sur pfSense un serveur OpenVPN d'accès distant, authentifié par certificat et par compte utilisateur, puis exporter la configuration du client et se connecter depuis l'extérieur.
Valeurs d'exemple utilisées dans cette page :
| Élément | Valeur d'exemple |
|---|---|
| Réseau LAN derrière pfSense | 192.168.2.0/24 (pfSense en 192.168.2.10) |
| Réseau du tunnel VPN | 10.8.0.0/24 |
| Nom d'hôte public du VPN | vpn.votredomaine.fr |
Ouvrez System > Package Manager.

Dans Available Packages, cherchez openvpn-client-export.

Cliquez sur Install, puis confirmez.

Une fois le paquet installé, un message de réussite s'affiche.

Ouvrez System > Cert. Manager, onglet CAs.


Cliquez sur Add.

Donnez un nom descriptif à l'autorité (par exemple CA_VPN) et choisissez la méthode Create an internal Certificate Authority.

Dans Common Name, saisissez le nom qui apparaîtra dans le certificat.

Cliquez sur Save.

L'autorité de certification apparaît désormais dans la liste.

Ouvrez VPN > OpenVPN, puis l'onglet Wizards, tout à droite.


Dans Type of Server, choisissez Local User Access, puis Next.


Choisissez l'autorité de certification créée à l'étape 2.

L'assistant demande ensuite presque la même chose : il s'agit cette fois de créer le certificat du serveur VPN lui-même. Laissez les champs préremplis, saisissez seulement un nom descriptif (par exemple Serveur_VPN), puis cliquez sur Create new Certificate.


General OpenVPN Server Information : gardez les valeurs par défaut (protocole UDP, interface WAN, port 1194) et ajoutez une description.

Cryptographic Settings : modifiez uniquement :
4096 bit ;AES-256-GCM ;SHA512 (512-bit).
Tunnel Settings :
10.8.0.0/24, un sous-réseau privé inutilisé ailleurs ;192.168.2.0/24, le réseau LAN rendu accessible aux clients ;Correction : la configuration d'origine utilisait comme réseau de tunnel une plage d'adresses publiques. Le réseau du tunnel doit être un sous-réseau privé distinct du LAN, du réseau de la box et du réseau où se trouvent les clients.

Client Settings : cochez Dynamic IP.

Firewall Rule Configuration : cochez les deux cases (Firewall Rule et OpenVPN rule) pour que l'assistant crée les règles de pare-feu, puis terminez l'assistant.

Sans l'assistant : créez le certificat du serveur dans System > Cert. Manager > Certificates > Add/Sign (type Server Certificate), puis le serveur dans VPN > OpenVPN > Servers > Add, avec les mêmes réglages : protocole UDP, périphérique
tun, interface WAN, port1194, autorité et certificat créés, chiffrement, réseau du tunnel et, si besoin, Redirect Gateway. Ajoutez ensuite vous-même les règles de pare-feu de l'étape 5.
1194.
Si vous aviez ouvert l'administration de pfSense sur le WAN pendant l'installation, supprimez cette règle temporaire maintenant.
Ouvrez VPN > OpenVPN, onglet Client Export.

Sélectionnez le serveur créé et réglez les options d'export selon vos besoins. Dans Host Name Resolution, vous pouvez indiquer directement le nom d'hôte public du VPN.
Descendez jusqu'à la liste OpenVPN Clients et téléchargez, pour l'utilisateur, le programme d'installation ou le fichier de configuration adapté à son système.
Installez le client OpenVPN sur le poste (OpenVPN Connect, ou OpenVPN GUI sous Windows).
Importez le fichier de configuration exporté.
Si le fichier contient une adresse IP à la ligne remote, remplacez-la par votre nom de domaine, qui doit pointer vers votre box :
remote vpn.votredomaine.fr 1194 udp4
Lancez la connexion avec l'identifiant et le mot de passe de l'utilisateur VPN.
ping 192.168.2.10
Testez depuis un réseau extérieur, par exemple en partageant la connexion 4G d'un téléphone : de nombreuses box, dont la Livebox, ne permettent pas de joindre sa propre adresse publique depuis le réseau local (pas de loopback NAT).
nslookup vpn.votredomaine.fr).