Recherche de site Web

Accéder à OpenVPN depuis un ordinateur client


Après avoir créé votre propre VPN sous Linux, il est temps de l'utiliser enfin.

OpenVPN crée un tunnel crypté entre deux points, empêchant un tiers d'accéder à votre trafic réseau. En configurant votre serveur de réseau privé virtuel (VPN), vous devenez votre propre fournisseur VPN. De nombreux services VPN populaires utilisent déjà OpenVPN, alors pourquoi lier votre connexion à un fournisseur spécifique alors que vous pouvez avoir un contrôle total vous-même ?

Le premier article de cette série configure un serveur pour votre VPN, le deuxième article montre comment installer et configurer le logiciel serveur OpenVPN, tandis que le troisième article explique comment configurer votre pare-feu et démarrer le logiciel serveur OpenVPN. Ce quatrième et dernier article montre comment utiliser votre serveur OpenVPN à partir d'ordinateurs clients. C’est la raison pour laquelle vous avez fait tout le travail dans les trois articles précédents !

Créer des certificats clients

N'oubliez pas que la méthode d'authentification pour OpenVPN nécessite à la fois que le serveur et le client avoir quelque chose (des certificats) et savoir quelque chose (un mot de passe). Il est temps de mettre cela en place.

Tout d'abord, créez un certificat client et une clé privée pour votre ordinateur client. Sur votre serveur OpenVPN, générez une demande de certificat. Il demande une phrase secrète ; assurez-vous de vous en souvenir :

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
gen-req greglaptop

Dans cet exemple, greglaptop est l'ordinateur client pour lequel ce certificat est créé.

Il n'est pas nécessaire d'importer la demande dans l'autorité de certification (CA), car elle y est déjà. Examinez-le pour vous assurer :

$ cd /etc/openvpn/ca
$ /etc/openvpn/easy-rsa/easyrsa \
show-req greglaptop

Vous pouvez également signer en tant que client :

$ /etc/openvpn/easy-rsa/easyrsa \
sign-req client greglaptop

Installez le logiciel client OpenVPN

Sous Linux, Network Manager peut déjà inclure un client OpenVPN. Sinon, vous pouvez installer le plugin :

$ sudo dnf install NetworkManager-openvpn

Sous Windows, vous devez télécharger et installer le client OpenVPN à partir du site de téléchargement OpenVPN. Lancez le programme d'installation et suivez les invites.

Copier les certificats et les clés privées sur le client

Votre client a désormais besoin des informations d'authentification que vous avez générées pour lui. Vous les avez générés sur le serveur, vous devez donc les transporter vers votre client. J'ai tendance à utiliser SSH pour cela. Sous Linux, il s'agit de la commande scp. Sous Windows, vous pouvez utiliser WinSCP en tant qu'administrateur pour extraire les certificats et les clés.

En supposant que le client s'appelle greglaptop, voici les noms de fichiers et les emplacements des serveurs :

/etc/openvpn/ca/pki/issued/greglaptop.crt
/etc/openvpn/ca/pki/private/greglaptop.key
/etc/openvpn/ca/pki/issued/ca.crt

Sous Linux, copiez-les dans le répertoire /etc/pki/tls/certs/. Sous Windows, copiez-les dans le répertoire C:\Program Files\OpenVPN\config.

Copiez et personnalisez le fichier de configuration client

Sous Linux, vous pouvez soit copier le fichier /etc/openvpn/client/OVPNclient2020.ovpn sur le serveur vers /etc/NetworkManager/system-connections/, soit accédez à Network Manager dans Paramètres système et ajoutez une connexion VPN. 

Pour le type de connexion, sélectionnez Certificats. Pointez Network Manager vers les certificats et les clés que vous avez copiés à partir du serveur.

(Seth Kenlon, CC BY-SA 4.0)

Sous Windows, exécutez WinSCP en tant qu'administrateur pour copier le modèle de configuration client /etc/openvpn/client/OVPNclient2020.ovpn sur le serveur vers C:\Program Files\OpenVPN\config sur le client. Alors:

  • Renommez-le pour qu'il corresponde au certificat ci-dessus.
  • Modifiez les noms du certificat CA, du certificat client et de la clé pour qu'ils correspondent aux noms copiés ci-dessus à partir du serveur.
  • Modifiez les informations IP en fonction de votre réseau.

Vous avez besoin d'autorisations super administratives pour modifier les fichiers de configuration client. Le moyen le plus simple d'obtenir cela pourrait être de lancer une fenêtre CMD en tant qu'administrateur, puis de lancer le Bloc-notes à partir de la fenêtre CMD de l'administrateur pour modifier les fichiers.

Connectez votre client au serveur

Sous Linux, le gestionnaire de réseau affiche votre VPN. Sélectionnez-le pour vous connecter.

(Seth Kenlon, CC BY-SA 4.0)

Sous Windows, démarrez l'interface utilisateur graphique (GUI) OpenVPN. Il produit un graphique dans la barre d'état système Windows sur le côté droit de la barre des tâches, généralement dans le coin inférieur droit de votre bureau Windows. Cliquez avec le bouton droit sur le graphique pour vous connecter, vous déconnecter ou afficher l'état.

Pour la première connexion, modifiez la ligne "remote" de votre fichier de configuration client pour utiliser l'adresse IP interne de votre serveur OpenVPN. Connectez-vous au serveur depuis le réseau de votre bureau en cliquant avec le bouton droit sur l'interface graphique OpenVPN dans la barre d'état système Windows et en cliquant sur Connecter. Déboguez cette connexion. Cela devrait détecter et résoudre les problèmes sans qu'aucun problème de pare-feu ne gêne, car le client et le serveur se trouvent du même côté du pare-feu.

Ensuite, modifiez la ligne "remote" de votre fichier de configuration client pour utiliser l'adresse IP publique de votre serveur OpenVPN. Amenez le client Windows à un réseau extérieur et connectez-vous. Déboguez tous les problèmes.

Connectez-vous en toute sécurité

Toutes nos félicitations! Vous disposez d'un réseau OpenVPN prêt pour vos autres systèmes clients. Répétez les étapes de configuration pour le reste de vos clients. Vous pouvez même utiliser Ansible pour distribuer des certificats et des clés et les maintenir à jour. 

Cet article est basé sur le blog de D. Greg Scott et est réutilisé avec autorisation.

Articles connexes: