samedi 2 janvier 2010

Reconnection automatique du VPN en cas de coupure sous Ubuntu

Il arrive parfois qu'une connexion réseau est interrompue lors de l'utilisation d'un VPN.La connexion réseau est rapidement rétablie sans problème, mais sous Ubuntu le VPN restait déconnecté....
Un Grand coup de chapeau à Coredump qui a mis à disposition des scripts qui ont pour but de connecter automatiquement le VPN et de le reconnecter automatiquement si il se déconnecte.

Coredump à mis à disposition sur le forum d'ubuntu.fr : , une série de scripts permettant de se connecter automatiquement au lancement de la session et surtout de reconnecter !!

Les scripts de Coredump vont permettre de piloter le Network-manager à l'aide de d-bus.

1) le premier script : "connection-service" à récupérer ICI en bas du post #11, permet de démarrer ou d'arrêter une connexion en lui passant le nom de la connexion.

Pour l'utiliser,  nommer le fichier "connection-service", le rendre exécutable (chmod +x connection-service)  et placer le dans "/usr/local/bin/",
Pour l'utiliser seul taper :
connection-service "nom_de_la_connexion" start|stop
Par exemple :
connection-service "Connection VPN 1" start


2) le deuxième script :  "vpn-autostart" à récupérer ICI post #15 permet de lancer le script "connection-service" avec le paramétrage "nom_de_la_connection"


Créer un script "vpn-autostart", le rendre exécutable et placer le dans "/usr/local/bin/"
Penser à changer dans le sript "connection VPN 1" par le nom de votreconnection VPN à la ligne : sleep 10 && connection-service "Connection VPN 1" start

Si vous souhaitez lancer le VPN au démarrage de la cession, il suffit d'ajouter ensuite un programme "VPN" dans la liste des "Applications au démarrage" ((Menu système-Préférences-Applications au démarrage , puis Ajouter) avec comme commande : vpn-autostart

3) le troisième script: "02-loop-vpn"  à récupérer ICI post #15 permet de reconnecter automatiquement la connexion définie dans "vpn-autostart" en cas de coupure.

Créer un script "02-loop-vpn", le rendre exécutable et placer le dans "/etc/NetworkManager/dispatcher.d/"


 Il ne reste plus qu'à Redémarrer le système pour admirer le résultat !

En complément : Voir ici pour un script pour arrêter les échanges en cas de coupure de VPN :http://papillon-butineur.blogspot.com/2009/09/deconnexion-du-vpn-un-script-pour.html


Info butinée ICI

7 commentaires:

  1. Vous pourrez trouver ici un daemon très leger écris en C qui permet de faire beaucoup mieux. Plus besoin de plusieurs script il s'installe en tant que service et fais tout le boulot :)
    https://sourceforge.net/projects/vpnautoconnect/

    RépondreSupprimer
  2. @Anonyme
    J'ai essayé ... Mais j'ai perdu au reboot mon tableau de bord supérieur ... Pas grave, un petit sudo dpkg-reconfigure gnome-applets m'a remis ça d'équerre.
    Par contre, je trouve que de devoir définir au départ l'interface réseau et le vpn à utiliser manque de souplesse à l'usage surtout pour un pc nomade.

    RépondreSupprimer
  3. @Anonyme
    Visiblement ni spiritism ni moi-même n'avons réussi à faire fonctionner vpnautoconnect que se soit en PPTP ou en OpenVpn.
    lien : http://www.vpnblog.net/auto-reconnection-du-vpn-sur-ubuntu-9.04/
    j'espère que tu vas nous corriger ça =;)

    RépondreSupprimer
  4. marche impeccable :)

    RépondreSupprimer
  5. Bonjour,

    Super comme script, mais il faut obligatoirement Network Manager.

    Comment faire lorsqu'on utilise un serveur/NAS, et qu'on n'a pas d'interface graphique ?

    Cordialement,
    Merci.

    RépondreSupprimer
  6. @Hollowmac
    Peux-être que le vpnautoconnect de mastergb pourra t'aider : https://sourceforge.net/projects/vpnautoconnect/ ?

    RépondreSupprimer
  7. @Papillon @HollowMac.
    Malhereusement non vpnautoconnect se branche a network-manager.

    Je reflechis depuis un moment à un light-vpnautoconnect pour les nas...

    RépondreSupprimer