Estoy usando Ubuntu 13.04 con Gnome y recientemente configuré una VPN (abierta). ¿Hay alguna forma de habilitarlo por defecto? Cada vez que inicio o incluso pierdo mi conexión, tengo que habilitar la VPN manualmente. ¿Hay una opción que me falta?
Estoy usando Ubuntu 13.04 con Gnome y recientemente configuré una VPN (abierta). ¿Hay alguna forma de habilitarlo por defecto? Cada vez que inicio o incluso pierdo mi conexión, tengo que habilitar la VPN manualmente. ¿Hay una opción que me falta?
Respuestas:
A través del indicador nm-applet de Network Manager (el applet de bandeja de red GNOME o Unity instalado de forma predeterminada), puede configurar NetworkManager para conectarse automáticamente a una VPN cuando se conecta una red.
nm-connection-editor
.Cuando esto está habilitado, hay un error en NetworkManager que puede interrumpir la función "conectarse automáticamente a esta red". ( Editar : este error ahora se ha marcado como "corrección liberada" en Ubuntu 16.04). Si NetworkManager intenta conectarse automáticamente y falla, verá una línea como la siguiente en /var/log/syslog
:
<error> [1401130450.367538] [nm-vpn-connection.c:1374] get_secrets_cb(): Failed to request VPN secrets #2: (6) No agents were available for this request.
Parece que NetworkManager no puede obtener la contraseña VPN del usuario gnome-keyring-daemon
. Una solución alternativa es dejar que NetworkManager almacene la contraseña en texto sin formato en el archivo de configuración /etc/NetworkManager/system-connections/
. Para hacer esto:
sudoedit /etc/NetworkManager/system-connections/<VPN>
, dónde <VPN>
está el archivo de configuración para su VPN (el nombre de archivo suele ser el nombre que asignó a su VPN).password-flags=1
apassword-flags=0
NetworkManager ahora almacenará la contraseña de VPN en sí (ver man nm-settings
para más detalles), y la conexión automática de red volverá a funcionar.
nm-connection-editor
, puede encontrar esto al editar una conexión en la pestaña general .
Echa un vistazo a vpnautoconnect.
vpnautoconnect es un demonio que te permite volver a conectar automáticamente (también en el inicio) un vpn creado con el administrador de red. Puede reconectarse muy rápidamente y monitorear el ancho de banda. Funciona con conexión pptp y openvpn.
Para obtener más información y descargar, visite el sitio web .
Prueba esto también:
use la función AUTOSTART en /etc/default/openvpn
O
Calcule el UUID de su conexión VPN.
nmcli con list | grep -i vpn
El UUID es la segunda columna con las letras, números y guiones.
Inicie la conexión en una terminal. Simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:
nmcli con up uuid <put you UUID here>
Configure esto para que se ejecute al inicio.
Vaya a Dash, escriba y elija Aplicaciones de inicio, haga clic en Agregar y agregue el comando nmcli anterior (con el UUID). Haga clic en "Agregar". En el nombre, escriba el nombre que quiera usar, y en Command coloque la línea nmcli completa arriba. Haga clic en "Agregar" nuevamente. Ahora, reinicia y pruébalo.
Fuente: SourceForge
vpnautoconnect
? Su sitio web es una página abandonada del proyecto SourceForge, y el paquete no proporciona páginas de manual. Difícil suena prometedor.
Recomendaría revisar el script en este artículo :
#!/bin/bash
# YourVPN here is the name of desired vpn connection to monitor
# edit this line:
##################
VPNNAME=YourVPNUUID
# enter desired time between checks here (in seconds)
SLEEPTIME=15
##################
nice=0
for (( ; ; )); do
# creating infinite loop
tested=$(nmcli con status uuid $VPNNAME | grep -c UUID)
#possible results:
# 0 - no connection - need to start
# 1 - working connection, continue.
case $tested in
"0")
echo "Not connected - starting"
#increase nice counter
nice=$[nice+1]
#if "nice start" fails for 3 times
if [ $nice -ge 3 ];
then
#TRY to knock hard way, resetting the network-manager (sometimes it happens in my kubuntu 12.04).
echo "HARD RESTART!"
nmcli nm enable false
nmcli nm enable true
sleep 5
nmcli con up uuid $VPNNAME
nice=0
else
#not yet 3 falures - try starting normal way
echo "trying to enable."
nmcli con up uuid $VPNNAME
fi
;;
"1")
echo "VPN seems to work"
;;
esac
sleep $SLEEPTIME
done
Para averiguar el valor de YourVPNUUID
$ VPNNAME simplemente ejecute lo siguiente;
nmcli con list | grep -i vpn
vpnautoconnect no funcionó para mí en 12.04 LTS, y no parece ser el único.
Lo investigué un poco y combiné un código existente para hacer mi primer script bash. Comprueba si una determinada conexión VPN está activa y se conectará si no. Si está conectado, dormirá durante un tiempo determinado, por ejemplo, 1 minuto, y repetirá el proceso indefinidamente.
#! /bin/bash
while true
do
connection="Auto Ethernet"
vpn_connection="My VPN connection"
run_interval="60"
active_connection=$(nmcli dev status | grep "${connection}")
active_vpn=$(nmcli dev status | grep "${vpn_connection}")
if [ "${active_connection}" -a ! "${active_vpn}" ];
then
nmcli con up id "${vpn_connection}"
fi
sleep $run_interval
done
Instrucciones:
Cree un archivo de texto en blanco llamado, por ejemplo, vpn-auto-connector.sh (lo guardé en mi carpeta de inicio. Haga clic con el botón derecho en el archivo y elija Propiedades-> Permisos y marque "Permitir ejecutar archivo como programa". (Puede que tenga que almacenar el archivo en otro lugar y / o alterar los permisos de lectura / escritura / ejecución también si su computadora tiene múltiples usuarios).
Copie el código de arriba al archivo que creó. Reemplace los valores de las siguientes tres variables:
conexión = "Auto Ethernet"
vpn_connection = "Mi conexión VPN"
run_interval = "60"
Se pueden encontrar abriendo el administrador de red. En mi caso, connection = "Auto Ethernet" es mi conexión por cable activa (no se ha probado con la conexión inalámbrica) y vpn_connection = "Mi conexión VPN" es el nombre de mi conexión VPN. run_interval = "60" es el intervalo de tiempo en segundos sobre cuándo repetir el script.
Abra Aplicaciones-> Herramientas del sistema-> Preferencias-> Aplicaciones de inicio. Agregue un nombre adecuado, por ejemplo, "VPN Auto Connector", y para el comando elija el archivo .sh que guardó anteriormente. Ahora el script bash se ejecutará al inicio y seguirá comprobando si la conexión VPN está activa. Puede probarlo desconectando la conexión VPN y debería activarse automáticamente nuevamente.
Vpnautoconnect funciona bien en Ubuntu 12.04, 13.04 y 13.10 (creo que en la 13.10 la opción "conectarse automáticamente" en Network-Manager se ha solucionado y funciona ahora)
Por lo tanto, si tiene problemas para instalarlo o hacer que funcione, o no encuentra la opción "openvpn" en el menú desplegable de Network-Manager para crear una conexión vpn abierta, puede seguir este tutorial, que le brinda Todos Los pasos, muy claros y fáciles de aplicar.
Echa un vistazo AQUÍ
Y déjame saber :-)
Aquí hay un script muy robusto y confiable que:
Esto es especialmente útil si se conecta rutinariamente a diferentes VPN, ya que no tiene que especificar una sola conexión VPN para volver a conectarse.
#!/bin/bash
nmcli --mode multiline --fields uuid,vpn connection status | grep -qc "^VPN:.*yes" 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
last_vpn_uuid=`nmcli --mode tabular --fields uuid,type,timestamp connection list | grep -E "\s+vpn\s+" | sort -k3 -nr | head -n1 | awk '{ print $1 }'`
nmcli connection up uuid "$last_vpn_uuid"
fi
Estoy en Ubuntu 14.04 LTS en varias máquinas. Debido al hecho, que tengo algunos requisitos previos especiales:
Estoy trabajando con este script muy probado y muy confiable:
Sin embargo, existen algunas advertencias con el applet de administrador de red que podría resolver temporalmente (consulte la sección Solución de problemas del artículo).
vpnautoconnect no funciona para mí.
la respuesta de @vincentYo parece directa, pero no pude hacerlo, así que hice lo siguiente.
Paso 1: crea un script de shell y agrega el comando vpn
vim auto_vpn.sh
#!/bin/sh
vpnc --enable-1des
Paso 2: abra un archivo sudoer y dígale al kernel que no solicite una contraseña para este archivo.
sudo vim / etc / sudoers
la mayoría de las cosas dentro de este archivo serán comentadas, solo agregue como a continuación
nombre de usuario ALL = (root) NOPASSWD: your_shell_script.sh
ejemplo:
sharath ALL = (root) NOPASSWD: /home/sharath/workspace/work/src/auto_vpn.sh
Paso 3: configure un trabajo cron, que activará este script de shell, debajo del trabajo cron se ejecutará cada minuto (porque mi internet se mantiene encendido y apagado, así que cada minuto)
* * * * * sudo /home/sharath/workspace/work/src/auto_vpn.sh
Estoy usando esto desde hace muchos días, trabajando bien en ubuntu 16.04 LTS ...