Vous pouvez utiliser le AppleScript suivant , l'enregistrer en tant qu'application et le définir comme agent (pas d'icône de dock).
Ce script établira une connexion VPN lorsqu'il n'y en a pas. Par conséquent, il devrait également se reconnecter peu de temps après la fin de votre connexion. Vous pouvez changer l'intervalle pour vérifier votre connexion VPN, c'est 120 secondes dans le script.
on idle
tell application "System Events"
tell current location of network preferences
set myConnection to the service "VPN University"
if myConnection is not null then
if current configuration of myConnection is not connected then
connect myConnection
end if
end if
end tell
return 120
end tell
end idle
J'ai expliqué comment configurer cela dans cette réponse .
Can’t get «class svce» "MyVPN" of «class locc» of «class netp» of application "System Events".
System Events got an error: Can’t get service "MyVPN" of current location of network preferences. (-1728)
J'ai apporté quelques modifications à la réponse fournie, car si quelque chose vaut la peine d'être fait, il vaut la peine de le faire dans le sol. Je voulais me reconnecter si le VPN était tombé, mais PAS se reconnecter si le VPN était intentionnellement déconnecté. La solution que j'ai trouvée était à la fois efficace et inélégante.
J'ai d'abord ajouté des crochets au démarrage et à l'arrêt de pppd pour garder une trace de l'état VPN souhaité. Ces fichiers doivent appartenir à root et disposer des autorisations de lecture / exécution du monde (
sudo chmod 755 /etc/ppp/ip-*
)./ etc / ppp / ip-up:
/ etc / ppp / ip-down: pour OS X 10.9.5 et inférieur
/ etc / ppp / ip-down: pour OS X 10.10 et supérieur
Puis en modifiant l'AppleScript ci-dessus, j'ai pu vérifier la variable d'état '/ var / run / reconnect_vpn' pour déterminer s'il fallait ramener le VPN:
Comme précédemment, changez la ligne
set myConnection to the service "VPN"
en quel que soit le nom de votre VPN. De plus, au démarrage, le fichier «reconnect_vpn» n'existe pas, j'ai donc ajouté un booléen (startOnLogin) pour servir de valeur par défaut lorsque le fichier est introuvable. J'aime commencer immédiatement, mais si vous ne le faites pas, changez-le en faux.J'ai le sentiment que si vous êtes le genre de personne qui est si particulier à propos du comportement VPN, alors vous êtes aussi le genre de personne qui aime tâtonner jusqu'à ce que vous trouviez une solution et donc cette réponse n'a pas d'audience. Mais juste au cas où, le voici. J'espère que cela aide quelqu'un.
la source
Il existe une application qui le fait appelée VPN Auto-Connect (lien Mac App Store). C'est 0,99 $.
Une fois démarré, il vit dans votre barre de menu; lorsque vous l'utilisez pour activer le VPN, il surveille un profil de connexion VPN que vous avez configuré dans le volet des préférences réseau d'OS X et vous assure de toujours y rester connecté. L'icône de la barre de menus de VPN Auto-Connect fournit une liste de toutes les connexions VPN que vous avez définies et vous permet de choisir celle à laquelle vous devez toujours vous connecter.
la source
Une nouvelle option est VPN Monitor disponible sur l'AppStore. Il permet plus de personnalisation, comme la connexion automatique, le cycle de connexions VPN, etc. Au moins OS X 10.9 Mavericks requis.
la source
Le script reconnecte automatiquement tout service VPN supprimé.
J'étais en utilisant rjarvis2010 de » solution , mais je n'étais pas très heureux avec elle.
J'ai de nombreux services VPN différents auxquels je me connecte, donc je voulais un script qui reconnecterait automatiquement tout VPN auquel j'étais connecté.
Pour que cela fonctionne pour vous, vous devez remplacer
Uni
quel que soit le nom de votre emplacementUne fois que vous avez terminé, enregistrez-le en tant qu'application et placez-le dans vos éléments de connexion et vous êtes prêt à partir.
De plus, et c'est important, vous devez configurer les crochets PPP comme décrit dans la solution de rjarvis2010
De plus, je vous recommande de ne pas essayer de connecter simultanément plusieurs VPN. Pour arrêter ce script, vous devrez peut-être le forcer à quitter le moniteur d'activité (car les boucles de répétition ne lui permettent pas de recevoir des entrées externes à certains moments).
la source
J'utilise une approche différente pour maintenir ma connexion VPN en vie. Cela implique de lancer un
launchd
démon très simple qui permet de maintenir la connexion VPN sans qu'aucun utilisateur ne soit connecté (cela évite également les fenêtres contextuelles de déconnexion VPN lors de la sortie du mode veille).créer un
launchd
fichier plist depuis le terminal:et entrez le contenu suivant:
Vous pouvez utiliser la commande suivante pour démarrer votre démon et tester:
De cette façon, vous avez un démon en cours d'exécution pour tous les utilisateurs, la connexion n'a été tentée que lorsque la connexion Internet est disponible. De plus, le VPN est reconnecté automatiquement lorsque la connexion Internet est de retour…
Éditer:
Je trouve cette méthode la plus robuste car elle permet une connexion VPN à effectuer automatiquement, avant qu'un utilisateur ne se connecte (utile pour les serveurs).
Mises à jour pour Yosemite (OSX 10.10)
Est déprécié à Yosemite. Vous pouvez utiliser les éléments suivants à la place
Aussi
Ne fonctionne plus à Yosemite. Vous pouvez l'utiliser à la place
la source
scutil --nc list
ne répertorie pas ma connexion VPN, visible et connectable via les paramètres réseau.J'ai vu qu'il y a quelques réponses ici qui utilisent des hooks de connexion, celles-ci sont déconseillées dans les nouvelles versions d'OS X en faveur de Launch Agent et Launch Daemons.
J'ai créé un script et un agent de lancement. L'agent appelle un script shell toutes les 30 secondes et essaie d'envoyer une requête ping à une adresse IP statique sur le réseau VPN. S'il ne peut pas cingler cette IP, il active votre connexion VPN.
Si vous l'avez fait via une application Apple Script, l'icône de l'application sera toujours dans votre dock. Je préfère que cela fonctionne automatiquement en arrière-plan.
Clonez le projet ci-dessous et suivez les instructions du fichier Lisez-moi. Le résultat final est un package d'installation qui placera un fichier plist d'agent de lancement dans / Library / LaunchAgents / et un script shell dans / Library / Application Support / melonsmasher /.
Assurez-vous de modifier le script shell (auto-vpn) avec votre nom de connexion VPN et une adresse IP qui se trouve sur le réseau VPN. Vous pouvez modifier l'intervalle d'exécution dans le fichier plist (com.melonsmasher.autovpn.plist).
https://github.com/MelonSmasher/OSX-AutoVPN
la source
La beauté des AppleScripts est que vous pouvez presque tout faire avec et c'est gratuit, l'inconvénient est qu'ils ne sont généralement pas très réactifs (interrogation à un intervalle de temps fixe) et manquent de fonctionnalités que seules les applications MAC OS X natives peuvent avoir. Une nouvelle et jolie application de reconnexion automatique VPN est "Moniteur VPN" dans l'App Store, elle se reconnecte instantanément au moment où une connexion VPN tombe, est capable de se reconnecter à un autre service VPN si le service préféré est en panne, se connecte au démarrage, assure le suivi de vos temps d'arrêt et utilise un minimum de ressources système pour s'exécuter en arrière-plan en tant qu'application de barre d'état. Moniteur VPN
la source