đŻ TUTORIEL PAS Ă PAS
đ Mise en Ćuvre de VPN : WireGuard & OpenVPN
đ
Mis à jour : Août 2026
â±ïž DurĂ©e : 1h30
đ Niveau : IntermĂ©diaire / AvancĂ©
đ VPN
đ§ Debian 13
đ· pfSense
Ce tutoriel complet vous guide pas Ă pas dans la mise en Ćuvre de trois solutions VPN :
WireGuard sur Debian 13, WireGuard sur pfSense et
OpenVPN sur pfSense. Vous apprendrez à installer, configurer et sécuriser
chaque solution, avec des exemples concrets et des bonnes pratiques.
đ PrĂ©requis gĂ©nĂ©raux :
- Un serveur Debian 13 avec accĂšs root et une IP publique.
- Un pfSense (version 2.7.0 ou supérieure) avec accÚs à l'interface web.
- Les ports UDP 51820 (WireGuard) et 1194 (OpenVPN) ouverts.
- Des connaissances de base en réseau et en ligne de commande.
1 WireGuard sur Debian 13
1.1 â Mise Ă jour du systĂšme
$ sudo apt update && sudo apt upgrade -y
1.2 â Installation de WireGuard
Sur Debian 13, WireGuard est intĂ©grĂ© au noyau Linux 6.x. Il suffit dâinstaller les outils en espace utilisateur[reference:0].
$ sudo apt install wireguard wireguard-tools -y
â
WireGuard est installé. Vérifiez le module : sudo modprobe wireguard && lsmod | grep wireguard[reference:1].
1.3 â GĂ©nĂ©ration des clĂ©s du serveur
WireGuard utilise une paire de clés asymétriques (Curve25519). La clé privée ne quitte jamais le serveur[reference:2].
$ sudo mkdir -p /etc/wireguard
$ sudo chmod 700 /etc/wireguard
$ sudo wg genkey | sudo tee /etc/wireguard/server_private.key > /dev/null
$ sudo chmod 600 /etc/wireguard/server_private.key
$ sudo sh -c 'wg pubkey < /etc/wireguard/server_private.key' | sudo tee /etc/wireguard/server_public.key > /dev/null
đ RĂ©cupĂ©rez vos clĂ©s :
sudo cat /etc/wireguard/server_private.key et
sudo cat /etc/wireguard/server_public.key[reference:3].
1.4 â Configuration du serveur (/etc/wireguard/wg0.conf)
CrĂ©ez le fichier de configuration de lâinterface wg0. Adaptez ens192 Ă votre interface rĂ©seau principale[reference:4].
$ sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = VOTRE_CLE_PRIVEE_SERVEUR
Address = 10.8.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE
â ïž Remplacez :
VOTRE_CLE_PRIVEE_SERVEUR par votre clé privée.
ens192 par le nom de votre interface réseau principale (ip a pour la trouver).
1.5 â DĂ©marrage du service
$ sudo systemctl enable wg-quick@wg0
$ sudo systemctl start wg-quick@wg0
$ sudo wg show
â
WireGuard est actif. Lâinterface wg0 est créée avec lâIP 10.8.0.1/24.
1.6 â Ajout dâun client (Peer)
Pour chaque client, générez une paire de clés sur le poste client, puis ajoutez sa clé publique dans wg0.conf[reference:5].
[Peer]
PublicKey = CLE_PUBLIQUE_DU_CLIENT
AllowedIPs = 10.8.0.2/32
Rechargez la configuration : sudo wg syncconf wg0 <(wg-quick strip wg0)
â
Le client peut maintenant se connecter avec sa clĂ© privĂ©e et lâIP 10.8.0.2.
2 WireGuard sur pfSense
2.1 â Installation du paquet WireGuard
Connectez-vous Ă lâinterface web de pfSense, puis allez dans System â Package Manager â Available Packages.
Recherchez wireguard, cliquez sur Install puis confirmez[reference:6].
â
Le paquet WireGuard est installé.
2.2 â GĂ©nĂ©ration des clĂ©s et crĂ©ation du tunnel
Allez dans VPN â WireGuard â Tunnels et cliquez sur + Add Tunnel.
Cliquez sur Generate pour créer une nouvelle paire de clés[reference:7].
Description : WireGuard-Server
Listen Port : 51820
Interface Keys : (clés générées automatiquement)
Interface Addresses : 10.0.0.1/24
Cliquez sur Save Tunnel pour enregistrer.
đ RĂ©cupĂ©rez la clĂ© publique : Elle est affichĂ©e dans lâinterface aprĂšs gĂ©nĂ©ration.
Vous en aurez besoin pour configurer les peers[reference:8].
2.3 â Ajout dâun Peer (client)
Dans le mĂȘme Ă©cran, cliquez sur + Add Peer.
Remplissez les informations du client[reference:9].
Description : Client-01
Public Key : (clé publique du client)
Allowed IPs : 10.0.0.2/32
Endpoint : (IP publique du client : port)
Persistent Keepalive : 25
Cliquez sur Save Peer puis Apply Changes.
2.4 â Assignation de lâinterface
Allez dans Interfaces â Assignments. SĂ©lectionnez le tunnel WireGuard
(gĂ©nĂ©ralement tun_wg0) et cliquez sur + Add pour lâassigner[reference:10].
Donnez un nom Ă lâinterface (ex: WG_VPN) et activez-la.
â
Lâinterface WireGuard est maintenant disponible et routable.
2.5 â RĂšgles de pare-feu
Allez dans Firewall â Rules, sĂ©lectionnez lâinterface WG_VPN et ajoutez une rĂšgle
pour autoriser le trafic (ex: Pass depuis lâIP du client vers nâimporte quelle destination).
Action : Pass
Protocol : Any
Source : WG_VPN net
Destination : Any
â
Les clients WireGuard peuvent maintenant accéder au réseau interne.
3 OpenVPN sur pfSense
3.1 â CrĂ©ation du certificat racine (CA)
Allez dans System â Certificates â Authorities et cliquez sur + Add.
Créez une nouvelle autorité de certification pour signer les certificats clients[reference:11].
Descriptive name : OpenVPN_CA
Key length : 2048
Digest Algorithm : SHA256
Country Code : FR
State/Province : Normandie
City : Avranches
Organization : NDLP
Cliquez sur Create pour générer la CA.
3.2 â CrĂ©ation du certificat serveur
Allez dans System â Certificates â Certificates et cliquez sur + Add.
Sélectionnez Create a new certificate et choisissez la CA créée précédemment.
Type : Server Certificate
Descriptive name : OpenVPN_Server
Common Name : openvpn-server
Certificate Authority : OpenVPN_CA
Cliquez sur Create.
3.3 â Configuration du serveur OpenVPN
Allez dans VPN â OpenVPN â Servers et cliquez sur + Add.
Server Mode : Remote Access (SSL/TLS)
Protocol : UDP on IPv4 only
Port : 1194
TLS Configuration : Yes (SSL/TLS)
Peer Certificate Authority : OpenVPN_CA
Server Certificate : OpenVPN_Server
IPv4 Tunnel Network : 10.8.8.0/24
IPv4 Local networks : (vos réseaux internes)
Redirect Gateway : Enabled (force le trafic via le VPN)
Cliquez sur Save.
â
Le serveur OpenVPN est configuré.
3.4 â RĂšgles de pare-feu OpenVPN
Allez dans Firewall â Rules, sĂ©lectionnez lâinterface OpenVPN et ajoutez une rĂšgle
pour autoriser le trafic des clients vers le réseau interne.
Action : Pass
Protocol : Any
Source : OpenVPN net
Destination : Any (ou réseaux internes)
â
Les clients OpenVPN peuvent accéder aux ressources internes.
3.5 â Export de la configuration client
Pour générer un fichier de configuration client, installez le paquet OpenVPN Client Export
depuis System â Package Manager.
Une fois installĂ©, allez dans VPN â OpenVPN â Client Export et tĂ©lĂ©chargez
le fichier .ovpn pour votre client.
â
Les clients peuvent importer ce fichier dans leur logiciel OpenVPN pour se connecter.
â
Test de validation
đ VĂ©rifications finales :
- WireGuard Debian :
sudo wg show affiche les peers connectés.
- WireGuard pfSense : Le tunnel est
Up et un handshake est visible dans Status â WireGuard.
- OpenVPN pfSense : Un client peut se connecter et Status â OpenVPN affiche la session active.
- Les clients peuvent
ping lâIP du serveur VPN et accĂ©der aux ressources internes.
đ Ressources complĂ©mentaires