¿Las rutas VPN importadas difieren del cliente que funciona? Compare ambas
Un perfil de NetworkManager guardado y las rutas realmente instaladas son dos cosas distintas. Compare destinos privados y públicos antes de cambiar nada.
Algunos servicios privados responden a través de la VPN mientras el tráfico de internet normal se comporta de forma muy distinta a como lo hace en el equipo de un compañero, y uno se siente tentado a concluir que el cliente de Ubuntu está roto. Esa conclusión se salta un paso. Una operación privada que funciona y una ruta pública distinta son dos observaciones, y la diferencia suele estar en la política de tráfico que instaló cada cliente, no en el cliente en sí.
Comparar la configuración guardada con el estado real de la red requiere tres comandos y responde a la pregunta que las suposiciones intentaban responder.
Primero el perfil guardado, después el estado efectivo
Una conexión OpenVPN importada se convierte en un perfil propio de NetworkManager. El archivo .ovpn del que proviene deja de ser la fuente de verdad en el momento en que termina la importación, así que editar ese archivo después no cambia nada de la conexión que está usando. Este es el primer punto donde la comparación falla, y falla en silencio.
nmcli -f connection.id,connection.uuid,ipv4.never-default,ipv4.routes,ipv4.dns connection show office-vpn
Lea el UUID cuando los nombres choquen; los nombres duplicados sobreviven a reinstalaciones y restauraciones de perfiles, y puede pasar una hora editando la copia que no se usa. Los valores que ve describen la intención guardada: si el perfil puede tomar la ruta predeterminada, qué rutas se guardaron y qué resolutores y dominios de búsqueda solicita. No describen lo que ocurrió al activarse la conexión, porque un complemento o un envío del servidor puede añadir estado que el perfil no menciona. Por eso importa el siguiente comando.
Después mire qué hizo realmente el sistema con esa intención, incluidas las reglas de política y todas las tablas, no solo la principal. Las propiedades guardadas son entradas, y las tablas instaladas son el resultado.
ip -4 rule show
ip -4 route show table all
Dos destinos, una comparación
Elija un destino privado que funcione y un destino público corriente, y luego pregunte al núcleo qué camino tomaría cada uno. Hacerlo en ambas máquinas es lo que convierte una diferencia vaga en una concreta.
ip -4 route get 10.40.0.20
ip -4 route get 203.0.113.20
Las direcciones son ejemplos que debe sustituir por las suyas; lo importante es el par, no los números. Compare la interfaz, la dirección de origen y la tabla nombrada en cada salida. Cuando la consulta privada nombra el túnel y la consulta pública también lo nombra, tiene un túnel completo y el otro cliente puede tener uno dividido, o al revés.
No exija que los dos clientes impriman un texto idéntico. En OpenVPN, redirect-gateway def1 suele expresarse como dos rutas de medio prefijo en lugar de una predeterminada, y un gestor que las muestra de otra forma no es por ello incorrecto. Juzgue la cobertura, que es lo que muestran las consultas, y no el formato.
Donde los dos clientes difieren legítimamente
Los valores predeterminados del cliente son decisiones de política, y pueden no coincidir. Un producto puede preferir un túnel completo, otro puede mantener el valor local predeterminado y enrutar solo los prefijos privados, y un tercero puede seguir lo que envió el servidor. Una diferencia solo es un defecto cuando contradice el requisito que se le dio.
Así que compare cada cliente con la intención aprobada de túnel dividido o completo, no uno con otro. Si el requisito es que el tráfico privado use el túnel y que la ruta local de internet siga siendo local, entonces un túnel completo es el error y un túnel dividido es correcto, sin importar qué cliente hizo qué. Escriba la intención antes de mirar cualquiera de las configuraciones, o el primer cliente que inspeccione se convertirá en silencio en el estándar.
El DNS es un segundo eje y falla de forma independiente. Una ruta correcta todavía puede enviar consultas a un resolutor que no puede responder por la zona privada, y un resolutor correcto no arregla una ruta incorrecta. Compruebe ambos, y trate un nombre privado que resuelve mientras una dirección privada no lo hace como prueba de que las dos capas se resuelven por separado.
Mantenga limpia la comparación
Ejecute un solo propietario de conexión a la vez. Una sesión de OpenVPN por línea de comandos que corre junto al perfil importado instala sus propias rutas y su propio estado de resolutor, y la mezcla resultante no es el comportamiento de ninguno de los dos clientes. Cierre una antes de medir la otra. Reinicie si no está seguro de qué sigue manteniendo estado, porque una ruta obsoleta de hace una hora parecerá exactamente un problema de política.
Mantenga también todo lo demás fijo: el mismo punto final, la misma cuenta, las mismas versiones de software, la misma red. Un éxito en el portátil Windows de un compañero prueba otro cliente, otra integración de resolutor y quizá otro perfil de servidor, así que no es evidencia sobre el gestor de Ubuntu.
La referencia de ajustes IPv4 de NetworkManager define con precisión never-default y las propiedades guardadas de las rutas, lo que vale la pena leer antes de cambiar un valor gestionado. Y recuerde el alcance de esta comparación: cubre IPv4 y no dice nada sobre la política IPv6 correspondiente, que tiene sus propios valores predeterminados y su propia forma de sorprenderle.