Tengo dos configuraciones de VPN en mi Mac y me gustaría poder iniciarlas desde la consola cuando accedo a mi máquina.
He encontrado el comando networksetup
que me permite configurar conexiones, pero por lo que puedo decir, en realidad no puedo iniciar una.
Usando león.
macos
command-line
vpn
osx-lion
Ketema
fuente
fuente
Respuestas:
Para versiones más recientes de macOS, se puede usar un comando muy simple, como se muestra en las respuestas a continuación, por ejemplo, esta (¡dale un +1!).
Todo lo que necesitas es:
El único problema es que no puede desconectarse con este comando.
También puede usar AppleScript para conectarse a los servicios VPN que elija. Utilizaremos funciones de shell, que están disponibles desde la línea de comandos, una vez que se cargan.
Agregue las funciones a continuación a su
~/.bash_profile
o~/.profile
(lo que sea que use).Solo necesita cambiar el nombre de la conexión VPN, tal como aparece en las preferencias de Red . Usé mi VPN de la universidad aquí.
También puede cambiar los nombres de las funciones, si desea hacerlo para diferentes. Es posible acortar esto usando argumentos, pero funciona bien de esta manera. Lo probé en Snow Leopard (pero Leopard y Lion también deberían funcionar).
Una vez que haya agregado las funciones, vuelva a cargar la terminal y llámelas con
vpn-connect
yvpn-disconnect
, respectivamente.fuente
vpn-connect && git fetch && vpn-disconnect
. ¿Crees que hay una manera de hacer esto?vpn-connect
, lanza unsyntax error: Expected end of line but found identifier. (-2741)
pero después de haberlo convertido en una aplicación con el editor AppleScript y llamarloopen vpn-connect.app
funciona. Sin embargo, si no hay una sesión GUI activa de ese usuario,LSOpenURLsWithRole() failed with error -10810
se emite un mensaje al llamarlo a través de SSH.También puede, al menos desde Lion 1 , usar el comando scutil.
Por ejemplo, si tengo un servicio VPN llamado "Foo", podría conectarme a través de:
Opcionalmente, puedo especificar un usuario, contraseña y secreto usando banderas con los mismos nombres:
El servicio se puede desconectar a través de:
Para obtener ayuda más detallada, puede ver la página de manual o ejecutar:
Actualizar
Agregar un script rápido para sondear hasta que se establezca la conexión (en respuesta al comentario de Eric B.
Notas al pie:
fuente
--user
, no--username
scutil --nc stop Foo
no funciona (en Yosemite)?No he probado esto en Lion, pero estoy usando el siguiente comando en Mountain Lion sin ningún problema:
fuente
scutil
no lo hace!scutil
que no toma ninguno de los datos guardados, lo cual es una molestia.Acabo de usar el script anterior de slhck (que es claramente un dios dorado) para crear este ingenioso script ruby que podría usarse para todo tipo de cosas
fuente
Puede usar
networksetup -connectpppoeservice "myvpn"
para conectarse a un vpn llamado myvpn, y usarnetworksetup -disconnectpppoeservice "myvpn"
para desconectarse del vpn llamado myvpnAntes de usar estas líneas de comando, debe configurar manualmente una conexión en Preferencias del sistema> Red
fuente
Funciona en MacOS 10.14.5 Mojave:
Conecte VPN : use la respuesta de @ slhck ->
networksetup -connectpppoeservice "VPN Name"
Desconectar VPN : de la respuesta de @ encoded ->
scutil --nc stop "VPN Name"
Esto funcionó para mi L2TP sobre IPSEC VPN. No probé las VPN IPSEC o IKEv2 de Cisco
fuente