Conéctese automáticamente a VPN cuando use una red específica en Ubuntu GNOME 16.04

12

En Unity, Network Manger tiene una casilla de verificación disponible para cada conexión que configura el uso automático de una VPN cuando la conexión está activa:

Imagen de la configuración de conexión en ubuntu 16.06 Unity

¿Hay alguna manera de obtener una opción como esta en Ubuntu GNOME 16.04? (que usa GNOME 3.18). Como la página de configuración de conexión carece de esta opción: ingrese la descripción de la imagen aquí

S.Mohsen sh
fuente
Bienvenido a Ask Ubuntu! Esta respuesta sugiere que ambos comparten el mismo NetworkManager. ¿Podría por favor verificar dos veces? En caso de que sean diferentes, ¿podría incluir también una captura de pantalla del NetworkManager en Ubuntu GNOME?
Andrea Lazzarotto
@AndreaLazzarotto gracias! Proporcioné la captura de pantalla. Intentaré vpnautoconnect que se sugirió en esta pregunta para ver si funciona. Pero me pregunto si la configuración podría activarse en Network Manger, ya que, como dijiste, es el mismo Network Manger en ambos sabores.
S.Mohsen sh
Esta capacidad todavía parece faltar en Ubuntu 17.04. No estoy claro por qué habría sido eliminado. Después de buscar una solución y encontrar muy poco, parece extraño que más personas no usen VPN y prefieran la función de conexión automática.
Rsync
Siempre que su sistema tenga un /etc/NetworkManager/system-connectionsdirectorio lleno de perfiles de conexión y no le importe editar las configuraciones, entonces podría valer la pena consultar la respuesta que publiqué en otro lugar sobre el tema de la conexión automática a una VPN para una interfaz de red determinada.
S0AndS0

Respuestas:

22

Encontré la respuesta a esto. Curiosamente, debe abrir Network Manager manualmente (en lugar de usar el panel o la Configuración).

Entonces en Terminaltipo nm-connection-editor. Después de hacerlo, la ventana que se abre tendrá las opciones en la primera imagen del OP.

Esto funciona para mí en 16.04 y 17.04. Con suerte, integrarán los diversos administradores de red en las próximas versiones de GNOME.

Rsync
fuente
Esto también funciona para mí en 18.04, ¡gracias! No estaba claro de inmediato dónde estaban esas configuraciones.
JohnnyCoder
Funciona también para Debian 9 Stretch. ¡Gracias!
Christian Toffolo
1

Resolví el problema con un script en

/etc/NetworkManager/dispatcher.d

Esta carpeta contiene scripts que el administrador de la red llama en orden alfabético cada vez que hay un cambio en el estado de la red. Esto tiene la ventaja (diferente de otra solución que vi) de que su VPN no solo se activa en el arranque / inicio, sino también en la reanudación después de la suspensión / suspensión.

Para que esto funcione, necesita una conexión VPN que ya esté configurada en su Network Manager, lo que supongo que tiene, de lo contrario no habría hecho la pregunta.

  1. Primer paso: seguí los consejos de esta página (en alemán) ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Abrí y nombré un nuevo script 02VPN1

    sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
    

y escribió:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    if [ "$2" = "up" ]; then
       sleep "3s"
       nmcli con up id "${VPN_CONNECTION_NAME}"
    fi

El NAME_OF_YOUR_VPN_CONNECTION es el nombre del archivo de conexión NAME_OF_YOUR_VPN_CONNECTION.conf que usó para configurar la conexión a la que desea conectarse automáticamente.

La condición si ["$ 2" = "arriba"] significa que la conexión VPN solo se conecta automáticamente cuando inicia la conexión de red (su conexión a Internet); Una vez que se ejecuta el servicio VPN, puede deshabilitarlo o elegir otra VPN.

Si solo y cada vez que desea ejecutar esta VPN sin la capacidad de desactivarla, puede escribir el script sin esta condición If:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    sleep "3s"
    nmcli con up id "${VPN_CONNECTION_NAME}"

Solo puede configurar este archivo como root, por lo que es propiedad de root sin que haga nada adicional. Así es como debería ser.

Finalmente: haga que este archivo sea ejecutable, de lo contrario el script no se ejecutará. En terminal:

    sudo chmod +x  /etc/NetworkManager/dispatcher.d/02VPN1
  1. Segundo paso (DIFERENTE de las instrucciones en el enlace anterior; utilicé el consejo desde aquí: https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193

Este proceso es ejecutado por root, y root aún no tiene acceso a la contraseña que usa para su VPN. Haga lo siguiente: Abra el archivo NAME_OF_YOUR_VPN_CONNECTION en / etc / NetworkManager / system-connections como root. Abra una terminal y haga:

    sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION

a) Cambiar la línea

    password-flags=1 

a

    password-flags=0

b) En la parte inferior, agregue

    [vpn-secrets]
    password=PASSWORDOFYOURCONNECTION

Guarde y cierre el archivo.

  1. Ahora reinicie su Network Manager. Terminal:

    systemctl restart NetworkManager
    

para inicializar la nueva configuración. Deberías haber terminado.

Lo hice ayer, y hasta donde puedo ver, funciona bien. No hay garantías!

Xenón
fuente