Vous voulez accéder à votre réseau local depuis l’extérieur, ou sécuriser votre connexion sur un Wi-Fi public ? Un VPN auto-hébergé est la solution. Voici comment installer WireGuard (moderne et rapide) ou OpenVPN (compatible partout) sur un serveur Linux.
WireGuard vs OpenVPN
| Critère | WireGuard | OpenVPN |
|---|---|---|
| Performance | Très rapide | Correct |
| Configuration | Simple | Complexe |
| Compatibilité | Linux, Windows, macOS, Android, iOS | Idem |
| Sécurité | Cryptographie moderne | Éprouvé depuis 20 ans |
| Code source | ~4000 lignes | ~100 000 lignes |
Recommandation : choisissez WireGuard sauf si vous avez besoin d’une compatibilité maximale avec des équipements anciens.
Option 1 : WireGuard
Installation du serveur
sudo apt update
sudo apt install wireguard
Générer les clés
# Clé du serveur
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
# Clé du client
wg genkey | tee /etc/wireguard/client_private.key | wg pubkey > /etc/wireguard/client_public.key
Configuration du serveur
Créez /etc/wireguard/wg0.conf :
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <contenu de server_private.key>
# Activer le forwarding
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <contenu de client_public.key>
AllowedIPs = 10.0.0.2/32
Activer le forwarding IP
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Démarrer WireGuard
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Ouvrir le port dans le firewall
sudo ufw allow 51820/udp
Configuration du client
Créez un fichier client.conf :
[Interface]
Address = 10.0.0.2/24
PrivateKey = <contenu de client_private.key>
DNS = 1.1.1.1
[Peer]
PublicKey = <contenu de server_public.key>
Endpoint = votre-serveur.fr:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Importez ce fichier dans l’application WireGuard sur votre PC ou téléphone.
Option 2 : OpenVPN (méthode simplifiée)
Le script openvpn-install automatise toute l’installation :
wget https://git.io/vpn -O openvpn-install.sh
chmod +x openvpn-install.sh
sudo ./openvpn-install.sh
Le script vous guide pas à pas :
- Choisissez le protocole (UDP recommandé)
- Choisissez le port (1194 par défaut)
- Choisissez le DNS (1.1.1.1 ou 9.9.9.9)
- Entrez un nom pour le premier client
Un fichier .ovpn est généré — importez-le dans le client OpenVPN de votre appareil.
Ajouter un client supplémentaire
Relancez le script :
sudo ./openvpn-install.sh
Choisissez Add a new client et donnez-lui un nom.
Vérifier que le VPN fonctionne
Une fois connecté au VPN :
# Vérifiez votre IP publique (doit être celle du serveur VPN)
curl ifconfig.me
# Testez la connectivité au réseau interne
ping 10.0.0.1
Sécurité supplémentaire
- Fail2ban : protégez le port VPN contre le brute-force
- DNS leak : vérifiez que vos requêtes DNS passent bien par le VPN sur dnsleaktest.com
- Kill switch : configurez votre client pour couper internet si le VPN se déconnecte
Besoin d’aide pour mettre en place un VPN pour votre entreprise ? Contactez-nous pour une installation clé en main.

