Desactivar la conexión automática de VPN sin borrar el perfil
NetworkManager no conecta solo los perfiles de VPN. El desencadenante es una entrada secondaries en la conexión base, y eso es lo que hay que cambiar.
En cada arranque el túnel aparece antes de que nadie haya decidido usarlo, y la casilla que parece responsable no hace nada cuando se desmarca. No es un fallo de la interfaz. NetworkManager no conecta solo los perfiles de VPN; una VPN se inicia porque una conexión base la nombra. La corrección está en el otro perfil, y es una sola propiedad.
El indicador que desmarca no se consulta
El perfil de VPN tiene su propia propiedad de conexión automática, y para las conexiones VPN el gestor no la usa para iniciar nada. Desmarcarla hace que el perfil se lea de forma coherente y no cambia ningún comportamiento, y es justo por eso por lo que la sorpresa sobrevive a la edición.
El mecanismo documentado es una lista de conexiones secundarias en el perfil base. Cuando la conexión Wi-Fi o Ethernet se activa, el gestor activa también los UUID de VPN que figuran en ella. Hoy solo se admiten conexiones VPN en esa lista, y si contiene varias entradas, una edición las afecta a todas.
La prioridad de conexión automática ordena los candidatos; tampoco es un interruptor de apagado.
Lee los dos perfiles antes de editar
Anota primero nombres, UUID y tipos, porque los nombres visibles se repiten y la conexión base se confunde fácilmente con la VPN. Después lee las propiedades que importan en cada lado.
nmcli -f NAME,UUID,TYPE connection show
nmcli -f connection.secondaries connection show "Wired connection 1"
nmcli -f connection.autoconnect,connection.autoconnect-priority connection show "Work VPN"
En el editor gráfico los mismos valores aparecen con etiquetas distintas. La pestaña General de la conexión base contiene el ajuste de conexión automática y, cuando el complemento está instalado, la opción de levantar una VPN con ella. Un escritorio traducido puede etiquetar el campo de prioridad como conexión automática con prioridad, que no es el interruptor de activación. Confundir ambos produce una casilla desmarcada y un arranque sin cambios.
Elimina una entrada, no la lista entera
La propiedad es una lista, así que asignar un valor nuevo sustituye todo lo que contiene. Usa el signo menos inicial para quitar un solo UUID y dejar intacto el resto de la lista.
nmcli connection modify uuid BASE_UUID -connection.secondaries VPN_UUID
nmcli -f connection.secondaries connection show "Wired connection 1"
Comprueba la lista antes y después, sobre todo en una máquina que depende de una segunda VPN.
Los perfiles pueden limitarse a usuarios concretos. Cuando lo están, la cuenta desde la que editas debe aparecer en esa lista; de lo contrario el comando puede ser rechazado, o el gestor puede escribir un perfil por usuario separado que el propietario original nunca ve. Comprueba el propietario antes de concluir que una edición no hizo nada, porque una copia silenciosa por usuario explica muchos resultados confusos.
Prueba una transición real, no un reinicio manual
Reconectar el perfil base es la prueba significativa. Bájalo y súbelo, o reinicia, y luego mira la lista activa, la lista de interfaces y una consulta de ruta para una dirección interna.
nmcli connection show --active
ip -brief address
ip route get 10.8.0.1
Si el túnel sigue apareciendo, el propietario restante suele ser un script. El registro del gestor muestra qué perfil se activó y cuándo, y el directorio dispatcher es donde viviría un hook que llame a nmcli connection up ante un evento de interfaz. Un hook es invisible en el editor de perfiles, y por eso sobrevive a cada experimento con la casilla.
Mantén operativa la vía manual, porque ese es el requisito real.
Cómo se ve un buen resultado
El perfil queda instalado con su puerta de enlace, su certificado y sus credenciales. No se activa al arrancar y sí sube cuando lo pides. Esas tres afirmaciones son la prueba de aceptación.
Escribe el UUID de la conexión base en el runbook, porque es el perfil que editarás la próxima vez.
Una VPN disponible pero no automática es una decisión de configuración y no una función que falte, y está a una propiedad de distancia.