El mismo .ovpn archivo se conecta desde un shell y expira tras importarlo en NetworkManager. La conclusión natural es que la VPN está rota. La explicación más probable es más pequeña: NetworkManager no conservó el archivo, importó parte de él en una conexión guardada y el túnel en ejecución usa en su lugar esos datos guardados. Lo que el archivo diga ahora es irrelevante para lo que contiene el perfil.

El archivo no es el perfil

La importación es una traducción, no un montaje. Las opciones que el complemento entiende se convierten en claves del vpn.data diccionario de la conexión; las opciones que no entiende se descartan o se registran en otro lugar, y la ruta original solo es una referencia. Editar el archivo de origen después no cambia nada de la conexión que ya está guardada.

Ese hueco explica toda una familia de informes: la clave compartida se rotó, el archivo se actualizó y el túnel sigue fallando. El perfil guardado sigue apuntando a la ruta antigua o al valor antiguo, y la línea de comandos sigue funcionando porque lee el archivo que usted editó. Dos clientes, dos fuentes de verdad, y solo una de ellas se actualizó.

Lea el perfil guardado, no el diálogo

nmcli -f connection.id,connection.uuid,vpn.service-type,vpn.data connection show office-vpn

Use el UUID cuando dos perfiles comparten un nombre y confirme que el tipo de servicio es el OpenVPN complemento que espera, y no otro tipo de VPN que resulte estar instalado. Luego compare el punto de conexión, el transporte y las referencias de certificado con la invocación que funciona.

Un valor visible en un editor gráfico no es prueba de que se haya guardado. Guarde, vuelva a abrir y léalo de nuevo por la línea de comandos; los defectos históricos de guardado son una razón para comprobar los datos almacenados, no una prueba de que cada compilación actual tenga el mismo error. La comprobación cuesta un comando.

Dos claves y una dirección que importa

Para una conexión que usa autenticación TLS, el complemento guarda la ruta de la clave compartida en ta y la dirección en ta-dir, cuando el despliegue usa una. Ambas viven en el diccionario de datos del perfil, y ambas deben coincidir con lo que espera el servidor.

La dirección es una decisión del servidor expresada en el cliente. Elegir una porque un perfil vecino la tiene es como una clave que funciona acaba fallando un apretón de manos. Si la configuración del servidor no tiene dirección, el cliente no debería inventar una.

El archivo de clave en sí debe ser legible por el complemento en el contexto en el que realmente se ejecuta. Un paquete confinado tiene una vista del sistema de archivos distinta de la de una instalación de escritorio normal, así que una ruta que existe en su shell puede ser invisible para el servicio.

Actualice una entrada, no el diccionario

nmcli connection modify office-vpn +vpn.data 'ta=/etc/NetworkManager/certs/office-ta.key'
nmcli connection modify office-vpn +vpn.data 'ta-dir=1'

El signo más inicial actualiza entradas individuales del diccionario. Asignar vpn.data sin él reemplaza todo el diccionario, y así es como una clave que falta se convierte en cinco ajustes rotos. Vuelva a leer el perfil después del cambio y confirme que las demás entradas sobrevivieron. Un diccionario que perdió su punto de conexión remoto y sus certificados es una tarde mucho más larga que la que empezó.

Vuelva a conectar con los controles normales y observe la etapa que falla. Si la puerta de la clave compartida ahora pasa y el cliente informa de un error de certificado o de autenticación de usuario, ha avanzado y la siguiente investigación es otra.

No confunda los modos del canal de control

tls-auth, tls-crypt, y tls-crypt-v2 son disposiciones distintas. Un archivo de clave que parece similar no los hace intercambiables, y rellenar los campos TLS-Auth porque otro perfil contiene una clave formateada produce un perfil que falla de un modo que se parece a una clave equivocada.

Use la asignación del complemento que coincida con el modo de la configuración del servidor. Cuando el modo no está claro, pregunte al propietario del servidor en lugar de adivinar por la primera línea del archivo.

Mantenga una vía de recuperación cuando el túnel lleve su sesión de gestión. Un cambio guardado no es necesariamente un cambio aplicado, y una importación correcta no es prueba de que se admitiera cada opción de origen. Vale la pena conocer ambos huecos antes de reconectar el enlace por el que trabaja.

Artículos relacionados