Centos 7 : Client OpenVPN (CLI et NetworkManager avec KDE et Gnome3)
Cet article propose d'utiliser un profil openvpn (obtenu depuis son server OpenVPN-AccessServer ou fournisseur de VPN)
Sommaire
Installation des paquets
Les paquets nécessaires sont dans le dépôt EPEL 7
- Le paquet openvpn permet de lancer une connexion VPN en mode commande.
- Le paquet kde-plasma-networkmanagement-openvpn (+ dépendance NetworkManager-openvpn) permet de configurer et démarrer une connexion VPN depuis le gestionnaire de connexions.
$ sudo yum -y install openvpn kde-plasma-networkmanagement-openvpn
Connexion en mode ligne de commande avec openvpn
le client openvpn permet de lancer manuellement une connexion VPN.
$ sudo openvpn --config client_ovhvps.ovpn
Par défaut, le fichier de configuration contient une directive
auth-user-pass
Dans ce cas, le client demandera les informations d'authentification à chaque appel. On peut mémoriser ces informations dans un fichier sous la forme:
moncomptevpn monmotdepasse
Il suffit de préciser le chemin de ce fichier après la directive auth-user-pass, par exemple:
auth-user-pass /home/moncompte/.ovpn/pass.vpnxxx
Attention évidemment aux permissions d'accès au répertoire .ovpn...
Connexion depuis le gestionnaire de connexions KDE
Pour configurer la connexion dans le gestionnaire de connexions KDE, il faut extraire du fichier .ovpn les certificats et clefs. Par exemple, on va les stocker dans ~/.ovpn/ :
vpnxxx_ca.crt vpnxxx_cert.crt vpnxxx.key vpnxxx_tlsauth.key
Pour ce faire, il faut extraire vers vpnxxx_ca.crt le certificat contenu entre les balises <ca>...</ca>, vers vpnxxx_cert.crt le certificat contenu entre les balises <cert>...</cert>," vers vpnxxx_tlsauth.crt le certificat contenu entre les balises <tls-auth>...</tls-auth>, et vers vpnxxx.key le certificat contenu entre les balises <key>...</key>.
Ensuite, dans l'onglet VPN du gestionnaire de connexions, effectuer "import", et sélectionner le fichier .ovpn. A ce stade, l'extension kde-openvpn a pris en compte une partie des infos venant du fichier .ovpn.
Il faut configurer certificats, nom et mot de passe dans l'onglet "Parametres requis":
Et dans l'onglet "Paramètres TLS optionnels", ajouter la clef d'authentification pour la connexion TLS.
Enregistrer les modifications, et activer la connexion.
Connexion depuis le gestionnaire de connexions Gnome
Pour utiliser le profil de connexion OpenVPN avec le bureau Gnome, vérifier que les paquets NetworkManager-openconnect-gnome et NetworkManager-openvpn-gnome sont installés.
Ensuite:
- Ouvrir l'outil de paramètres, section 'Réseau'
- Ajouter une connexion, et choisir 'Importer depuis un fichier'
- Sélectionner le fichier .ovpn : il est pris en charge complètement par le plugin NetworkManager-openvpn-gnome,
- il reste juste à préciser le compte utilisateur et mot de passe dans la section 'Identité' de la connexion. Attention: pour le champ mot de passe, il faut cocher la petite icône à droite et choisir 'stocker pour tous les utilisateurs' (indépendamment du choix d'autoriser la connexion aux autres utilisateurs), à défaut de cela, la connexion échoue avec le message suivant dans syslog: "Failed to request VPN secrets #3: No agents were available for this request."
Network Manager : désactiver IPv6 lors de la connexion à un VPN
Bien que supporté par openVPN (cf cet article), le support de l'IPv6 ne semble pas se faire sur import d'un profil de openVPN-AS. Si l'IPv6 n'est pas strictement requis, on peut le désactiver automatiquement lors du démarrage d'un VPN avec un script dispatcheur de NetworkManager:
Créer le fichier /etc/NetworkManager/dispatcher.d/99-vpn-ipv6-switch contenant :
#!/bin/sh
# dispatch evenements NetworkManager
# (des)activation ipv6 sur evt vpn-up/vpn-down
#
INTERFACE="$1"
ACTION="$2"
case $ACTION in
vpn-up)
sysctl -w net.ipv6.conf.all.disable_ipv6=1
;;
vpn-down)
sysctl -w net.ipv6.conf.all.disable_ipv6=0
;;
esac
exit 0
Et le rendre exécutable :
chmod 755 /etc/NetworkManager/dispatcher.d/99-vpn-ipv6-switch
Des variables d'environnements sont disponibles (man NetworkManager section DISPATCHER SCRIPTS pour plus d'informations)