Możesz użyć następującego AppleScript , zapisać go jako aplikację i ustawić go jako agenta (bez ikony dokowania).
Ten skrypt skonfiguruje połączenie VPN, gdy nie będzie. Dlatego powinien również ponownie połączyć się wkrótce po zerwaniu połączenia. Możesz zmienić interwał, aby sprawdzić połączenie VPN, w skrypcie jest to 120 sekund.
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
W tej odpowiedzi wyjaśniłem, jak to ustawić .
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)
Wprowadziłem kilka zmian w podanej odpowiedzi, ponieważ jeśli coś jest warte zrobienia, warto zrobić to w ziemię. Chciałem połączyć się ponownie, jeśli VPN zostanie zerwany, ale NIE ponownie, jeśli VPN został celowo odłączony. Rozwiązanie, które wymyśliłem, było zarówno skuteczne, jak i nieeleganckie.
Najpierw dodałem haki do uruchamiania i zamykania pppd, aby śledzić pożądany stan VPN. Pliki te powinny należeć do roota i mieć światowe uprawnienia do odczytu / wykonywania (
sudo chmod 755 /etc/ppp/ip-*
)./ etc / ppp / ip-up:
/ etc / ppp / ip-down: dla OS X 10.9.5 i niższych
/ etc / ppp / ip-down: dla OS X 10.10 i nowszych
Następnie, modyfikując powyższy AppleScript, byłem w stanie sprawdzić zmienną statusu „/ var / run / reconnect_vpn”, aby ustalić, czy przywrócić VPN:
Tak jak poprzednio, zmień linię
set myConnection to the service "VPN"
na dowolną nazwę VPN. Ponadto podczas uruchamiania plik „reconnect_vpn” nie istnieje, więc dodałem wartość logiczną (startOnLogin), która ma służyć jako domyślna, gdy nie można znaleźć pliku. Lubię zaczynać od razu, ale jeśli nie, zmień to na false.Mam wrażenie, że jeśli jesteś typem osoby, która szczególnie dotyczy zachowania VPN, to także jesteś osobą, która lubi grzebać, dopóki nie znajdziesz rozwiązania, a zatem ta odpowiedź nie ma odbiorców. Ale na wszelki wypadek, oto jest. Mam nadzieję, że to komuś pomoże.
źródło
Istnieje aplikacja o nazwie VPN Auto-Connect (link do Mac App Store). To 0,99 $.
Po uruchomieniu znajduje się na pasku menu; gdy użyjesz go do włączenia VPN, monitoruje on profil połączenia VPN skonfigurowany w okienku preferencji sieci OS X i zapewnia, że zawsze będziesz z nim połączony. Ikona paska menu VPN Auto-Connect zawiera listę wszystkich zdefiniowanych połączeń VPN i pozwala wybrać, z którym zawsze chcesz się połączyć.
źródło
Nową opcją jest VPN Monitor dostępny w AppStore. Pozwala to na większą personalizację, taką jak automatyczne logowanie, cykliczne połączenia VPN itp. Wymagany jest przynajmniej OS X 10.9 Mavericks.
źródło
Skrypt automatycznie łączy się ponownie z każdą zrzuconą usługą VPN.
Korzystałem z rozwiązania rjarvis2010 , ale nie byłem z tego zadowolony.
Mam wiele różnych usług VPN, z którymi się łączę, więc chciałem skryptu, który automatycznie ponownie połączy się z każdą VPN, z którą jestem podłączony.
Aby działało to dla Ciebie, musisz wymienić
Uni
bez względu na nazwę Twojej lokalizacjiGdy skończysz, zapisz go jako aplikację i umieść go w elementach logowania i możesz zacząć.
Również i to jest ważne, trzeba założyć haki PPP, jak opisano w rjarvis2010 „s rozwiązanie
Ponadto zalecam, aby nie próbować łączyć wielu sieci VPN jednocześnie. Aby zatrzymać ten skrypt, może być konieczne wymuszenie wyjścia z niego przez monitor aktywności (ponieważ pętle powtarzania nie pozwalają mu czasami odbierać danych zewnętrznych).
źródło
Używam innego podejścia, aby utrzymać połączenie VPN przy życiu. Wiąże się to z
launchd
uruchomieniem bardzo prostego demona, który pozwala na utrzymanie połączenia VPN bez zalogowania użytkownika (pozwala to również uniknąć wyskakujących okienek rozłączenia VPN po wznowieniu z trybu uśpienia).utwórz
launchd
plik plist z terminala:i wprowadź następującą treść:
Możesz użyć następującego polecenia, aby uruchomić demona i przetestować:
W ten sposób masz uruchomionego demona dla wszystkich użytkowników, połączenie próbowano tylko wtedy, gdy połączenie internetowe jest dostępne. Ponadto VPN jest automatycznie łączone ponownie, gdy połączenie internetowe zostanie przywrócone…
Edytować:
Uważam tę metodę za najbardziej niezawodną, ponieważ pozwala ona na automatyczne nawiązanie połączenia VPN, zanim użytkownik się zaloguje (przydatne dla serwerów).
Aktualizacje Yosemite (OSX 10.10)
Jest amortyzowany w Yosemite. Zamiast tego możesz użyć następujących
Również
Nie działa już w Yosemite. Możesz użyć tego zamiast tego
źródło
scutil --nc list
nie wyświetla mojego połączenia VPN, które można zobaczyć i które można podłączyć za pomocą ustawień sieci.Widziałem, że jest tu kilka odpowiedzi, które używają haków logowania, są one przestarzałe w nowszych wersjach OS X na rzecz Launch Agent i Launch Daemons.
Utworzyłem skrypt i uruchomiłem agenta. Agent wywołuje skrypt powłoki co 30 sekund i próbuje pingować adres IP, który jest statyczny w sieci VPN. Jeśli nie może pingować tego adresu IP, umożliwia połączenie VPN.
Jeśli zrobiłeś to za pomocą aplikacji Apple Script, ikona aplikacji zawsze będzie znajdować się w doku. Wolę, aby działało to automatycznie w tle.
Sklonuj poniższy projekt i postępuj zgodnie ze wskazówkami w pliku Readme. Wynikiem końcowym jest pakiet instalatora, który umieści plik plist agenta uruchamiania w / Library / LaunchAgents / i skrypt powłoki w / Library / Application Support / melonsmasher /.
Pamiętaj, aby edytować skrypt powłoki (auto-VPN) z nazwą połączenia VPN i adresem IP, który znajduje się w sieci VPN. Możesz zmienić interwał uruchamiania w pliku plist (com.melonsmasher.autovpn.plist).
https://github.com/MelonSmasher/OSX-AutoVPN
źródło
Zaletą AppleScripts jest to, że możesz zrobić z nim prawie wszystko i jest za darmo, wadą jest to, że zwykle nie są one bardzo responsywne (odpytywanie w ustalonym przedziale czasu) i brakuje funkcji, które mogą mieć tylko natywne aplikacje MAC OS X. Ładna i nowa aplikacja do automatycznego ponownego łączenia VPN to „Monitor VPN” w sklepie z aplikacjami. Łączy się ona natychmiast po zerwaniu połączenia VPN, jest w stanie ponownie połączyć się z inną usługą VPN, jeśli preferowana usługa nie działa, łączy się przy uruchomieniu, śledzi czas przestoju i zużywa minimum zasobów systemowych do działania w tle jako aplikacja na pasku stanu. Monitor VPN
źródło