La mise en place d’un serveur OpenVPN sur un système Ubuntu peut être une démarche complexe, mais avec une approche méthodique, elle devient accessible même pour ceux qui n’ont pas une expertise approfondie en administration système. Avant de commencer, assurez-vous d’avoir accès à un serveur Ubuntu avec des privilèges d’administration.
Étape 1 : Mise à jour du système
Avant de procéder à l’installation d’OpenVPN, il est impératif de mettre à jour le système pour garantir la sécurité et la stabilité. Utilisez les commandes suivantes dans le terminal :

La solution définitive pour raccourcir les liens et gérer vos campagnes digitales de manière professionnelle.
• Raccourcissement instantané et rapide des liens
• Pages de profil interactives
• Codes QR professionnels
• Analyses détaillées de vos performances digitales
• Et bien plus de fonctionnalités gratuites !
bashsudo apt update sudo apt upgrade
Étape 2 : Installation d’OpenVPN
OpenVPN peut être installé à l’aide de la commande apt. Exécutez la commande suivante pour installer le paquet OpenVPN :
bashsudo apt install openvpn
Étape 3 : Configuration du serveur OpenVPN
La configuration d’OpenVPN implique plusieurs étapes, dont la génération de certificats et de clés, la configuration du serveur et la création des fichiers de configuration des clients. Suivez attentivement ces étapes :
Génération des certificats et clés
OpenVPN utilise des certificats SSL/TLS pour assurer la sécurité des connexions. Utilisez la commande easy-rsa fournie avec OpenVPN pour faciliter ce processus :
bashsudo apt install easy-rsa
Puis, créez un répertoire pour y stocker les clés et les certificats :
bashmake-cadir ~/openvpn-ca
cd ~/openvpn-ca
Modifiez le fichier vars
dans le répertoire créé pour définir les paramètres de certificat :
bashnano vars
Modifiez les valeurs de KEY_COUNTRY
, KEY_PROVINCE
, KEY_CITY
, KEY_ORG
, et KEY_EMAIL
selon vos préférences. Enregistrez et fermez le fichier.
Ensuite, exécutez les commandes suivantes pour initialiser et créer les certificats et clés :
bashsource vars
./clean-all
./build-ca
./build-key-server server
./build-dh
Configuration du serveur OpenVPN
Copiez les fichiers générés vers le répertoire OpenVPN :
bashsudo cp ~/openvpn-ca/keys/ca.crt /etc/openvpn
sudo cp ~/openvpn-ca/keys/server.crt /etc/openvpn
sudo cp ~/openvpn-ca/keys/server.key /etc/openvpn
sudo cp ~/openvpn-ca/keys/dh2048.pem /etc/openvpn
Copiez également le fichier de configuration de modèle fourni avec OpenVPN :
bashgunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Éditez le fichier de configuration pour refléter votre configuration spécifique :
bashsudo nano /etc/openvpn/server.conf
Assurez-vous que les certificats et les clés pointent vers les fichiers corrects :
textca ca.crt cert server.crt key server.key dh dh2048.pem
Activez le transfert de paquets et l’IP forwarding :
bashsudo sysctl -w net.ipv4.ip_forward=1
Ajoutez cette configuration au fichier /etc/sysctl.conf
pour le rendre persistant :
bashecho "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Étape 4 : Configuration du pare-feu
Si vous utilisez UFW (Uncomplicated Firewall), ajustez sa configuration pour permettre le trafic OpenVPN :
bashsudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable
Étape 5 : Démarrage du service OpenVPN
Redémarrez le service OpenVPN pour appliquer les changements :
bashsudo systemctl restart openvpn@server
sudo systemctl enable openvpn@server
Vérifiez que le service fonctionne correctement :
bashsudo systemctl status openvpn@server
Étape 6 : Configuration des clients
Générez un certificat client en utilisant la procédure similaire à celle du certificat serveur :
bashcd ~/openvpn-ca
source vars
./build-key client1
Copiez les certificats et clés du client vers un fichier zip que vous pouvez transférer vers l’appareil client :
bashcd ~/openvpn-ca/keys
sudo cp ca.crt client1.crt client1.key ta.key /etc/openvpn
sudo zip ~/client1.zip ca.crt client1.crt client1.key ta.key
Étape 7 : Configuration de l’appareil client
Sur l’appareil client, installez OpenVPN et copiez les fichiers client1.crt, client1.key, ca.crt et ta.key dans un dossier. Créez un fichier de configuration client.ovpn avec le contenu suivant :
textclient dev tun proto udp remote VOTRE_ADRESSE_IP 1194 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun remote-cert-tls server cipher AES-256-CBC comp-lzo verb 3
Contenu du fichier ca.crt Contenu du fichier client1.crt Contenu du fichier client1.key Contenu du fichier ta.key
Remplacez VOTRE_ADRESSE_IP par l’adresse IP de votre serveur.
Conclusion
La mise en place d’un serveur OpenVPN sur Ubuntu implique plusieurs étapes, depuis l’installation du logiciel jusqu’à la configuration des certificats et clés, en passant par la configuration du pare-feu. Il est crucial de suivre chaque étape avec attention pour assurer la sécurité et la stabilité du serveur VPN. Cette approche offre un moyen sécurisé et fiable pour établir des connexions VPN, permettant ainsi un accès distant et sécurisé à votre réseau. N’oubliez pas de suivre les meilleures pratiques en matière de sécurité, telles que la gestion appropriée des clés et certificats, pour garantir l’intégrité de votre infrastructure VPN.
Plus de connaissances
Étape 1 : Mise à jour du système
La première étape de la configuration d’un serveur OpenVPN sur Ubuntu consiste à s’assurer que le système est à jour. Cette procédure est cruciale pour garantir que toutes les dernières mises à jour de sécurité et de stabilité sont appliquées. En exécutant les commandes sudo apt update
et sudo apt upgrade
, le système récupère les dernières informations sur les paquets disponibles et les met à jour, respectivement.
Étape 2 : Installation d’OpenVPN
L’installation d’OpenVPN sur Ubuntu peut être réalisée de manière efficace grâce à l’utilisation de la commande sudo apt install openvpn
. Cette commande tire parti du gestionnaire de paquets APT (Advanced Package Tool) pour récupérer et installer le paquet OpenVPN à partir des référentiels Ubuntu. Une fois l’installation terminée, OpenVPN est prêt à être configuré selon les besoins spécifiques du serveur.
Étape 3 : Configuration du serveur OpenVPN
Cette étape comprend plusieurs sous-processus, avec la génération des certificats et des clés SSL/TLS comme point de départ. L’utilisation de l’outil easy-rsa facilite ce processus en simplifiant la création des éléments de sécurité nécessaires. La commande sudo apt install easy-rsa
assure que cet outil est disponible sur le système. Ensuite, la création d’un répertoire dédié pour stocker les clés et les certificats, suivi de la configuration du fichier vars
, garantit une personnalisation adéquate des paramètres de certificat.
La création des certificats et clés est ensuite réalisée avec les commandes source vars
, ./clean-all
, ./build-ca
, ./build-key-server server
, et ./build-dh
. Ces commandes assurent la génération des certificats d’autorité de certification, du certificat du serveur, de la clé du serveur, et des paramètres Diffie-Hellman. L’ensemble de ces éléments est essentiel pour établir des connexions sécurisées.
La configuration du serveur OpenVPN nécessite la copie des certificats et des clés générés vers le répertoire d’OpenVPN. Les fichiers ca.crt
, server.crt
, server.key
, et dh2048.pem
sont copiés à l’aide de commandes simples. Le fichier de configuration de modèle server.conf
est également copié dans le répertoire d’OpenVPN et édité pour inclure les bons chemins vers les certificats et clés générés précédemment.
Pour renforcer la sécurité, le transfert de paquets et l’IP forwarding sont activés en utilisant les commandes sudo sysctl -w net.ipv4.ip_forward=1
et en ajoutant cette configuration au fichier /etc/sysctl.conf
. Cela permet au serveur OpenVPN de router les paquets entre les interfaces réseau.
Étape 4 : Configuration du pare-feu
Le pare-feu, dans ce cas UFW, est configuré pour permettre le trafic OpenVPN. Les commandes sudo ufw allow 1194/udp
et sudo ufw allow OpenSSH
ouvrent les ports nécessaires pour le fonctionnement d’OpenVPN et permettent l’accès SSH pour une gestion à distance sécurisée. En activant le pare-feu avec sudo ufw enable
, les règles spécifiées sont appliquées.
Étape 5 : Démarrage du service OpenVPN
Après avoir effectué toutes les configurations nécessaires, le service OpenVPN est redémarré avec sudo systemctl restart openvpn@server
. Cette commande assure que les changements prennent effet. Pour que le service démarre automatiquement au démarrage du système, sudo systemctl enable openvpn@server
est utilisé.
La vérification du statut du service avec sudo systemctl status openvpn@server
permet de s’assurer que le service est actif et en cours d’exécution sans erreurs.
Étape 6 : Configuration des clients
La configuration des clients implique la génération de certificats pour chaque client individuel. En suivant des étapes similaires à celles de la configuration du serveur, des certificats et des clés spécifiques au client sont générés. Ces fichiers sont ensuite copiés vers le répertoire d’OpenVPN sur le serveur.
Étape 7 : Configuration de l’appareil client
Sur l’appareil client, OpenVPN est installé, et les fichiers de configuration spécifiques au client sont copiés vers un dossier dédié. Un fichier de configuration client.ovpn
est créé pour définir les paramètres de connexion. Ce fichier inclut des détails tels que le protocole utilisé, l’adresse IP du serveur, les certificats et les clés nécessaires, ainsi que d’autres paramètres de sécurité.
En résumé, la mise en place d’un serveur OpenVPN sur Ubuntu nécessite une série d’étapes précises, allant de la mise à jour du système à la configuration des clients. Chaque étape joue un rôle crucial dans la création d’un environnement VPN sécurisé et fonctionnel, permettant un accès distant aux ressources réseau de manière sécurisée. La vigilance dans la gestion des certificats et des clés, ainsi que le suivi des meilleures pratiques en matière de sécurité, sont essentiels pour garantir l’intégrité de l’infrastructure OpenVPN.