Table des matières

Gérer son VPN sans Network-Manager

Introduction

Je n'utilise pas d'environnement de bureau et network-manager et son applet gnome m'ont cassé les pieds. J'ai décidé d'utiliser wicd avec interface ncurses, rapide et efficace. Cela dit il ne gère pas les connexions OpenVPN.
J'ai donc décidé de me faire un petit script tout bête pour cela.

Installation

Il suffit d'avoir OpenVPN, sudo et zenity installés.
Je ne vais pas détailler le paramétrage de la connexion OpenVPN mais elle a été créée en amont, en ligne de commande et les paramètres d'authentification sont accessibles sans avoir à le demander interactivement.
J'ai également autorisé mon utilisateur a la mettre en œuvre via sudo sans mot de passe.

Utilisation

J'utilise zenity pour les boîtes de dialogue. Le mode de fonctionnement global est le suivant:
- si le fichier PID d'OpenVPN n'existe pas, on propose à l'utilise de le démarrer;
- s'il existe, on lui dit que le VPN est démarré et on lui propose de l'arrêter.

#!/bin/sh
 
# Ce script sert à vérifier si le VPN est en cours de fonctionnement et,
# fonction de la réponse, propose de l'activer ou de le désactiver:
 
if [ -e "/var/run/openvpn.IPredator-CLI-Password.pid" ]; then
    zenity --question --text="Gestion du VPN\nLe VPN est actif!\nVoulez-vous l'arrêter?" --ok-label "Arrêter le VPN?" --cancel-label "Annuler"
    case $? in
        0)
            exec sudo service openvpn stop
        ;;
        1)
            exit
        ;;
    esac
else
    zenity --question --text="Gestion du VPN\nLe VPN n'est PAS actif.\nVoulez-vous le démarrer?" --ok-label "Démarrer le VPN?" --cancel-label "Annuler"
    case $? in
        0)
            exec sudo service openvpn start
        ;;
        1)
            exit
        ;;
    esac
fi
 
exit 0;

A vous maintenant de trouver un moyen de le lancer facilement. Pour ma part, j'ai opté pour un lancement via dmenu.
Enjoy ;-)

Sogal 22/08/2015 12:56