OpenVPN, Ubuntu 17 : script de reconnexion automatique

autoreconnect 13 mai 2017

Je me suis monté un autre PC de bureau sous Ubuntu (17) et j’ai remarqué qu’en dépit de ma configuration de Network-Manager mon VPN ne se reconnectait pas tout seul en cas de coupure. Du coup voici un petit script maison, à lancer au boot/reboot de la machine via systemd ou via les paramètres d’AutoStart de votre DE ou à la main via ~/.config/autostart ou ce que vous voulez.

Le script se contente de faire une boucle d’une durée de X secondes qui regarde si la connexion “vpn” est active et si ce n’est pas le cas la relance.

 

#!/bin/bash


# Nom du script .. : OpenVPNAutoReconnect.sh
# Date ........... : 05.2017
# Auteur ......... : Aerya | https://upandclear.org
# Description .... : Script de reconnexion automatique d'un VPN OpenVPN. Compatible Ubuntu 17.
# Prerequis ...... : RAS
# Execution ...... : Rendre actif au boot/reboot de la machine (dépend de l'OS/du DE)
# Specificites ... : RAS


# Variables ...... : A définir ici et ne pas modifier la suite du script
# FREQ ........... : Fréquence, en secondes, à laquelle la connexion VPN est vérifiée

FREQ=2


# Script ......... : NE PAS MODIFIER
# 1-2 / 7-8 ...... : Boucle d'une durée de "FREQ" secondes
# 3 .............. : Va chercher le nom de la connexion vpn
# 4 .............. : Si connexion non active
# 5-6 ............ : Lancement
while [ true ]
do
VPN=`nmcli con show | grep vpn | cut -f1 -d " "`
if [[ "$VPN" == "" ]]; then
    nmcli con up "$VPN"
fi
    sleep "$FREQ"
done

C’est pas très élaboré mais ça fait le job.

 

 

Mots clés