Un "réseau privé virtuel" VPN est un réseau privé qui cache l'identité, l'origine et les données de l'utilisateur à l'aide d'un cryptage. Son utilisation principale est la confidentialité des données de l'utilisateur et la connexion sécurisée à Internet. Comme il cache des données, il vous permet d'accéder à des données généralement bloquées par des restrictions géographiques.
OpenVPN est un logiciel VPN open source qui est à la fois un logiciel et un protocole en soi. Il est très apprécié car il continue de contourner les pare-feu.
Ce tutoriel vous montrera étape par étape comment installer et configurer un serveur OpenVPN et le connecter au client OpenVPN. Nous utiliserons un serveur CentOS 8 pour l'installation, la même procédure fonctionnera également sur Rocky Linux 8 et AlmaLinux 8.
Prérequis
Accès au terminal
Un compte utilisateur avec des privilèges sudo.
Remarque : Les commandes de ce tutoriel sont exécutées sur CentOS 8. Toutes les méthodes du tutoriel sont également valables pour CentOS 7.
Système de mise à jour et de mise à niveau
Assurez-vous que votre système est à jour en mettant à jour et en mettant à niveau votre système en exécutant la commande suivante.
mise à jour sudo dnf &&mise à jour sudo dnf
Désactiver SELinux
Ensuite, vous devez désactiver SELinux car il entre en conflit avec OpenVPN et l'empêche de se lancer.
Pour désactiver SELinux, ouvrez le fichier de configuration SELinux à l'aide de la commande suivante.
sudo nano /etc/selinux/config
Une fois le fichier ouvert avec l'éditeur nano. Recherchez le SELinux et changez sa valeur en désactivé ou remplacez-le simplement par la ligne de code suivante.
SELINUX=désactivé
Appuyez sur Ctrl+O puis sur Ctrl+X pour enregistrer et quitter le fichier.
Activer le transfert IP
Maintenant, vous devez activer le transfert IP afin que les paquets entrants puissent être transférés vers différents réseaux.
Pour activer le transfert IP, ouvrez le fichier de configuration sysctl avec l'éditeur nano.
sudo nano /etc/sysctl.conf
Ajoutez le code suivant au fichier.
net.ipv4.ip_forward =1
Appuyez sur Ctrl+O puis sur Ctrl+X.
Installer le serveur OpenVPN
Assurez-vous d'installer le package epel-release.
sudo dnf install epel-release -y
Maintenant, vous pouvez installer OpenVPN en utilisant la commande suivante.
sudo dnf installer openvpn -y
Maintenant qu'OpenVPN est installé. Accédez à son dossier d'installation et téléchargez easy-rsa. Easy-RSA construit et gère les autorités de certification (CA).
cd /etc/openvpn
sudo wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz
Extrayez le fichier zip téléchargé.
sudo tar -xvzf EasyRSA-unix-v3.0.6.tgz
Et déplacez le fichier EasyRSA dans son dossier.
sudo mv EasyRSA-v3.0.6 easy-rsa
Configurer Easy-RSA
Ensuite, nous devons ajouter et créer un certificat SSL. Pour ce faire, accédez d'abord au répertoire easy-rsa.
cd /etc/openvpn/easy-rsa
Pour ouvrir le fichier vars dans l'éditeur nano, exécutez la commande suivante.
sudo nano vars
Maintenant, copiez et collez les lignes de code suivantes dans le fichier vars.
set_var EASYRSA "$ PWD" set_var EASYRSA_PKI "EASYRSA $ / pki" set_var EASYRSA_DN "cn_only" EASYRSA_REQ_COUNTRY set_var "USA" EASYRSA_REQ_PROVINCE set_var "Newyork" EASYRSA_REQ_CITY set_var "Newyork" set_var EASYRSA_REQ_ORG "osradar Autorité chargée" set_var EASYRSA_REQ_EMAIL "" set_var EASYRSA_REQ_OU "osradar FACILE 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 "non" de EASYRSA_NS_COMMENT set_var "osradar Autorité chargée" set_var EASYRSA_EXT_DIR "$ EASYRSA / x509-types" EASYRSA_SSL_CONF set_var "$ EASYRSA / OpenSSL-easyrsa.cnf" EASYRSA_DIGEST set_var " sha256"
Vous pouvez modifier la valeur du pays, de la ville, de la province et de l'e-mail en fonction de vos besoins.
Appuyez sur Ctrl+O puis sur Ctrl+X.
Maintenant, lancez le répertoire PKI avec la commande suivante.
./easyrsa init-pki
Enfin, vous pouvez créer votre certificat CA.
sudo ./easyrsa build-ca
Générer des fichiers de certificat de serveur
Utilisez la commande suivante pour obtenir votre paire de clés et votre demande de certificat.
sudo ./easyrsa gen-req vitux-server nopass
Signer la clé du serveur avec l'autorité de certification
Pour signer votre clé de serveur avec l'autorité de certification, exécutez la commande suivante.
sudo ./easyrsa sign-req server vitux-server
Nous avons besoin de la clé Diffie-Hellman à des fins d'échange de clés. Générez la clé en exécutant la commande suivante.
sudo ./easyrsa gen-dh
Ensuite, copiez tous ces fichiers dans le dossier /etc/openvpn/server/ répertoire.
cp pki/ca.crt /etc/openvpn/server/cp pki/dh.pem /etc/openvpn/server/cp pki/private/vitux-server.key /etc/openvpn/server/cp pki/issued /vitux-server.crt /etc/openvpn/server/Générer la clé client et le certificat
Vous pouvez obtenir la clé client en exécutant la commande suivante.
sudo ./easyrsa gen-req client nopass
Ensuite, signez votre clé client avec le certificat CA généré.
sudo ./easyrsa sign-req client client
Copiez ces fichiers dans /etc/openvpn/client/ répertoire
cp pki/ca.crt /etc/openvpn/client/cp pki/issued/client.crt /etc/openvpn/client/cp pki/private/client.key /etc/openvpn/client/
Configurer le serveur OpenVPN
Créez et ouvrez un nouveau fichier de configuration dans le répertoire client avec la commande suivante.
sudo nano /etc/openvpn/server/server.conf
Ajoutez ensuite les lignes de code suivantes dans le fichier.
port 1194proto udpdev tunca /etc/openvpn/server/ca.crtcert /etc/openvpn/server/vitux-server.crtkey /etc/openvpn/server/vitux-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 personslog-append /var/log/openvpn.logverb 3Appuyez sur Ctrl+O et Ctrl+X.
Démarrer et activer le service OpenVPN
Votre OpenVPN est prêt à être lancé. Démarrez et activez le serveur à l'aide des commandes suivantes.
sudo systemctl start [email protected]sudo systemctl enable [email protected]
Vous pouvez voir et vérifier l'état actif avec la commande suivante.
statut systemctl [protégé par e-mail]
Une nouvelle interface réseau sera créée au démarrage réussi du serveur OpenVPN. Exécutez la commande suivante pour voir les détails.
ifconfig
Générer le fichier de configuration client
L'étape suivante consiste à connecter le client au serveur OpenVPN. Nous avons besoin du fichier de configuration client pour cela. Pour générer le fichier de configuration client, exécutez la commande suivante.
sudo nano /etc/openvpn/client/client.ovpn
Maintenant, copiez et collez le code suivant dans le fichier.
clientdev tunproto udpremote 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-SHA256résolv -réessayez Infinitycompress lz4nobindpersist-keypersist-tunmute-replay-warningsverb 3
Appuyez sur Ctrl+O pour enregistrer les modifications et appuyez sur Ctrl+X pour quitter l'éditeur.
Configurer le routage
Définissez les paramètres du service OpenVPN avec les commandes suivantes pour lui permettre de traverser le pare-feu.
firewall-cmd --permanent --add-service=openvpnfirewall-cmd --permanent --zone=trusted --add-service=openvpnfirewall-cmd --permanent --zone=trusted --add-interface=tun0
firewall-cmd --add-masqueradefirewall-cmd --permanent --add-masquerade
Définissez le routage pour transférer le trafic entrant du VPN vers le réseau local.
routecnf=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}')firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $routecnf -j MASQUERADEActualisez pour appliquer les modifications.
firewall-cmd --reload
Installer et utiliser OpenVPN sur la machine cliente
Vous devez installer epel-release et OpenVPN comme vous l'avez fait côté serveur.
dnf install epel-release -ydnf install openvpn -y
Copiez maintenant les fichiers de configuration du client à partir du serveur à l'aide de la commande ci-dessous.
sudo scp -r [protégé par e-mail] :/etc/openvpn/client .
Accédez au répertoire client et connectez-vous au serveur OpenVPN à l'aide des commandes suivantes.
cd clientopenvpn --config client.ovpn
Exécutez ifconfig pour voir l'adresse IP attribuée.
ifconfig tun0