W przypadku nowszych wersji systemu macOS można użyć bardzo prostej komendy, jak pokazano w poniższych odpowiedziach, np. Tej (daj jej +1!).
Wszystko czego potrzebujesz to:
networksetup -connectpppoeservice "UniVPN"
Jedynym problemem jest to, że nie można rozłączyć za pomocą tego polecenia.
Możesz także użyć AppleScript, aby połączyć się z wybranymi usługami VPN. Użyjemy funkcji powłoki, które są dostępne z wiersza poleceń po ich załadowaniu.
Dodaj poniższe funkcje do swojego ~/.bash_profile
lub ~/.profile
(cokolwiek używasz).
Musisz tylko zmienić nazwę samego połączenia VPN, tak jak pojawia się w preferencjach sieci . Użyłem tutaj mojej uniwersyteckiej sieci VPN.
Możesz także zmienić nazwy funkcji, jeśli chcesz to zrobić dla różnych. Można to skrócić za pomocą argumentów, ale w ten sposób działa dobrze. Przetestowałem to na Snow Leopard (ale Leopard i Lion też powinny działać).
Po dodaniu funkcji ponownie załaduj terminal i wywołaj je odpowiednio przy pomocy vpn-connect
i vpn-disconnect
.
function vpn-connect {
/usr/bin/env osascript <<-EOF
tell application "System Events"
tell current location of network preferences
set VPN to service "UniVPN" -- your VPN name here
if exists VPN then connect VPN
repeat while (current configuration of VPN is not connected)
delay 1
end repeat
end tell
end tell
EOF
}
function vpn-disconnect {
/usr/bin/env osascript <<-EOF
tell application "System Events"
tell current location of network preferences
set VPN to service "UniVPN" -- your VPN name here
if exists VPN then disconnect VPN
end tell
end tell
return
EOF
}