Centos 7 : Installer son serveur OpenVPN

De TechWik
Révision datée du 18 mai 2018 à 15:25 par Toine (discussion | contributions) (Page créée avec « = Installer et configurer openvpn-as = Télécharger le rpm openvpn-as depuis https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html $ sudo yum instal... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Installer et configurer openvpn-as

Télécharger le rpm openvpn-as depuis https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html

 $ sudo yum install ~/openvpn-as-2.5.2-CentOS7.x86_64.rpm

A la fin de l'installation du rpm, openvpn_as est installé dans /usr/local/openvpn_as/, et le fichier /usr/local/openvpn_as/init.log précise en fin de fichier les URL utilisables pour accéder au WEBGUI d'administration pour continuer l'installation, par exemple:

 During normal operation, OpenVPN AS can be accessed via these URLs:
 Admin  UI: https://192.168.40.3:943/admin
 Client UI: https://192.168.40.3:943/

Avant d'y accéder, créer un mot de passe pour le compte openvpn:

 $ sudo passwd openvpn

Lancer le WEBGUI dans le navigateur, et utiliser le compte openvpn pour s'y connecter, puis:

  • accepter la license
  • dans la page principale, configurer les différentes sections (dont certificats: voir aussi ci-dessous pour réutiliser des certificats letsencrypt déjà présents sur le serveur)
  • ajouter (éventuellement) un utilisateur sous linux pour créer un compte dédié au profil d'accès vpn, inutile d'y associer un mot de passe sous Linux
 $ sudo useradd uservpn1
  • déclarer ce compte dans la section "User Permissions" du WEBGUI admin, et configurer son mot de passe et autres paramètres.

A ce stade, l'utilisateur créé peut se connecter au WEBGUI du serveur (ex: https://192.168.40.3:943/), pour y trouver:

  • le lien vers client correspondant à son OS
  • le profil de connexion à utiliser avec le client (lien "Yourself (user-locked profile)" sous "Connection Profiles", et commencer à se connecter au VPN.

Configurer openvpn-as pour utiliser les certificats letsencrypt

Comme cette opération est à répéter à chaque mise à jour des certificats, créer le script /usr/local/openvpn_as/scripts/update_certifs_letsencrypt.sh avec le contenu ci-dessous (en mettant les chemins /etc/letsencrypt/live/mon-domaine.net en conformité avec le nom de domaine utilisé), et autoriser son exécution par sudo.

 #!/bin/sh
 if [ "$(id -un)" = "root" ]; then
   systemctl stop openvpnas.service
   /usr/local/openvpn_as/scripts/confdba -mk cs.ca_bundle -v "`cat /etc/letsencrypt/live/mon-domaine.net/fullchain.pem`"
   /usr/local/openvpn_as/scripts/confdba -mk cs.priv_key -v "`cat /etc/letsencrypt/live/mon-domaine.net/privkey.pem`" > /dev/null
   /usr/local/openvpn_as/scripts/confdba -mk cs.cert -v "`cat /etc/letsencrypt/live/mon-domaine.net/cert.pem`"
   systemctl start openvpnas.service
 else
   sudo $0
 fi

Ensuite lors d'un renouvellement du certificat, $ sudo certbot renew $ /usr/local/openvpn_as/scripts/update_certifs_letsencrypt.sh