Comment Installer Et Configurer Le Serveur OpenVPN Sur Ubuntu/Debian ?

Dans ce tutoriel, nous allons apprendre à installer le serveur OpenVPN sur Ubuntu/Debian. Alors, commençons!

Qu’est-ce Qu’OpenVPN ?

OpenVPN est un VPN SSL/TLS complet de niveau industriel qui implémente des réseaux sécurisés OSI de couche 2 ou 3. Il prend en charge diverses méthodes d’authentification telles que le nom d’utilisateur et le mot de passe, via des certificats, des cartes à puce, etc.

Installer Et Configurer Le Serveur OpenVPN Sur Ubuntu

Pour installer le serveur OpenVPN sur Ubuntu, suivez comme nous,

Debian et Ubuntu ont OpenVPN dans leurs référentiels officiels, vous pouvez donc facilement exécuter la commande apt avec la commande sudo pour installer OpenVPN :

sudo apt installer openvpn

Une fois que nous avons installé avec succès le serveur OpenVPN, nous pouvons aller plus loin.

Installer OpenVPN à l’aide de la commande apt

Nous devons maintenant configurer le serveur OpenVPN que nous venons d’installer.

1. Génération D’un Certificat CA à L’aide D’easy-rsa

Avant de commencer avec l’édition de la configuration du serveur OpenVPN, nous devons générer un certificat CA et, nous allons générer le certificat et les clés dans l’emplacement /usr/share/easy-rsa en utilisant easy-rsa donc d’abord nous aurons pour installer easy-rsa, pour l’installer il suffit d’exécuter la commande suivante :

sudo apt installer easy-rsa

Une fois l’installation terminée, accédez à /usr/share/easy-rsa et exécutez la commande suivante avant de pouvoir utiliser easy-rsa pour générer un certificat CA :

sudo ./easyrsa init-pki

Après avoir exécuté avec succès la commande ci-dessus, exécutez maintenant la commande suivante pour générer un certificat CA :

sudo ./easyrsa build-ca

Votre certificat CA nouvellement généré sera stocké dans /usr/share/easy-rsa/pki sous le nom ca.crt mais nous avons besoin de ca.crt dans le même répertoire que le fichier de configuration. Copiez donc le fichier ca.crt dans /etc/openvpn/server à l’aide de la commande cp (vous devrez peut-être élever votre niveau au niveau racine par sudo su pour accéder à ce répertoire):

sudo cp /usr/share/easy-rsa/pki/ca.crt /etc/openvpn/server

Une fois que nous avons généré avec succès le certificat CA et l’avons copié à l’emplacement mentionné. Nous pouvons maintenant passer à la génération de certificats et de clés pour le serveur.

2. Génération Du Certificat Et De La Paire De Clés Pour Le Serveur

Maintenant, pour générer le certificat et la paire de clés pour le serveur, accédez à /usr/share/easy-rsa et exécutez :

sudo ./easyrsa build-server-full servername

Génération d’une demande de certificat et d’une paire de clés.

Copiez maintenant le certificat et la clé dans /etc/openvpn/server en :

 copie du certificat
sudo cp /usr/share/easy-rsa/pki/issued/servername.crt /etc/openvpn/server

 copier la clé
sudo cp /usr/share/easy-rsa/pki/private/servername.key /etc/openvpn/server

3. Génération Du Fichier DH (Diffie-Hellman)

Pour générer le fichier DH, nous utiliserons easy-rsa situé dans /usr/share/easy-rsa

Accédez à /usr/share/easy-rsa et exécutez la commande suivante pour générer le fichier DH :

sudo ./easyrsa gen-dh

Une fois terminé, votre fichier dh.pem sera stocké dans /usr/share/easy-rsa/pki maintenant copiez-le sur le /etc/openvpn/server en utilisant la commande cp :

sudo cp /usr/share/easy-rsa/pki/dh.pem /etc/openvpn/server

Maintenant, nous pouvons continuer.

4. Génération De La Clé HMAC Pour Le Serveur OpenVPN Sur Ubuntu

Pour générer la clé HMAC, exécutez :

sudo openvpn -genkey -secret /etc/openvpn/server/ta.key

Nous avons maintenant les fichiers requis pour configurer le serveur OpenVPN.

Certificat CA, certificat et clé de serveur, clé HMAC et fichier DH

Nous pouvons maintenant commencer à éditer le fichier de configuration d’OpenVPN !

5. Modification De Server.conf

Des exemples de fichiers de configuration peuvent être trouvés dans /usr/share/doc/openvpn/examples/sample-config-files nommés server.conf et client.conf

Exemples de fichiers de configuration du serveur OpenVPN

Extrayez le fichier server.conf de server.conf.gz en exécutant la commande gunzip avec la commande sudo :

sudo gunzip -k server.conf.gz

Une fois que nous avons extrait le fichier de configuration du serveur, nous pouvons maintenant le déplacer vers /etc/openvpn/server.

Extraire server.conf.gz

Pour déplacer server.conf vers /etc/openvpn/server, exécutez :

sudo cp server.conf /etc/openvpn/server

Éditez maintenant server.conf dans /etc/openvpn et mentionnez le nom de fichier correct des fichiers que nous avons générés aux étapes précédentes.

Modification de server.conf

Nous ne modifions pas le reste de la configuration car dans notre cas, rien d’autre n’a besoin d’être modifié que de mentionner les noms de fichiers corrects requis pour le serveur, mais vous pouvez les modifier selon vos besoins.

6. Lancement Du Serveur OpenVPN

Assurez-vous que le port spécifié dans server.conf est disponible pour OpenVPN, par défaut 1194 est le port officiel d’OpenVPN. Ajoutez également des règles au pare-feu pour UDP en exécutant la commande ufw :

sudo ufw autoriser 1994/udp

Nous avons terminé de générer et de configurer les fichiers, allez maintenant dans /etc/openvpn/server et lancez le serveur OpenVPN en exécutant la commande suivante :

sudo openvpn server.conf

Entrez le mot de passe de la clé privée

Lorsque vous lancez le serveur OpenVPN avec la commande ci-dessus, il vous sera demandé d’entrer un mot de passe de clé privée, entrez le même mot de passe que vous avez entré lors de la génération de la clé privée dans les étapes ci-dessus, pour continuer et lancer le serveur OpenVPN.

OpenVPN en cours d’exécution

Le serveur OpenVPN fonctionne maintenant avec succès ! Nous avons installé et configuré avec succès le serveur OpenVPN !

Conclusion

L’installation d’un serveur OpenVPN prend un peu trop de commandes à exécuter, mais si vous suivez les étapes dans l’ordre tel qu’elles sont écrites ci-dessus, vous ne rencontrerez peut-être aucune erreur.

Bon apprentissage!