Déployer un serveur VPN en 2 min sur Linux

Tut's Linux mai 22, 2020

Au vue du contexte actuel, il peut être plus que nécessaire de déployer un serveur VPN, pour permettre à vos collaborateurs de se connecter à distance. Des solutions VPN, il en existe une dizaine sur le marché des grands leaders, cependant cela peut sembler couteux pour des petites structures. Je vous propose donc deux solutions Open Source (OpenVPN & WireGuard), à déployer rapidement sur Linux > Ubuntu 20.04.

La configuration de certaines solutions VPN Open Source peut paraitre fastidieuse pour des novices. Une version payante de OpenVPN Access Server est disponible, et prend quelques minutes pour l'installer, avec une interface web pour la configuration.

Récemment, je suis tombé sur un script d'installation automatique de OpenVPN. Ce script est sous Licence MIT, et maintenu par Stanislas, développeur français.


OpenVPN

angristan/openvpn-install
Set up your own OpenVPN server on Debian, Ubuntu, Fedora, CentOS or Arch Linux. - angristan/openvpn-install

Récupérez le script OpenVPN Installer (compatible avec Debian, Ubuntu, Fedora, CentOS et Arch Linux) :

wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh

Exécutez le script :

sudo ./openvpn-install.sh

La première fois que vous exécutez le script, un assistant vous guidera durant la configuration d'OpenVPN, avec des paramètres par défaut :

APPROVE_INSTALL=y
APPROVE_IP=y
IPV6_SUPPORT=n
PORT_CHOICE=1
PROTOCOL_CHOICE=1
DNS=1
COMPRESSION_ENABLED=n
CUSTOMIZE_ENC=n
CLIENT=clientname
PASS=1

Une fois l'installation terminée, récupérez le fichier de configuration VPN, et testez votre connexion :

Pour rajouter ou supprimer un client et désinstaller OpenVPN, relancez le script Open VPN Installer.

Bien évidemment, la personnalisation de votre configuration reste possible comme l'authentification, le routage de flux, etc. Voir la documentation officielle OpenVPN.


Wireguard

angristan/wireguard-install
WireGuard VPN installer for Linux servers. Contribute to angristan/wireguard-install development by creating an account on GitHub.

Par ailleurs, j'ai fais aussi la découverte du script pour Wireguard, par le même auteur.

Même procédure que OpenVPN, récupérez le script WireGuard VPN installer, et exécutez-le (compatible Ubuntu, Debian, Fedora, CentOS et Arch Linux) :

wget https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
sudo ./wireguard-install.sh

Confirmez les informations dans l'assistant d'installation. A la fin, vous aurez même droit au QR Code :) de votre fichier de configuration VPN, pour l'utiliser sur smartphone par exemple. Sinon, récupérez le fichier (/root/wg0-client-xxxx.conf), et testez votre connexion VPN :

Voilà. Vous avez réussi à mettre en place un tunnel VPN en moins de 5 min.

Pour générer plus de fichiers clients VPN, ré-exécutez le script suivant :

sudo ./wireguard-install.sh add-client

Vous pouvez personnaliser votre configuration serveur VPN, voir la documentation officiel de WireGuard.

Mots clés

Naoufali

Spécialiste en modernisation numérique dans le secteur public et médico-social, je suis en quête de compétences dans le domaine de la sécurité des systèmes d'information