He creado un script y un agente de lanzamiento que se conectará automáticamente a una conexión VPN cuando no pueda hacer ping a una dirección específica. Probablemente podría ser modificado de manera que mire la lista blanca de la red wifi y se conecte a la VPN si el wifi actual no está en esa lista. Tal y como está ahora mismo, el vpn siempre intentará conectarse si no puede hacer ping a una dirección que esté en la red vpn.
El agente llama a un shell script cada 30 segundos e intenta hacer ping a una dirección IP que está está estática en la red vpn. Si no puede hacer ping a esa IP, habilita su conexión vpn.
Si lo hiciste a través de una aplicación de Apple script, el icono de la aplicación siempre estará en tu escritorio. Prefiero que se ejecute automáticamente en segundo plano.
Clone el proyecto de abajo y siga las instrucciones en el léame. El resultado final es un paquete instalador que colocará un archivo plist de agente de lanzamiento en /Library/LaunchAgents/ y un shell script en /Library/Application Support/melonsmasher/.
Asegúrate de editar el shell script(auto-vpn) con el nombre de tu conexión VPN y una dirección IP que esté en la red VPN. Puedes cambiar el intervalo de ejecución en el archivo plist(com.melonsmasher.autovpn.plist).
https://github.com/MelonSmasher/OSX-AutoVPN