Fråga:
Få VPN att återansluta automatiskt vid anslutningsnedgång
Andrew Ferrier
2012-03-05 20:55:38 UTC
view on stackexchange narkive permalink

Jag använder det inbyggda VPN på Mac OS X 10.7.3. Det är IPSec, FWIW. Ibland kopplas den från (förmodligen ett problem med min företagsserver). Finns det ett sätt att få det att automatiskt ansluta igen? Ibland märker jag inte ett tag, vilket är ganska irriterande.

åtta svar:
gentmatt
2012-03-05 21:03:40 UTC
view on stackexchange narkive permalink

Du kan använda följande AppleScript , spara det som ett program och ställa in det som agent (ingen dockningsikon).

Detta skript konfigurerar en VPN-anslutning när det finns ingen. Därför bör den också ansluta igen strax efter att din anslutning har minskat. Du kan ändra intervallet för att kontrollera din VPN-anslutning, det är 120 sekunder i skriptet.

  vid inaktiv information "Systemhändelser" berätta aktuell plats för nätverksinställningar ställa in minConnection till tjänsten "VPN University "om myConnection inte är noll, om nuvarande konfiguration av myConnection inte är ansluten, anslut myConnection end om end if end tell return 120 end tellend idle  

Jag har förklarat hur man ställer in detta i detta svar.

`Kan inte få« klass svce »" MyVPN "av« klass locc »av« klass netp »för applikationen" Systemhändelser ".` `Systemhändelser fick ett fel: Kan inte få tjänsten" MyVPN "för den aktuella platsen för nätverksinställningar.(-1728) `
Det fungerar inte med IKEv2 VPN.Så här kan du göra det: http://matt.coneybeare.me/how-to-setup-an-auto-reconnect-script-for-an-ikev2-vpn -service-on-your-mac /
rjarvis2010
2013-02-18 10:24:40 UTC
view on stackexchange narkive permalink

Jag gjorde några ändringar i det angivna svaret, för om något är värt att göra är det värt att göra i marken. Jag ville återansluta om VPN släpptes, men INTE ansluta igen om VPN avsiktligt kopplades bort. Lösningen jag kom på var både effektiv och inelegant.

Först lade jag till krokar i pppd-start och avstängning för att hålla reda på önskat VPN-tillstånd. Dessa filer ska ägas av root och ha världsläsnings- / körbehörigheter ( sudo chmod 755 /etc/ppp/ip-*).

/etc/ppp/ip- upp:

  #! / bin / shecho true > / var / run / reconnect_vpnchmod 644 / var / run / reconnect_vpn  

/ etc / ppp / ip -down: för OS X 10.9.5 och senare

  #! / bin / shtail /var/log/ppp.log | grep '\ [DISCONNECT \]' om [$? == 0]; thenecho false > / var / run / reconnect_vpnfi  

/ etc / ppp / ip-down: för OS X 10.10 och senare

  #! / bin / shtail /var/log/ppp.log | grep '\ [TERMINATE \]' om [$? == 0]; thenecho false > / var / run / reconnect_vpnfi  

Sedan genom att ändra AppleScript ovan kunde jag kontrollera statusvariabeln '/ var / run / reconnect_vpn' för att avgöra om jag skulle ta med VPN säkerhetskopiera:

  på tomgångsapplikation "Systemhändelser" berätta aktuell plats för nätverkspreferenser ställa in myConnection till tjänsten "VPN" ställa in startOnLogin till sann lokal doReconnect försök ställ in doReconnect to (do shell script " cat / var / run / reconnect_vpn ") vid fel errMsg ställa in doReconnect till startOnLogin slut försök om myConnection inte är null och doReconnect då om den aktuella konfigurationen av myConnection inte är ansluten så anslut myConnection end om end if end tell return 120 end tellend inaktiv  kod> 

Som tidigare ändrar du raden ställer in minConnection till tjänsten "VPN" till vad din VPN heter. Vid start finns inte 'reconnect_vpn' -filen, så jag lade till en boolean (startOnLogin) för att fungera som standard när filen inte kunde hittas. Jag gillar att börja omedelbart, men om du inte ändrar det till falskt.

Jag har en känsla av att om du är den typen av person är det här som gäller VPN-beteende, så är du också den typ av person som gillar att fumla tills du hittar en lösning och därför har detta svar ingen publik. Men bara om det är här. Hoppas det hjälper någon.

Det fungerar inte med IKEv2 VPN.Så här kan du göra det: http://matt.coneybeare.me/how-to-setup-an-auto-reconnect-script-for-an-ikev2-vpn -service-on-your-mac /
John
2012-07-18 13:21:59 UTC
view on stackexchange narkive permalink

Det finns en app som gör det kallad VPN Auto-Connect (Mac App Store-länk). Det kostar 0,99 USD.

När det väl startat bor det i din menyrad; när du använder den för att aktivera VPN "kommer den att övervaka en VPN-anslutningsprofil som du har ställt in i OS X: s nätverksinställningsfönster och se till att du alltid är ansluten till den. VPN Auto-Connect-menyraden visar en lista över alla VPN-anslutningar du har definierat och låter dig välja vilken du alltid vill ansluta till.

Välkommen till Ask Different! Tack för ditt svar, John! Kan du lägga till mer information om appen du länkade till? Hur svarar det på frågan? Vilka specifika funktioner gör det till appen som OP behöver?
VPN Auto-Connect fungerar med IKEv2 VPN.Så här kan du göra det: http://matt.coneybeare.me/how-to-setup-an-auto-reconnect-script-for-an-ikev2-vpn -service-on-your-mac /
pierre-o
2013-02-26 07:21:36 UTC
view on stackexchange narkive permalink

Jag använder ett annat tillvägagångssätt för att hålla min VPN-anslutning vid liv. Detta innebär att jag får en mycket enkel launchd -demon som gör det möjligt att upprätthålla VPN-anslutning utan att någon användare är inloggad (detta undviker också popup-popup-kopplingar när återupptar från viloläge).

skapa en launchd plist-fil från terminal:

  sudo nano /Bibliotek/LaunchDaemons/my.vpn.connector .plista  

och ange följande innehåll:

  <? xml version = "1.0" encoding = "UTF-8"? ><! DOCTYPE plist PUBLIC " - // Apple // DTD PLIST 1.0 // EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version =" 1.0" ><dict> <key>RunAtLoad< / key> <true / > <key>KeepAlive< / key> <dict> <key>NetworkState< / key> <true / > < / dict> <key>Label< / key> <string>my.vpn.connector< / string> <key>ProgramArguments< / key> <array> <string>bash< / string> <string>-c< / string> <string> (test $ (networksetup -showpppoestatus MyVPN) = 'kopplad' && ping -o my.vpn. server.url && nätverksuppsättning -connectpppoeservice MyVPN); sova 10< / string> < / array>< / dict>< / plist>  

Du kan använda följande kommando för att starta din demon och testa:

/my.vpn.connector.plist

På det här sättet har du en demon som körs för alla användare, anslutning försöks bara när internetanslutning är tillgänglig. Dessutom ansluts VPN igen automatiskt när internetanslutningen är tillbaka ...

Redigera:

Jag tycker att den här metoden är den mest robusta eftersom den gör att en VPN-anslutning kan göras automatiskt innan en användare loggar i (användbart för servrar).

Uppdateringar för Yosemite (OSX 10,10)

  <key>KeepAlive< / key> <dict> <key>NetworkState< / key> <true / > < / dict>  

skrivs av i Yosemite. Du kan använda följande istället

  <key>KeepAlive< / key> <true / >  

Också

  nätverksuppkoppling -VPN code> 

Fungerar inte längre i Yosemite. Du kan använda den här istället

  scutil --nc start MyVPN  
"scutil --nc list" listar inte min VPN-anslutning, som kan ses och kan anslutas via nätverksinställningar.
@philpirozhkov Detta fungerar inte med IKEv2 VPN.Så här kan du göra det: http://matt.coneybeare.me/how-to-setup-an-auto-reconnect-script-for-an-ikev2-vpn -service-on-your-mac /
n1000
2014-10-28 02:36:07 UTC
view on stackexchange narkive permalink

Ett nytt alternativ är VPN Monitor tillgängligt på AppStore. Det möjliggör mer anpassning, som automatisk inloggning, cykling genom VPN-anslutningar etc. Åtminstone OS X 10.9 Mavericks krävs.

francesco
2015-01-21 22:57:09 UTC
view on stackexchange narkive permalink

Automatisk återanslutning av skript någon tappad VPN-tjänst.

Jag hade använt rjarvis2010 s lösning men jag var inte riktigt nöjd med det.

Jag har många olika VPN-tjänster jag ansluter till, så jag ville ha ett skript som automatiskt skulle ansluta alla VPN-enheter som jag var ansluten till.

  vid ledigt meddelandeapplikation "Systemhändelser" berätta plats "Uni" för nätverkspreferenser - fortsätt kontrollera VPN-namn tills en VPN är ansluten ställa in tom till sann upprepning tills tom är falskt försök - ställ in variabeln "myVPN" till namnet på tjänsten som är ansluten och är en VPN-inställning myVPN för att få namnet på den första tjänsten vars (typ är större än 11 ​​och sort är mindre än 17) och ansluten till aktuell konfiguration är sant tomt till falskt vid fel satt tomt till sann fördröjning 15 slut försök slut upprepa - doReconnect är en fil som läser från ppp.log och innehåller "true" som standard, "false" om vpn-tjänsten manuellt kopplades bort nyligen lokal doReconnect set doReconnect to (do shell script "cat / var / run / reconnect_vpn" ) upprepa medan doReconnect innehåller "true" set ConfProp för att få aktuell konfiguration av tjänsten myVPN om ansluten av ConfProp är falsk, så fördröj 1 set doReconnect till (gör shell-skript "cat / var / run / reconnect_vpn") om doReconnect innehåller "true" då försök ansluta tjänsten myVPN vid felfelMeddelande slut försök annars avsluta upprepa slut om slut om fördröjning 5 slut upprepa slut berätta slut berätta återvänd 1end tomgång  

För att få det att fungera för dig måste du byta ut

  • Uni med vad din plats heter

En gång du är klar, spara den som en applikation och placera den i dina inloggningsobjekt så är du klar att gå.

Dessutom, och detta är viktigt, måste du ställa in PPP-krokarna enligt beskrivningen i rjarvis2010 s lösning

Jag skulle också rekommendera att du inte provar att ansluta flera VPN samtidigt. För att stoppa det här skriptet kan du behöva tvinga avsluta den genom aktivitetsövervakaren (eftersom upprepade slingor inte tillåter att den tar emot extern ingång ibland).

almyz125
2016-01-29 00:20:15 UTC
view on stackexchange narkive permalink

Jag såg att det finns några svar här som använder inloggningskrokar, de är utfasade i nyare versioner av OS X till förmån för Launch Agent och Launch Daemons.

Jag skapade ett skript och startagent . Agenten anropar ett skalskript var 30: e sekund och försöker pinga en IP-adress som är statisk i VPN-nätverket. Om den inte kan pinga den IP: n aktiverar den din vpn-anslutning.

Om du gjorde det via en Apple Script-app kommer appikonen alltid att finnas i din docka. Jag föredrar att den här körs automatiskt i bakgrunden.

Klona projektet nedan och följ anvisningarna i readme. Slutresultatet är ett installationspaket som placerar en plist-fil för launch agent i / Library / LaunchAgents / och ett skalskript i / Library / Application Support / melonsmasher /.

Se till att redigera skalskriptet (auto-vpn) med ditt VPN-anslutningsnamn och en IP-adress som finns i VPN-nätverket. Du kan ändra körintervallet i plist-filen (com.melonsmasher.autovpn.plist).

https://github.com/MelonSmasher/OSX-AutoVPN

Jos
2014-08-02 12:09:32 UTC
view on stackexchange narkive permalink

Det fina med AppleScripts är att du kan göra nästan vad som helst med det och det är gratis, nackdelen är att de vanligtvis inte är särskilt lyhörda (polling vid ett fast tidsintervall) och saknar funktioner som endast inbyggda MAC OS X-appar kan ha. En trevlig och ny VPN-app för automatisk återanslutning är "VPN Monitor" i appbutiken, den ansluter omedelbart när en VPN-anslutning tappar, kan återansluta till en annan VPN-tjänst om den föredragna tjänsten är nere, ansluter vid uppstart, håller reda på din driftstopp och använder ett minimum av systemresurser för att köra i bakgrunden som en statusfältapplikation. VPN-skärm

Ta en titt på FAQ, särskilt delen om [självreklam] (http://apple.stackexchange.com/help/behavior)


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...