Installer un serveur OpenVPN en 15 minutes sur Linux
Un VPN maison coûte 5€/mois de VPS et donne un contrôle total sur vos données. Voici comment installer OpenVPN avec un script automatisé, sans toucher à la PKI à la main.
Les VPN commerciaux vous demandent de leur faire confiance. Leur politique de logs, leurs serveurs, leurs pratiques de sécurité — vous n'en savez rien. Un serveur OpenVPN sur votre propre VPS règle ce problème : vous contrôlez tout, et ça coûte moins cher qu'un abonnement mensuel.
Ce guide utilise le script d'installation d'angristan — le plus maintenu et le plus utilisé pour déployer OpenVPN. Il gère la PKI, les certificats, la configuration réseau, et le pare-feu en une seule passe.
Prérequis : un VPS sous Debian/Ubuntu avec accès root. Si vous n'avez pas encore sécurisé votre serveur, configurer SSH et le firewall est la première étape.
Mise à jour du système
Toujours commencer par une mise à jour avant d'installer quoi que ce soit :
apt-get update && apt-get upgrade -yTélécharger et préparer le script
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.shLe script automatise ce que vous ne voulez pas faire à la main : générer les certificats CA, les clés serveur, configurer tls-auth, générer la configuration client. Faire ça manuellement prend une heure et laisse beaucoup de place à l'erreur.
Lancer la configuration
./openvpn-install.shLe script détecte automatiquement votre IP et vous pose quelques questions. Voici quoi répondre.
Adresses IP
IP address : [détection automatique de l'IP privée]
Public IPv4 address or hostname: [votre IP publique ou nom de domaine]Si le script détecte correctement votre IP privée (interface réseau principale), validez. Pour l'IP publique, entrez l'IP de votre VPS — ou un nom de domaine si vous en avez un pointant sur le serveur.
Protocole et port
Do you want to enable IPv6 support (NAT)? [y/n]: n
Port choice [1-3]: 1
Protocol [1-2]: 1Port 1194 (défaut) et UDP. UDP est plus rapide que TCP pour un tunnel — les retransmissions sont gérées par OpenVPN lui-même, pas par TCP en double. Si votre réseau bloque UDP (rare, mais ça arrive sur certains réseaux d'entreprise), repassez en TCP sur le port 443.
DNS et options avancées
DNS [1-12]: 9
Enable compression? [y/n]: n
Customize encryption settings? [y/n]: nDNS Google (8.8.8.8) par défaut, ou Cloudflare (option 12, 1.1.1.1) si vous préférez. La compression est désactivée — VORACLE a démontré qu'elle ouvre une surface d'attaque réelle sur les VPN. Les paramètres d'encryption par défaut du script sont corrects : AES-256-GCM pour les données, RSA 4096 pour les certificats.
Le script installe OpenVPN, génère tous les certificats, et configure iptables automatiquement. Ça prend 2-3 minutes.
Ouvrir le port dans le firewall
Si vous utilisez UFW, le script tente de le configurer automatiquement. Vérifiez quand même :
ufw status
# Le port 1194/udp doit être autoriséSi ce n'est pas le cas :
ufw allow 1194/udp
ufw reloadCréer un client
Relancez le script — cette fois il détecte qu'OpenVPN est déjà installé et affiche un menu de gestion :
./openvpn-install.shWhat do you want to do?
1) Add a new client
2) Revoke existing client
3) Remove OpenVPN
4) Exit
Select an option [1-4]: 1Client name: alice-laptopNommez le client de façon descriptive : alice-laptop, bob-iphone, office-pc. Un nom par appareil et par personne — ça permet de révoquer individuellement si nécessaire.
Select an option [1-2]: 1
# 1 = sans mot de passe (clé seule)
# 2 = avec mot de passe (clé + passphrase)Sans mot de passe pour des appareils de confiance (connexion automatique possible). Avec mot de passe pour des accès sensibles où vous voulez une authentification active à chaque connexion.
Le fichier .ovpn est créé dans le répertoire courant :
ls -la *.ovpn
# -rw------- 1 root root 4821 Jun 18 14:30 alice-laptop.ovpnTransférer le fichier vers le client
# Depuis votre machine locale
scp root@votre-serveur:~/alice-laptop.ovpn ~/Downloads/
# Ou afficher le contenu pour copier-coller
cat alice-laptop.ovpnLe fichier .ovpn contient tout : clé cliente, certificat CA, configuration réseau, clé tls-auth. Ne l'envoyez jamais par email non chiffré — traitez-le comme un mot de passe.
Clients OpenVPN par plateforme
| Plateforme | Client | Notes |
|---|---|---|
| Android | OpenVPN Connect | App officielle |
| iOS | OpenVPN Connect | App officielle |
| Windows | OpenVPN GUI | Inclus dans l'installer officiel |
| macOS | Tunnelblick | Gratuit, open source |
| Linux | apt install openvpn | CLI ou NetworkManager |
Linux (CLI) :
sudo openvpn --config alice-laptop.ovpnVérifier que la connexion fonctionne :
# Depuis le client connecté au VPN
curl ifconfig.me
# Doit afficher l'IP de votre serveur, pas votre IP localeAjouter d'autres clients ou révoquer
./openvpn-install.sh
# Menu → 1 pour ajouter, 2 pour révoquerLa révocation invalide immédiatement le certificat du client — il ne peut plus se connecter même s'il a encore le fichier .ovpn. Utile si un appareil est perdu ou si un accès doit être coupé.
Vérifier que le serveur tourne
systemctl status openvpn@server
# Active: active (running)
# Voir les connexions actives
cat /var/log/openvpn/openvpn.log | grep "client connected"Un serveur OpenVPN donne plus de contrôle qu'un VPN commercial — vous savez exactement ce qui est loggué (ou pas), et les clés ne quittent jamais votre infrastructure. La limite : vous êtes responsable des mises à jour et de la sécurité du serveur. Si vous voulez comparer les options commerciales pour des cas où un VPN maison n'est pas pratique, le comparatif VPN NordVPN vs ExpressVPN vs Surfshark couvre les différences techniques.