GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer le serveur OpenVPN sur Ubuntu 20.04

OpenVPN est une solution VPN open source pour les entreprises qui utilisent des techniques de réseau privé virtuel pour créer des connexions point à point sécurisées avec des installations d'accès à distance. OpenVPN est une technologie de confiance utilisée par de nombreux VPN pour s'assurer que toutes les données envoyées sur Internet sont cryptées et privées.

En termes simples, OpenVPN vous permet de vous connecter à d'autres appareils au sein d'un réseau sécurisé. Il est multiplateforme et peut être Windows, Mac, Android, iOS et Linux. OpenVPN offre un riche ensemble de fonctionnalités, notamment :

  • Bande passante illimitée
  • Changements de serveur illimités
  • Utilisation multi-appareils
  • Pas de stockage de journaux
  • Choix de protocole
  • Plusieurs connexions simultanées

Dans ce tutoriel, nous apprendrons comment installer et configurer le serveur et le client OpenVPN sur un VPS Ubuntu 20.04.

Prérequis

  • Un nouveau VPS Ubuntu 20.04 sur la plate-forme cloud d'Atlantic.net.
  • Un mot de passe root est configuré sur votre serveur.

Étape 1 :Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur, en choisissant Ubuntu 20.04 comme système d'exploitation, avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur Ubuntu 20.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Étape 2 :Activer le transfert IP

Ensuite, vous devrez activer le transfert IP dans votre système afin qu'OpenVPN puisse acheminer correctement le trafic via le VPN.

Vous pouvez activer le transfert IP en éditant le fichier /etc/sysctl.conf :

nano /etc/sysctl.conf

Décommentez la ligne suivante :

net.ipv4.ip_forward =1

Enregistrez le fichier lorsque vous avez terminé, puis exécutez la commande suivante pour appliquer les modifications :

sysctl -p

Étape 3 :Installer le serveur OpenVPN

apt-get install openvpn -y

Une fois l'installation terminée, vous pouvez passer à l'étape suivante.

Étape 4 :Créez l'autorité de certification

Pour configurer l'autorité de certification et l'infrastructure PKI, vous devrez télécharger EasyRSA dans votre système. Vous pouvez le télécharger avec la commande suivante :

wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz

Une fois téléchargé, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf EasyRSA-unix-v3.0.6.tgz

Ensuite, déplacez le répertoire extrait vers /etc/openvpn/ avec la commande suivante :

mv EasyRSA-v3.0.6 /etc/openvpn/easy-rsa

Ensuite, changez le répertoire en /etc/openvpn/easy-rsa et créez un fichier de configuration EasyRSA :

cd /etc/openvpn/easy-rsanano vars

Ajoutez les lignes suivantes, y compris votre pays, votre ville et votre adresse e-mail préférée :

set_var EASYRSA                 "$PWD"set_var EASYRSA_PKI             "$EASYRSA/pki"set_var EASYRSA_DN              "cn_only"set_var EASYRSA_REQ_COUNTRY     "INDIA"set_var EASYRSA_REQ_PROVINCE    "Gujarat"set_var EASYRSA_REQ_CITY        "Junagadh"set_var EASYRSA_REQ_ORG         "Atlantic CERTIFICATE AUTHORITY"set_var EASYRSA_REQ_EMAIL     "example@unixlinux .online"set_var EASYRSA_REQ_OU          "Atlantic EASY CA"set_var EASYRSA_KEY_SIZE        2048set_var EASYRSA_ALGO            rsaset_var EASYRSA_CA_EXPIRE      7500set_var EASYRSA_CERT_EXPIRE     365set_var EASYRSA_NS_SUPPORT  "no"set_var EASYRSA_NS_COMMENT            "Atlantic CERTIFICATE AUTHORITY"set_var EASYRSA_EXT_DIR         "$EASYRSA/x509-types"set_var EASYRSA_SSL_CONF        "$EASYRSA/openssl-easyrsa. cnf"set_var EASYRSA_DIGEST          "sha256"

Enregistrez le fichier lorsque vous avez terminé.

Ensuite, lancez le répertoire PKI à l'aide de la commande suivante :

./easyrsa init-pki

Vous devriez obtenir le résultat suivant :

Remarque :utilisation de la configuration Easy-RSA à partir de :./varsinit-pki complete ; vous pouvez maintenant créer une autorité de certification ou des requêtes.Votre répertoire PKI nouvellement créé est :/etc/openvpn/easy-rsa/pki

Ensuite, créez les certificats CA avec la commande suivante :

./easyrsa build-ca

Vous devriez obtenir le résultat suivant :

Remarque :Utilisation de la configuration Easy-RSA à partir de :./varsUtilisation de SSL :openssl OpenSSL 1.1.1f 31 mars 2020 Entrez la nouvelle phrase secrète de la clé CA :Saisissez à nouveau la phrase secrète de la nouvelle clé CA :Génération de la clé privée RSA, module long de 2 048 bits (2 nombres premiers ).................................................. .................................................. ..++++++............................................ .......+++++e est 65537 (0x010001) Impossible de charger /etc/openvpn/easy-rsa/pki/.rnd dans RNG139636302492992 :erreur :2406F079 :générateur de nombres aléatoires :RAND_load_file :impossible d'ouvrir file:../crypto/rand/randfile.c:98:Filename=/etc/openvpn/easy-rsa/pki/.rndVous êtes sur le point d'être invité à saisir des informations qui seront intégrées à votre demande de certificat.De quoi s'agit-il entrer est ce qu'on appelle un nom distinctif ou un DN. Il y a pas mal de champs mais vous pouvez laisser des champs vides. ----Nom commun (par exemple :votre nom d'utilisateur, d'hôte ou de serveur) [Easy-RSA CA] :La création de l'AC est terminée et vous pouvez maintenant importer et signer des demandes de certificat. 

La commande ci-dessus générera deux fichiers nommés ca.key et ca.crt. Ces certificats seront utilisés pour signer les certificats de votre serveur et de vos clients.

Étape 5 :Créer des fichiers de certificat de serveur

Ensuite, vous devrez générer une paire de clés et une demande de certificat pour votre serveur.

Exécutez la commande suivante pour générer la clé de serveur nommée atlantic-server :

./easyrsa gen-req atlantic-server nopass

Vous devriez voir le résultat suivant :

Remarque :Utilisation de la configuration Easy-RSA à partir de :./varsUtilisation de SSL :openssl OpenSSL 1.1.1f 31 mars 2020Génération d'une clé privée RSA......... ........+++++...+++++écrire une nouvelle clé privée dans '/etc/openvpn/easy-rsa/pki/private/atlantic-server.key.IMonKybM0y'-- ---Vous êtes sur le point d'être invité à entrer des informations qui seront incorporées dans votre demande de certificat. Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinctif ou un DN. champs il y aura une valeur par défaut, si vous entrez '.', le champ sera laissé vide.-----Nom commun (par exemple :votre nom d'utilisateur, d'hôte ou de serveur) [atlantic-server] :paire de clés et certificat demande complétée. Vos fichiers sont :req :/etc/openvpn/easy-rsa/pki/reqs/atlantic-server.reqkey :/etc/openvpn/easy-rsa/pki/private/atlantic-server.key

Cela générera une clé privée et un fichier de demande de certificat pour le serveur.

Étape 6 :Signez la clé du serveur à l'aide de l'autorité de certification

Ensuite, vous devrez signer la clé atlantic-server à l'aide de votre certificat CA :

Vous pouvez signer la clé du serveur à l'aide de la commande suivante :

./easyrsa sign-req server atlantic-server

Vous devriez voir le résultat suivant :

Remarque :Utilisation de la configuration Easy-RSA à partir de :./varsUtilisation de SSL :openssl OpenSSL 1.1.1f 31 mars 2020Vous êtes sur le point de signer le certificat suivant.Veuillez vérifier l'exactitude des informations ci-dessous. Notez que cette demande n'a pas été vérifiée cryptographiquement. Assurez-vous qu'il provient d'une source fiable ou que vous avez vérifié la somme de contrôle de la demande auprès de l'expéditeur.Objet de la demande, à signer en tant que certificat de serveur pendant 365 jours :subject=commonName                =atlantic-serverTapez le mot « oui » pour continuer, ou toute autre entrée pour abandonner.Confirmer les détails de la demande :ouiUtilisation de la configuration depuis /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnfEntrer la phrase de passe pour /etc/openvpn/easy-rsa/pki/private/ca.key :Vérifier que la demande corresponde à la signatureSignature okLe nom distinctif du sujet est le suivantCommunName            :ASN.1 12 :        Certificat mis à jour de base créé à :/etc/openvpn/easy-rsa/pki/issued/atlantic-server.crt

Ensuite, vérifiez le fichier de certificat généré avec la commande suivante :

openssl verify -CAfile pki/ca.crt pki/issued/atlantic-server.crt

Vous devriez obtenir le résultat suivant :

pki/issued/atlantic-server.crt :OK

Ensuite, exécutez la commande suivante pour générer une clé Diffie-Hellman forte à utiliser pour l'échange de clés :

./easyrsa gen-dh

Vous devriez obtenir le résultat suivant :

Remarque :Utilisation de la configuration Easy-RSA à partir de :./varsUtilisation de SSL :openssl OpenSSL 1.1.1f 31 mars 2020Génération des paramètres DH, amorce sécurisée de 2048 bits, générateur 2Cela va prendre beaucoup de temps...... ...............+...........................+...... ......................................Paramètres DH de taille 2048 créés dans /etc/openvpn/ easy-rsa/pki/dh.pem

Après avoir créé tous les fichiers de certificat, copiez-les dans le répertoire /etc/openvpn/server/ :

cp pki/ca.crt /etc/openvpn/server/cp pki/dh.pem /etc/openvpn/server/cp pki/private/atlantic-server.key /etc/openvpn/server/cp pki/issued /atlantic-server.crt /etc/openvpn/server/

Étape 7 :Générer un certificat client et un fichier de clé

Ensuite, vous devrez créer la clé et le fichier de certificat pour le client.

Tout d'abord, exécutez la commande suivante pour créer le fichier de clé client :

./easyrsa gen-req client nopass

Vous devriez obtenir le résultat suivant :

Remarque :Utilisation de la configuration Easy-RSA à partir de :./varsUtilisation de SSL :openssl OpenSSL 1.1.1f  31 mars 2020Génération d'une clé privée RSA...+++++........+++++ écrire une nouvelle clé privée dans '/etc/openvpn/easy-rsa/pki/private/client.key.JmBal6cmr8'-----Vous êtes sur le point d'être invité à entrer des informations qui seront incorporées dans votre demande de certificat.Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinctif ou un DN. ----Nom commun (par exemple :votre nom d'utilisateur, d'hôte ou de serveur) [client] :la demande de paire de clés et de certificat est terminée. Vos fichiers sont :req :/etc/openvpn/easy-rsa/pki/reqs/client.reqkey :/etc/openvpn/easy-rsa/pki/private/client.key

Ensuite, signez la clé client à l'aide de votre certificat CA :

./easyrsa sign-req client client

Vous devriez obtenir le résultat suivant :

Remarque :Utilisation de la configuration Easy-RSA à partir de :./varsUtilisation de SSL :openssl OpenSSL 1.1.1f 31 mars 2020Vous êtes sur le point de signer le certificat suivant.Veuillez vérifier l'exactitude des informations ci-dessous. Notez que cette demande n'a pas été vérifiée cryptographiquement. Assurez-vous qu'il provient d'une source fiable ou que vous avez vérifié la somme de contrôle de la demande auprès de l'expéditeur.Objet de la demande, à signer en tant que certificat client pendant 365 jours :subject=commonName                =clientTapez le mot "oui" pour continuer, ou tout autre saisie pour abandonner.Confirmer les détails de la demande :ouiUtilisation de la configuration depuis /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnfEntrez la phrase de passe pour /etc/openvpn/easy-rsa/pki/private/ca.key :Vérifiez que la demande correspond à la signatureSignature okLe nom distinctif du sujet est le suivantCommunName            :ASN.1 12 :'client'Le certificat doit être certifié jusqu'au 29 juin 11:46:58 2021 GMT (365 jours)Écrire la base de données avec 1 nouvelles entréesBase de données mise à jourCertificat créé à :/etc/openvpn/easy-rsa/pki/issued/client.crt

Ensuite, copiez tous les certificats clients et les fichiers de clé dans le répertoire /etc/openvpn/client/ :

cp pki/ca.crt /etc/openvpn/client/cp pki/issued/client.crt /etc/openvpn/client/cp pki/private/client.key /etc/openvpn/client/

Étape 8 :Configurer le serveur OpenVPN

À ce stade, tous les certificats et fichiers de clés sont prêts. Ensuite, créez un nouveau fichier de configuration OpenVPN dans le répertoire /etc/openvpn/ :

nano /etc/openvpn/server.conf

Ajoutez les lignes suivantes selon votre certificat et votre chemin de clé :

port 1194proto udpdev tunca /etc/openvpn/server/ca.crtcert /etc/openvpn/server/atlantic-server.crtkey /etc/openvpn/server/atlantic-server.keydh /etc/openvpn/server/dh. pemserver 10.8.0.0 255.255.255.0push "redirect-gateway def1" push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"duplicata-cncipher AES-256-CBCtls-version-min 1.2tls-cipher TLS-DHE-RSA-AVEC-AES-256-GCM-SHA384 :TLS-DHE-RSA-AVEC-AES-256-CBC-SHA256 :TLS-DHE-RSA-AVEC-AES-128-GCM-SHA256 :TLS- DHE-RSA-WITH-AES-128-CBC-SHA256auth SHA512auth-nocachekeepalive 20 60persist-keypersist-tuncompress lz4daemonuser nobodygroup nogrouplog-append /var/log/openvpn.logverb 3

Enregistrez le fichier lorsque vous avez terminé, puis démarrez le service OpenVPN et autorisez-le à démarrer après le redémarrage du système à l'aide de la commande suivante :

systemctl start [email protected] enable [email protected]

Exécutez la commande suivante pour vérifier l'état du service OpenVPN :

exemple d'état [email protected]

Vous devriez obtenir le résultat suivant :

Chargé :chargé (/lib/systemd/system/[email protected] ; désactivé ; préréglage du fournisseur :activé)Actif :actif (en cours d'exécution) depuis le lundi 2020-06-29 11:48:25 UTC ; 7s agoDocs :man:openvpn(8)https://community.openvpn.net/openvpn/wiki/Openvpn24ManPagehttps://community.openvpn.net/openvpn/wiki/HOWTOMain PID :2868 (openvpn)Status :"Séquence d'initialisation terminée "Tâches :1 (limite :2353)Mémoire :2.0MCGroup :/system.slice/system-openvpn.slice/[email protected]└─2868 /usr/sbin/openvpn --daemon ovpn-server --status /run /openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --conf>29 juin 11:48:25 vpnserver systemd[1] :Démarrage de la connexion OpenVPN au serveur...29 juin 11:48 :25 vpnserver systemd[1] :Démarrage de la connexion OpenVPN au serveur.

Une fois que le service OpenVPN a démarré avec succès, il créera une nouvelle interface réseau nommée tun0. Vous pouvez le vérifier avec la commande suivante :

ip une émission tun0

Vous devriez obtenir la nouvelle interface tun0 dans la sortie suivante :

4 :tun0 : mtu 1500 qdisc fq_codel état UNKNOWN groupe par défaut qlen 100link/noneinet 10.8.0.1 peer 10.8.0.2/32 scope global tun0valid_lft pour toujours prefered_lft foreverinet6 fe80::5f83 :99a:30d:eb0/64 lien de portée stable-privacyvalid_lft pour toujours prefer_lft pour toujours

Étape 9 :Créer un fichier de configuration client

Ensuite, vous devrez créer un fichier de configuration client OpenVPN nommé client.ovpn. Vous aurez besoin de ce fichier pour connecter votre serveur OpenVPN à partir du système client.

nano /etc/openvpn/client/client.ovpn

Ajoutez les lignes suivantes :

clientdev tunproto udpremote your-vpn-server-ip 1194ca ca.crtcert client.crtkey client.keycipher AES-256-CBCauth SHA512auth-nocachetls-version-min 1.2tls-cipher TLS-DHE-RSA-WITH-AES-256 -GCM-SHA384 :TLS-DHE-RSA-AVEC-AES-256-CBC-SHA256 :TLS-DHE-RSA-AVEC-AES-128-GCM-SHA256 :TLS-DHE-RSA-AVEC-AES-128-CBC -SHA256resolv-retry infinicompress lz4nobindpersist-keypersist-tunmute-replay-warningsverb 3

Enregistrez le fichier lorsque vous avez terminé.

Étape 10 :Installer et configurer le client OpenVPN

Ensuite, vous devrez installer OpenVPN sur le système client et vous connecter au serveur OpenVPN.

Tout d'abord, connectez-vous à la machine cliente et installez le package OpenVPN avec la commande suivante :

apt-get install openvpn -y

Ensuite, vous devrez copier les fichiers de configuration du client OpenVPN du serveur OpenVPN vers la machine cliente.

Sur la machine cliente, exécutez la commande suivante pour télécharger tous les fichiers de configuration client :

scp -r [email protected]:/etc/openvpn/client .

Une fois tous les fichiers copiés, changez le répertoire vers le client et exécutez la commande suivante pour vous connecter au serveur OpenVPN :

cd clientopenvpn --config client.ovpn

Une fois que vous êtes connecté au serveur OpenVPN, vous devriez voir la sortie suivante :

Juin 29 11:48:27 2020 TCP/UDP :Préservation de l'adresse distante récemment utilisée :[AF_INET]69.87.218.145:1194Juin 29 11:48:27 2020 Socket Buffers :R=[212992->212992] S=[ 212992->212992]Juin 29 11:48:27 2020 Lien UDP local :(non lié)Juin 29 11:48:27 2020 Lien UDP distant :[AF_INET]69.87.218.145:1194Juin 29 11:48:27 2020 TLS :Paquet initial de [AF_INET]69.87.218.145:1194, sid=6d27e1cb 524bd8cdJun 29 11:48:27 2020 VERIFY OK :depth=1, CN=Easy-RSA CAJun 29 11:48:27 2020 VERIFY OK :depth=0, CN=atlantic-serverJun 29 11:48:27 2020 Control Channel :TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 bit RSAJun 29 11:48:27 2020 [atlantic-server] Peer Connection Initiated with [AF_INET]69.87.218.145 :1194Jun 29 11:48:27 2020 SENT CONTROL [atlantic-server] :'PUSH_REQUEST' (status=1)Jun 29 11:48:27 2020 PUSH :message de contrôle reçu :'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.67.222.222, dhcp-option DNS 208.67.220.220, route 10.8.0.1, topologie net30, ping 20, ping-restart 60, ifconfig 10.8.0.6 10.8.0 .5,peer-id 0,cipher AES-256-GCM'Jun 29 11:48:27 2020 OPTIONS IMPORT:timers and/or timeouts modifiedJuin 29 11:48:27 2020 OPTIONS IMPORT:--ifconfig/up options modifiedJun 29 11:48:27 IMPORT OPTIONS 2020 :options de parcours modifiées

Après une connexion réussie, OpenVPN attribuera une adresse IP à votre système. Vous pouvez le vérifier avec la commande suivante :

ip une émission tun0

Sortie :

4 :tun0 : mtu 1500 qdisc fq_codel état UNKNOWN groupe par défaut qlen 100link/noneinet 10.8.0.6 peer 10.8.0.5/32 scope global tun0valid_lft pour toujours prefered_lft foreverinet6 fe80::7226 :57b1:f101:313b/64 lien de portée stable-privacyvalid_lft pour toujours prefer_lft pour toujours

Vous pouvez également consulter le journal du serveur OpenVPN pour vérifier l'état de la connexion à l'aide de la commande suivante :

tail -f /var/log/openvpn.log

Conclusion

Toutes nos félicitations! Vous avez configuré avec succès un serveur VPN avec OpenVPN sur un VPS Ubuntu 20.04. Vous pouvez désormais accéder à Internet en toute sécurité et protéger votre identité, votre emplacement et votre trafic. Visitez la documentation officielle d'OpenVPN pour plus d'informations.


Linux
  1. Comment installer et configurer le serveur d'accès OpenVPN

  2. Comment installer et configurer un serveur NFS sur Ubuntu 20.04

  3. Comment installer et configurer OpenVPN Server sur Debian 10

  4. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  5. Comment installer et configurer le serveur Redis dans Ubuntu

Comment installer et utiliser pgAdmin sur Ubuntu 18.04

Comment installer et configurer Parse Server sur Ubuntu 20.04

Comment installer et configurer Elasticsearch sur Ubuntu 20.04

Comment installer et configurer Nextcloud sur Ubuntu 20.04

Comment installer et configurer un serveur TeamSpeak sur Ubuntu 18.04

Comment installer et configurer un serveur Minecraft sur Ubuntu 18.04