The Longest Line

Le chemin le plus long...

Vérifier la connexion à un VPN

Rédigé par andy / 16 juillet 2017 / 7 commentaires

vpnimage.png
Pour vous permettre de vérifier la bonne connexion à un VPN sur votre linux préférée et le cas échéant de relancer le service OpenVpn, voilà un petit script qui devrait faire l'affaire de ceux qui comme moi, utilisent un VPN en permanence pour toutes vos activités internet. Je ne parle pas là d'un VPN servant à eviter de tomber sous le coup de l'Hadopi, mais bel et bien d'un service vous permettant de garder votre anonymat.
Voilà le script à mettre sur une crontab toutes les 5 minutes :

#!/bin/bash
ip=$(curl ifconfig.me)
[[ "$ip" == "VOTRE.IP.PUBLIQUE" ]] &&  systemctl restart openvpn@votre_conf_vpn && [[ "$ip" == "VOTRE.IP.PUBLIQUE" ]] && notify-send "Le VPN de Fedora est hors-ligne." && curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=XXXXXXX&pass=XXXXXXXXX&msg=Le VPN de Fedora est hors-ligne."

chmod a+x /chemin/vers/le/script # pour le rendre éxécutable

En gros, voilà ce que fait ce script :
1. Curl de votre IP publique sur ifconfig.me et utilisation comme variable "ip".
2. Comparaison entre l'IP reçue et votre IP publique normale
3. Le cas échéant : relance du service VPN

4. Optionnel : notification sur le Bureau Gnome (Notify-send)
5. Optionnel : Notification par SMS sur votre mobile par l'API Free Mobile.

Je l'ai foutu dans une crontab root toutes les 5 minutes :
Debian : crontab -e (en root)
Fedora : env EDITOR=nano crontab -e
Puis ajouter :
*/5 * * * * bash /chemin/vers/le/script

Classé dans : Non classé / Mots clés : aucun

7 commentaires

#1 dimanche 16 juillet 2017 @ 18:53 Walter a dit :

Bonjour,
en cas de déconnexion du vpn et de changement d'IP de la box, le script ne relancera pas le VPN.

#2 dimanche 16 juillet 2017 @ 20:23 andy a dit :

Salut.
Ton avis m'intéresse.
Je n'ai pas l'impression d'avoir de soucis chez moi.
Pourquoi penses-tu ça ?

#3 dimanche 16 juillet 2017 @ 22:23 propositionjoe a dit :

Salut,
Effectivement, le script marche parfaitement... Quand on a une ip fixe.
tcho!

#4 lundi 17 juillet 2017 @ 10:22 andy a dit :

Ouais, c'est clair.
C'est assez évident pour moi, mais merci de préciser.

#5 lundi 17 juillet 2017 @ 07:52 seb a dit :

"$ip" == "VOTRE.IP.PUBLIQUE"
donc si ton ip n'est plus la même, ça marche pas. Tu devrais faire la reconnexion avec un "$ip" != "VOTRE.IP.PUBLIC"

#6 lundi 17 juillet 2017 @ 09:18 ins0 a dit :

Bonjour,

Rien ne te dis que tout ton traffic est rerouté vers le VPN (mis à part le port 80).

#7 lundi 17 juillet 2017 @ 10:22 andy a dit :

Absolument, j'aurais du le préciser d'ailleurs.
Merci.

Écrire un commentaire

Quelle est la dernière lettre du mot aassu ? :