Comment installer et configurer le serveur OpenVPN sur Ubuntu Linux

Table des matières

OpenVPN C'est sans aucun doute la meilleure façon d'établir une connexion sécurisée à un réseau via Internet.

OpenVPN est une ressource VPN de Open source Cela nous permet en tant qu'utilisateurs de masquer notre navigation pour éviter d'être victimes de vol d'informations sur le réseau. Ce sont des aspects très importants au niveau de la sécurité que nous devons prendre en compte et cette fois nous allons analyser le processus de configuration OpenVPN dans un environnement Ubuntu 16.04.

OpenVPN utiliseGrâce à OpenVPN, nous pouvons effectuer des tâches telles que :

  • Protéger le trafic pendant le processus de navigation Web.
  • Fonctionne comme un tunnel sur n'importe quelle adresse IP en utilisant un seul port TCP ou UDP.
  • Installation plusieurs serveurs VPN évolutif.
  • Porter fonctions de cryptage et l'authentification pour protéger le trafic.
  • Échange de touches dynamiques.
  • Créer des ponts de Ethernet sécurisé.
  • Gestion des VPN à l'aide d'une interface graphique à partir des environnements Windows et Mac OS.

Exigences OpenVPNAvant de commencer le processus d'installation, il est important de répondre à certaines exigences, à savoir :

  • Utilisateur racine
  • Gouttelette Ubuntu 16.04

1. Comment installer Update et installer OpenVPN sur Ubuntu 16.04

Étape 1
Tout d'abord, nous mettrons à jour Ubuntu 16.04 à l'aide de la commande suivante :

 sudo apt-get mise à jour 
Étape 2
Une fois le système mis à jour, nous procédons à l'installation d'OpenVPN à l'aide de la commande suivante. Nous acceptons le téléchargement et l'installation respective des packages OpenVPN.
 sudo apt-get install openvpn easy-rsa 

AGRANDIR

De cette façon nous avons installé OpenVPN sur Ubuntu 16 et maintenant il faudra effectuer le processus de configuration.

2. Comment définir le répertoire CA dans Ubuntu 16.04


Le Annuaire CA (Certificate Authority - Certificate of Authority) est le moyen par lequel nous pouvons émettre des certificats de confiance puisque OpenVPN est un VPN qui utilise le Protocoles TLS/SSL.

Étape 1
Pour ca nous allons copier les modèles d'easy-rsa dans notre répertoire personnel à l'aide de la commande faire-cadir, nous entrerons ce qui suit dans le terminal Ubuntu 16.04 :

 make-cadir ~ / openvpn-ca 
Étape 2
Nous allons maintenant accéder à la route créée précédemment :
 cd ~ / openvpn-ca 

AGRANDIR

3. configurer les variables des certificats d'autorité dans Ubuntu 16.04


Il faut que nous configurions les valeurs qui seront utilisées par l'autorité ou les certificats CA et pour cela nous devons éditer le fichier vars au sein de l'annuaire.

Étape 1
Nous pouvons ouvrir ce fichier en utilisant l'éditeur préféré, dans ce cas ce sera nano :

 sudo nano vars 

AGRANDIR

Étape 2
Dans ce fichier, nous trouvons les variables que nous pouvons ajuster et configurer pour déterminer la manière dont les certificats d'autorité seront créés. Nous allons faire défiler vers le bas du fichier jusqu'à ce que nous trouvions ces variables :

 exporter KEY_COUNTRY = "US" exporter KEY_PROVINCE = "CA" exporter KEY_CITY = "SanFrancisco" exporter KEY_ORG = "Fort-Funston" exporter KEY_EMAIL = "[email protected]" exporter KEY_OU = "MyOrganizationalUnit"

AGRANDIR

Étape 3
Nous éditons ces valeurs en fonction des paramètres requis. De la même manière nous éditerons la ligne exporter KEY_NAME attribué le nom approprié, dans ce cas, nous l'avons appelé serveur.

AGRANDIR

Étape 4
Nous gardons changements à l'aide de la combinaison :

Ctrl + O

Oui nous sommes sortis de l'éditeur en utilisant

Ctrl + X

4. Comment créer le certificat d'autorité dans Ubuntu 16.04


Avec ces valeurs définies nous procédons à la création du certificat d'autorité.

NoterRappelez-vous que nous devons être dans le répertoire ~/openvpn-ca.

Étape 1
Une fois dans le répertoire, nous exécuterons la commande suivante :

 variables sources 

AGRANDIR

Étape 2
Nous procédons à l'exécution de la commande indiquée pour avoir un environnement propre :

 ./Nettoie tout 
Étape 3
À présent nous allons créer le certificat CA racine à l'aide de la commande suivante :
 ./construire-ca 
Étape 4
Nous pouvons voir une série de questions que nous avons déjà configurées dans le fichier vars pour lesquelles nous n'avons qu'à appuyer sur Entrer à compléter automatiquement. De cette façon nous avons créé le certificat ce qui sera utile pour la suite du processus.

AGRANDIR

5. Comment créer un certificat de serveur, une clé et des fichiers cryptés dans Ubuntu 16.04


À ce stade, nous allons créer le certificat du serveur et ses clés respectives.

Étape 1
Pour cela nous allons exécuter la commande suivante :

 ./build-key-server server 
Nous devons remplacer le nom du serveur par celui attribué dans la ligne exporter KEY_NAME du fichier vars). Les valeurs déjà définies dans le fichier vars seront automatiquement émises, pour lesquelles on appuie sur Entrée.

Étape 2
Nous pouvons voir que le certificat a été créé correctement.

AGRANDIR

Étape 3
Ensuite, nous allons créer d'autres paramètres tels que le Cryptage Diffie-Hellman qui peut être utilisé lors de l'échange de clé, pour cela nous utiliserons la ligne suivante.

 ./construire-dh 

AGRANDIR

Étape 4
Ce processus prend quelques minutes. Nous pouvons également générer une signature HMAC qui nous permet d'améliorer les niveaux d'intégrité TLS du serveur, pour cela nous entrons dans ce qui suit.

 openvpn --genkey --clés secrètes / ta.key 

6. Comment créer un certificat de serveur, une clé et des fichiers cryptés dans Ubuntu 16.04


Ce processus peut être effectué sur la machine cliente et ensuite signé à l'aide du serveur CA mais cette fois nous l'exécuterons directement pour gagner du temps.Nous accédons à nouveau au répertoire, si nous n'y sommes pas déjà. ~ / openvpn-ca et là, nous exécuterons la commande source vars.

Étape 1
Maintenant, nous allons entrer la ligne suivante où nous définissons le nom du client :

 ./build-key solvetic1 
Nous devons appuyer Entrer dans les questions respectives déjà configurées ci-dessus

AGRANDIR

Étape 2
Cette commande crée des identifiants sans nécessiter de mot de passe, si pour des raisons de sécurité nous voulons établir un identifiant avec un mot de passe, nous devons exécuter la ligne suivante :

 ./build-key-pass (nom du client) 

7. Comment configurer le service OpenVPN dans Ubuntu 16.04


L'étape suivante consiste à configurer le service OpenVPN pour que tout fonctionne comme vous le souhaitez. Tout d'abord, nous allons copier les fichiers que nous avons créés dans le chemin ~/openvpn-ca dans le chemin /etc/openvpn, rappelez-vous que les certificats CA, les clés, le fichier Diffie-Hellman et le fichier HMAC.

Étape 1
Pour cela nous accéderons au répertoire suivant :

 cd ~ / openvpn-ca / clés 
Étape 2
Une fois là-bas, nous exécuterons la ligne suivante pour le processus de copie :
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Étape 3
Maintenant, nous devons copier et décompresser un Fichier de configuration OpenVPN dans ce répertoire à utiliser comme base. Pour cela, nous entrerons les éléments suivants :
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

AGRANDIR

8. Comment ajuster les paramètres OpenVPN dans Ubuntu 16.04

Étape 1
Une fois que nous avons ces fichiers dans le chemin nécessaire, nous procédons à l'ajustement de la configuration OpenVPN en accédant au fichier serveur.conf :

 sudo nano /etc/openvpn/server.conf 

AGRANDIR

Étape 2
Là, nous ferons les ajustements suivants. Nous allons à la ligne tls-auth ta.key 0 # Ce fichier est secret et en dessous, nous ajouterons ce qui suit.

 clé-direction 0 
Étape 3
Sur la ligne chiffrement AES-128-CBC nous supprimons le symbole; situé au début de celui-ci et au-dessous de cette ligne, nous entrerons ce qui suit.
 authentification SHA256 
Étape 4
Ceci afin de créer une ligne d'authentification pour choisissez l'algorithme de message. Sur les lignes utilisateur Oui grouper nous supprimons le symbole de; situé au début.

AGRANDIR

Comme alternatives facultatives, nous pouvons ajouter ce qui suit.

Pousser le trafic DNS via le VPNCette option est pratique lorsque l'on souhaite acheminer tout le trafic exclusivement via le VPN.

 Pour cela nous allons apporter les modifications suivantes dans le fichier précédent : Nous décommentons les lignes : push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Modifier le port dans OpenVPNPar défaut, OpenVPN utilise le port 1194 et le protocole réseau UDP pour les connexions client. Si nous voulons modifier ce port, nous allons à la ligne Port et nous attribuons le nouveau port en fonction du besoin actuel.

AGRANDIR

De la même manière, nous pouvons ajuster le protocole sur la ligne proto.

Réglage des paramètres réseau - Transfert IPCe point est important car il permet à tout le trafic OpenVPN d'être acheminé correctement.

Nous allons d'abord activer le Transfert d'adresse IP, c'est-à-dire que le serveur transfère le trafic, pour cela nous devons éditer le fichier /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
À l'intérieur du fichier, nous placerons la ligne net.ipv4.ip_forward = 1 et nous le décommentons en supprimant le symbole # situé au début de celui-ci.

AGRANDIR

Nous gardons les modifications et nous sortons du fichier. Pour toutes les modifications à appliquer dans la session en cours, nous exécuterons la commande suivante.

 sudo sysctl -p

Définition des règles dans le pare-feu Ubuntu 16.04L'utilisation du pare-feu est indispensable car il nous protège des connexions entrantes au système, à ce stade nous devons modifier le fichier de règles pour configurer le trafic masqué. Tout d'abord, nous devons connaître l'interface réseau publique du serveur, pour cela nous exécutons la commande suivante :

 itinéraire ip | grep par défaut 

AGRANDIR

Dans cet exemple, l'interface réseau publique est enp0s3. Nous allons maintenant accéder au fichier de configuration des règles pour votre ajustement, nous saisissons les éléments suivants :

 sudo nano /etc/ufw/before.rules 
La fenêtre suivante s'affichera.

AGRANDIR

Ce fichier gère la configuration qui doit être précédée avant l'exécution des règles UFW typiques. En haut nous entrerons les lignes suivantes qui établiront la configuration POSTROUTING :

 # START OPENVPN RULES # NAT table rules * nat: POSTROUTING ACCEPT [0: 0] # Autoriser le trafic du client OpenVPN vers (interface) -A POSTROUTING -s 10.8.0.0/8 -o (interface) -j MASQUERADE COMMIT # END OPENVPN DES RÈGLES

AGRANDIR

Il est important que dans le champ enp0s3 définissons le nom correct de l'interface à utiliser. Nous gardons changements à l'aide de la combinaison :

Ctrl + O

Oui nous sommes sortis de l'éditeur en utilisant :

Ctrl + X

Maintenant, nous devons permettre à la UFW accepter les colis par voie défaut, pour cela nous exécuterons la commande suivante :

 sudo nano / etc / par défaut / ufw 
Sur la ligne DEFAULT_FORWARD_POLICY nous modifions le terme DROP par ACCEPT.

AGRANDIR

Nous gardons les changements.

Ouverture des ports VPN et activation des modificationsLa prochaine étape consiste à ajuster les paramètres du pare-feu pour autoriser tout le trafic vers OpenVPN. Pour ca nous exécutons la commande suivante.

 sudo ufw autoriser 1194 / udp 
NoterSi nous avons modifié le port et le protocole, nous devons le changer dans cette commande, ce sont les valeurs par défaut d'OpenVPN.

Nous ajoutons également le port SSH:

 sudo ufw autoriser OpenSSH 

AGRANDIR

À télécharger des modifications nous utiliserons les commandes suivantes.

 sudo ufw désactiver sudo ufw activer
On peut vérifier que les règles ont été ajoutées à l'aide de la commande statut sudo ufw:

AGRANDIR

9. Comment démarrer et activer le service OpenVPN dans Ubuntu 16.04


Avec ces valeurs déjà définies Nous sommes en mesure de démarrer le service OpenVPN dans Ubuntu et pour cela il faudra préciser le nom que nous avons attribué.

Étape 1
Pour cela nous exécuterons la ligne suivante :

 sudo systemctl démarrer openvpn @ serveur 
Étape 2
Ensuite nous validons le statut d'OpenVPN en utilisant la ligne :
 état sudo systemctl openvpn @ serveur 

AGRANDIR

Étape 3
Nous pouvons voir que son statut est correct et qu'il a démarré avec succès. Nous appuyons sur la lettre q pour revenir à la ligne de commande. De la même manière, nous pouvons vérifier l'interface OpenVPN tun0 en entrant ce qui suit :

 adresse ip afficher tun0 

AGRANDIR

Étape 4
Pour que le service OpenVPN s'exécute automatiquement à chaque connexion, nous devons saisir le paramètre suivant :

 sudo systemctl activer openvpn @ server 

AGRANDIR

10. Comment créer la structure client OpenVPN sur Ubuntu 16.04

Étape 1
L'étape suivante consiste à créer les fichiers de configuration client, pour cela nous allons créer cette structure dans le répertoire personnel en exécutant ce qui suit :

 mkdir -p ~ / client-configs / fichiers 
Étape 2
Nous bloquerons les autorisations dans cette route puisque les clés créées s'y trouvent, nous utiliserons la ligne suivante :
 chmod 700 ~ / client-configs / fichiers 

11. Comment créer une base de configuration OpenVPN sur Ubuntu 16.04

Étape 1
À ce stade, nous allons copier une base de configuration client dans le répertoire pour l'avoir comme base, nous exécutons la commande suivante :

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~ / client-configs / base.conf 
Étape 2
Nous ouvrons ce fichier avec notre éditeur préféré :
 sudo nano ~ / client-configs / base.conf 

AGRANDIR

Étape 3
Là, nous localisons la ligne à distance et nous entrerons l'adresse IP du serveur qui est suivie du port UDP 1194 :

AGRANDIR

Étape 4
Dans ce même fichier, nous apporterons les modifications suivantes :

  • Nous décommentons les lignes utilisateur Oui grouper enlever le signe;
  • Nous commentons, en ajoutant le symbole #, aux lignes CA, certificat Oui clé
  • On ajoute les lignes chiffrement AES-128-CBC Oui authentification SHA256
  • Au-dessous de la ligne précédente, nous écrivons touche-direction 1
  • A la fin du fichier nous ajoutons les lignes suivantes :
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Si cela ne fonctionne pas pour vous, essayez cette autre forme de commande script-security :

 script-security 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf

AGRANDIR

Étape 5
Nous gardons changements à l'aide de la combinaison :

Ctrl + O

Oui nous sommes sortis de l'éditeur en utilisant :

Ctrl + X

12. Comment créer un script pour la configuration OpenVPN sur Ubuntu 16.04

Étape 1
Ce script se chargera de compiler les événements les plus importants des fichiers de certificat, de clé et de chiffrement dans le chemin ~ / client-configs / fichiers. Nous allons créer un fichier appelé make_config.sh en utilisant la syntaxe suivante :

 sudo nano ~ / client-configs / make_config.sh
Étape 2
Un fichier vierge s'ouvrira où nous ajouterons les lignes suivantes :
 #! / bin / bash # Premier argument : Identifiant client KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(echo -e '') \ $ {KEY_DIR} /ca.crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '\ n') \ $ {KEY_DIR} /ta.key \ <(echo -e '') \> $ {OUTPUT_DIR} / $ {1} .ovpn

AGRANDIR

Étape 3
Nous gardons les changements et nous sommes sortis de l'éditeur. Nous allons rendre ce fichier exécutable en entrant ce qui suit :

 sudo chmod 700 ~ / client-configs / make_config.sh 

13. Comment configurer les fichiers client OpenVPN sur Ubuntu 16.04


L'étape suivante consiste à créer les fichiers de configuration pour le client, que nous avons créés en tant que Solvetic1.

Étape 1
Pour cela, nous allons entrer les lignes suivantes :

 cd ~ / client-configs ./make_config.sh client1 [plain] Étape 2 [/ plain] On peut voir le contenu de ce dossier à l'aide de la commande ls : ls ~ / client-configs / files

AGRANDIR

Nous voyons qu'il y a le client Solvetic1 créé correctement.

14. Comment transférer les paramètres OpenVPN vers les machines clientes OpenVPN sur Ubuntu 16.04


Une fois que nous avons terminé tout le processus de configuration dans Ubuntu 16, il est temps de transférer le Fichier Solvetic1.ovpn aux appareils respectifs tels que les ordinateurs ou les appareils mobiles.

Étape 1
Nous pouvons utiliser le client de transfert que nous voulons en fonction du système que nous utilisons, un exemple de transfert peut être le suivant dans un environnement Fedora 25 :

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Étape 2
Dans cet exemple, nous utiliserons les fenêtres et la cliente Filezilla:

AGRANDIR

15. Comment installer et exécuter OpenVPN sur Ubuntu 16.04


Étape 1
OpenVPN est disponible pour Windows, Linux, Mac OS, Android, FreeBSD, etc. Dans le lien suivant, nous pouvons télécharger la version appropriée d'OpenVPN :

Étape 2
Ensuite, nous verrons comment exécuter OpenVPN sur les différents systèmes d'exploitation.

Exécutez OpenVPN sur WindowsDans les fenêtres, qui est le système d'exemple, nous devons copier le fichier .ovpn dans le parcours :

 C:\Program Files\OpenVPN\config 
Étape 3
De là, nous pouvons faire un clic droit sur le fichier et sélectionner l'option Démarrez OpenVPN sur ce fichier de configuration

AGRANDIR

De cette façon, nous nous connecterons au serveur OpenVPN.

NoterOpenVPN doit être exécuté avec privilèges administratifs.

Exécuter OpenVPN sur LinuxLe processus sur les systèmes Linux doit être le suivant :

Tout d'abord, nous mettons à jour le système et installons OpenVPN à l'aide des commandes suivantes :

 sudo apt-get mise à jour 
 sudo apt-get install openvpn 
Si nous utilisons CentOS nous utiliserons les commandes suivantes :
 sudo yum installer epel-release sudo yum installer openvpn
Une fois installé OpenVPN nous allons exécuter la commande suivante :
 ls / etc / openvpn 
La prochaine étape consiste à modifier le fichier .ovpn transféré avec l'éditeur souhaité.
 sudo nano fichier.ovpn 
Dans le fichier ouvert, nous devons décommenter les lignes suivantes :
 script-security 2 up / etc / openvpn / update-resolv-conf
 down / etc / openvpn / update-resolv-con 
Nous pouvons maintenant nous connecter au VPN en utilisant la syntaxe suivante :
 sudo openvpn --config File.ovpn

Exécutez OpenVPN sur Mac OSSi nous utilisons Mac OS, cela s'applique à macOS Sierra, nous pouvons utiliser l'utilitaire tunnel que nous pouvons télécharger gratuitement sur le lien suivant :

Lors de l'exécution de l'application dans la barre de titre, nous verrons l'icône correspondante, cliquez ici et sélectionnez Relier et nous choisissons le client que nous avons configuré, par exemple, Solvetic1.

Exécutez OpenVPN sur AndroidPour les utilisateurs Android qui souhaitent se connecter à Linux via VPN, nous pouvons télécharger l'application OpenVPN Connect au lien suivant :

L'archive .ovpn nous devons le transférer via USB sur le téléphone pour l'utiliser.
Lors de l'exécution de l'application, nous allons dans le menu et sélectionnons l'emplacement où nous avons le fichier .ovpn et à partir de là, nous l'importons. Pour nous connecter nous cliquons sur le bouton Relier.

De toutes les manières indiquées, l'objectif est d'accéder à Ubuntu 16.04 via VPN, en profitant des avantages offerts par OpenVPN.

AGRANDIR

Comme vous pouvez le voir, la configuration d'un serveur OpenVPN dans Ubuntu est quelque peu complexe, mais avec ce manuel complet, vous avez étape par étape tout ce que vous devez faire pour le mettre dans ce système. Si en plus d'Ubuntu vous utilisez d'autres distributions, nous vous laissons ici comment configurer et installer un serveur OpenVPN sur Debian.

Serveur Debian OpenVPN

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave