Sie können das folgende AppleScript verwenden , es als Anwendung speichern und als Agent festlegen (kein Dock-Symbol).
Dieses Skript baut eine VPN-Verbindung auf, wenn keine vorhanden ist. Daher sollte die Verbindung auch kurz nach dem Trennen der Verbindung wieder hergestellt werden. Sie können das Intervall ändern, um Ihre VPN-Verbindung zu überprüfen. Im Skript sind es 120 Sekunden.
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
Ich habe in dieser Antwort erklärt, wie das eingerichtet wird .
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)
Ich habe einige Änderungen an der angegebenen Antwort vorgenommen. Ich wollte erneut eine Verbindung herstellen, wenn das VPN gelöscht wurde, aber NICHT, wenn das VPN absichtlich getrennt wurde. Die Lösung, die ich gefunden habe, war sowohl effektiv als auch unelegant.
Zuerst habe ich dem Start und dem Herunterfahren von pppd Hooks hinzugefügt, um den gewünschten VPN-Status zu verfolgen. Diese Dateien sollten Eigentum von root sein und über weltweite Lese- / Ausführungsberechtigungen verfügen (
sudo chmod 755 /etc/ppp/ip-*
)./ etc / ppp / ip-up:
/ etc / ppp / ip-down: für OS X 10.9.5 und niedriger
/ etc / ppp / ip-down: für OS X 10.10 und höher
Durch Ändern des obigen AppleScript konnte ich die Statusvariable '/ var / run / reconnect_vpn' überprüfen, um festzustellen, ob das VPN wieder hergestellt werden soll:
Ändern Sie
set myConnection to the service "VPN"
nach wie vor die Leitung auf den Namen Ihres VPN. Außerdem existiert beim Start die Datei 'reconnect_vpn' nicht, weshalb ich einen Booleschen Wert (startOnLogin) als Standardwert hinzugefügt habe, wenn die Datei nicht gefunden werden konnte. Ich möchte sofort anfangen, aber wenn Sie dies nicht tun, ändern Sie es in false.Ich habe das Gefühl, dass, wenn Sie die Art von Person sind, die sich speziell mit VPN befasst, Sie auch die Art von Person sind, die gerne herumfummelt, bis Sie eine Lösung finden, und diese Antwort daher kein Publikum hat. Aber nur für den Fall, hier ist es. Hoffe es hilft jemandem.
quelle
Es gibt eine App namens VPN Auto-Connect (Link zum Mac App Store). Es ist 0,99 $.
Einmal gestartet, befindet es sich in Ihrer Menüleiste. Wenn Sie damit VPN "ein" schalten, wird ein VPN-Verbindungsprofil überwacht, das Sie in den Netzwerkeinstellungen von OS X eingerichtet haben, und sichergestellt, dass Sie immer mit dem VPN verbunden sind. Das Menüleistensymbol von VPN Auto-Connect enthält eine Liste aller von Ihnen definierten VPN-Verbindungen und lässt Sie auswählen, zu welcher Verbindung immer eine Verbindung hergestellt werden soll.
quelle
Eine neue Option ist VPN Monitor im AppStore. Es ermöglicht weitere Anpassungen, z. B. die automatische Anmeldung, das Durchlaufen von VPN-Verbindungen usw. Mindestens OS X 10.9 Mavericks erforderlich.
quelle
Das Skript stellt die Verbindung zu einem unterbrochenen VPN-Dienst automatisch wieder her .
Ich hatte die Lösung von rjarvis2010 verwendet , war aber nicht ganz zufrieden damit.
Ich habe viele verschiedene VPN-Dienste, mit denen ich eine Verbindung herstelle. Daher wollte ich ein Skript, das alle VPNs, mit denen ich verbunden war, automatisch wieder verbindet.
Damit es für Sie funktioniert, müssen Sie ersetzen
Uni
mit welchem Namen auch immer Ihr Standort istWenn Sie fertig sind, speichern Sie es als Anwendung und fügen Sie es in Ihre Anmeldeobjekte ein, und schon kann es losgehen.
Außerdem, und das ist wichtig, müssen Sie die PPP-Hooks wie in der Lösung von rjarvis2010 beschrieben einrichten
Außerdem würde ich empfehlen, dass Sie nicht versuchen, mehrere VPNs gleichzeitig zu verbinden. Um dieses Skript anzuhalten, müssen Sie es möglicherweise über den Aktivitätsmonitor beenden (da die Wiederholungsschleifen es zeitweise nicht zulassen, dass es externe Eingaben empfängt).
quelle
Ich benutze einen anderen Ansatz, um meine VPN-Verbindung am Leben zu erhalten. Dazu muss ein sehr einfacher
launchd
Daemon ausgeführt werden, der es ermöglicht, die VPN-Verbindung aufrechtzuerhalten, ohne dass ein Benutzer angemeldet ist.Erstellen Sie eine
launchd
plist-Datei vom Terminal aus:und gib folgenden Inhalt ein:
Sie können den folgenden Befehl verwenden, um Ihren Daemon zu starten und zu testen:
Auf diese Weise wird ein Daemon für alle Benutzer ausgeführt. Die Verbindung wird nur versucht, wenn eine Internetverbindung verfügbar ist. Außerdem wird das VPN automatisch wiederhergestellt, wenn die Internetverbindung wiederhergestellt ist.
Bearbeiten:
Ich finde diese Methode am robustesten, da sie die automatische Herstellung einer VPN-Verbindung ermöglicht, bevor sich ein Benutzer anmeldet (nützlich für Server).
Updates für Yosemite (OSX 10.10)
Wird in Yosemite abgeschrieben. Sie können stattdessen Folgendes verwenden
Ebenfalls
Funktioniert nicht mehr in Yosemite. Sie können dies stattdessen verwenden
quelle
scutil --nc list
listet meine VPN-Verbindung nicht auf, die über die Netzwerkeinstellungen angezeigt und verbunden werden kann.Ich habe gesehen, dass es hier einige Antworten gibt, die Anmelde-Hooks verwenden, die in neueren Versionen von OS X zugunsten von Launch Agent und Launch Daemons veraltet sind.
Ich habe ein Skript erstellt und den Agenten gestartet. Der Agent ruft alle 30 Sekunden ein Shell-Skript auf und versucht, eine im VPN-Netzwerk statische IP-Adresse zu pingen. Wenn es diese IP nicht anpingen kann, wird Ihre VPN-Verbindung aktiviert.
Wenn Sie dies über eine Apple Script App getan haben, befindet sich das App-Symbol immer in Ihrem Dock. Ich bevorzuge es, wenn dies automatisch im Hintergrund ausgeführt wird.
Klonen Sie das unten stehende Projekt und befolgen Sie die Anweisungen in der Readme-Datei. Das Endergebnis ist ein Installationspaket, das eine Launch Agent-Plist-Datei in / Library / LaunchAgents / und ein Shell-Skript in / Library / Application Support / melonsmasher / speichert.
Stellen Sie sicher, dass Sie das Shell-Skript (auto-vpn) mit Ihrem VPN-Verbindungsnamen und einer IP-Adresse bearbeiten, die sich im VPN-Netzwerk befindet. Sie können das Ausführungsintervall in der plist-Datei (com.melonsmasher.autovpn.plist) ändern.
https://github.com/MelonSmasher/OSX-AutoVPN
quelle
Das Schöne an AppleScripts ist, dass Sie fast alles damit machen können und es ist kostenlos. Der Nachteil ist, dass sie normalerweise nicht sehr reaktionsschnell sind (Abfragen in einem festen Zeitintervall) und keine Funktionen haben, die nur native MAC OS X-Apps haben können. Eine nette und neue VPN Auto Reconnect-App ist "VPN Monitor" im App Store. Sie stellt die Verbindung sofort wieder her, sobald eine VPN-Verbindung unterbrochen wird. Sie kann die Verbindung zu einem anderen VPN-Dienst wiederherstellen, wenn der bevorzugte Dienst ausfällt. Verfolgt Ihre Ausfallzeiten und verwendet ein Minimum an Systemressourcen, um im Hintergrund als Statusleistenanwendung ausgeführt zu werden. VPN-Monitor
quelle