OpenVPN

Par ce salop de FanfanlaTulipe, avec les conseils de ce salop de Kuro

VPN SSL/TLS avec OpenVPN

Installation

Toutes les commandes concernant l'installation et la configuration du serveur OpenVPN seront faites sous Debian pour ce guide.

Nous utiliserons un script d'installation pour la génération du la configuration et l'installation des paquets :

wget https://git.io/vpn -O openvpn-install.sh   # Vous pouvez ouvrir le fichier pour vérifier son contenu.
sudo bash openvpn-install.sh

Le script installation va se dérouler. Nous ne ferrons que des recommandations concernant la configuration (les recommandations sont précédées d'un #) :

Welcome to this OpenVPN road warrior installer!

Which protocol should OpenVPN use?
   1) UDP (recommended)
   2) TCP
Protocol [1]: 1
# La plupart des VPN fonctionnent avec UDP, c'est plus rapide.

What port should OpenVPN listen to?
Port [1194]:
# On laisse le port par défaut, nous protègerons nos connexions avec des clés RSA.

Select a DNS server for the clients:
   1) Current system resolvers
   2) Google
   3) 1.1.1.1
   4) OpenDNS
   5) Quad9
   6) AdGuard
DNS server [1]: 3
# Simple choix personnel

Enter a name for the first client:
Name [client]: saloperie

OpenVPN installation is ready to begin.

...

Le script a créé le serveur, sa configuration (ainsi que toute la PKI et les règles iptables) et a lancé le service (gestion des services visibles ici).

Le script a également généré un fichier de configuration pour le premier utilisateur, ici saloperie. Le fichier se trouve normalement dans /root sous le nom saloperie.ovpn. Cependant, pour le trouver, faites :

sudo find / -type f -name "*.ovpn"

Vous pouvez maintenant extraire le fichier (avec scp par exemple) et le mettre sur votre machine cliente.

Ajout et Suppression de client

Pour créer/supprimer un client, relancer le script en tant que root et il vous donnera la possibilité de :

  • Créer un nouveau client
  • Supprimer un client existant
  • Désinstaller OpenVPN

GitHub à la base ce script

Client OpenVPN sous Linux

Les manipulations concernant le client seront faite sous Arch Linux.

Tout d'abord, il est nécessaire d'installer OpenVPN :

yay -S openvpn

Dans le cas d'Arch Linux et si vous utilisez NetworkManager, il est conseillé d'installer le paquet NetworkManager-openvpn

yay -S networkmanager-openvpn

Ensuite, après avoir extrait le fichier de configuration sur votre machine (ici saloperie.ovpn), mettez le dans le répertoire suivant /etc/openvpn/client/ afin de ranger le client correctement.

Tester votre VPN

Vous pouvez ensuite tester votre connexion VPN avec un terminal en entrant :

sudo openvpn --client --config /etc/openvpn/client/saloperie.ovpn

Vous pouvez ensuite allez par exemple sur <myip.wtf> pour voir où Internet pense que vous êtes.

nm-connection-editor

networkmanager-openvpn est requis.

Vous pouvez utiliser votre VPN uniquement avec la ligne de commande donnée plus haut mais il existe des alternatives plus "user-friendly".

nm-connection-editor est une alternative interressante pour NetworkManager. Il permet d'activer/désactiver la connexion en un clic.