Tu antigua ruta predeterminada sobrevive a OpenVPN a propósito
Dos rutas /1 superan la predeterminada sin reemplazarla. Comprueba qué ruta toma realmente un destino y luego deja la puerta de enlace antigua en su sitio.
Conectas el túnel, ejecutas ip route y la puerta de enlace predeterminada original sigue ahí. El siguiente pensamiento es que el cliente no asumió la ruta, así que borras la predeterminada a mano y pierdes la conectividad por completo. Esa entrada debe permanecer. Con redirect-gateway def1, OpenVPN instala dos rutas más específicas que superan la predeterminada normal en lugar de reemplazarla. La puerta de enlace antigua se queda y deja de transportar el tráfico que estabas probando.
Qué hace def1 en realidad
El indicador añade 0.0.0.0/1 y 128.0.0.0/1, ambas apuntando al túnel. 0.0.0.0/1 abarca toda dirección cuyo primer octeto va de 0 a 127, y 128.0.0.0/1 abarca de 128 a 255, así que cada destino IPv4 tiene una coincidencia más específica que la ruta predeterminada antigua. La longitud del prefijo, no la métrica, decide qué ruta gana.
Dejar la ruta predeterminada original en su sitio es deliberado. El cliente no tiene que recordar qué reemplazó y no reescribe la ruta que lleva su propia conexión al servidor VPN. Al desconectar elimina las dos medias rutas y la tabla vuelve a lo que era.
Por qué /1 y no /0
El enrutamiento elige el prefijo coincidente más largo, no la métrica más baja, así que una /1 vence a una /0 diga lo que diga la métrica de la predeterminada. Ambas mitades existen porque una /1 solo cubre la mitad del espacio; con solo 0.0.0.0/1 presente, todo lo que hay desde 128.0.0.0 en adelante sigue la ruta predeterminada antigua, lo que produce el síntoma confuso de que algunos sitios funcionan y otros no.
Subir o bajar la métrica de la ruta predeterminada antigua no cambia nada, y una predeterminada con métrica más baja en otra interfaz tampoco roba el tráfico. Primero decide la longitud del prefijo, y solo los prefijos iguales recurren a la métrica.
Lee una tabla de enrutamiento real
Un host conectado puede mostrar las tres entradas a la vez, con el túnel llevando las mitades y la puerta de enlace original todavía en la lista. Las direcciones son ejemplos y no una configuración que copiar, porque los nombres de interfaz, la topología del túnel y las rutas adicionales varían según la plataforma y el cliente.
default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0Lo importante es la relación: dos mitades concretas por encima de una predeterminada general. La línea de la puerta de enlace antigua se queda porque nada la reemplazó.
Comprueba qué ruta toma realmente el paquete
Las rutas más específicas aún pueden ganar: una ruta para un rango privado, una subred local o la propia dirección del servidor VPN es más larga que una /1. El túnel necesita un camino exterior hacia su servidor, y devolver esa conexión al túnel lo rompería de inmediato. En Linux pregúntale al núcleo en vez de leer la tabla a ojo: ip route get con el destino que te interesa imprime la ruta elegida, la interfaz y el origen. Si hay enrutamiento por políticas configurado, revisa también las reglas, porque una regla puede seleccionar otra tabla antes de consultar la principal.
Si solo parte de IPv4 se comporta mal, confirma que ambas mitades están instaladas y luego busca una excepción que coincida con el destino que falla. Borrar la predeterminada antigua no es una solución, y elimina la ruta que el cliente necesita para desmontar el túnel limpiamente.
Qué no cubre def1
Dos entradas IPv4 no dicen nada sobre IPv6: un host con conectividad IPv6 sigue usando su propia ruta predeterminada hasta que algo redirija esa familia por separado, y por eso en una red de doble pila parte del tráfico parece evitar el túnel. Otros clientes y gestores de red implementan el enrutamiento de túnel completo de forma distinta, y sus tablas no coincidirán. El comportamiento de def1 descrito aquí pertenece al indicador documentado de OpenVPN, no a cada VPN de la máquina.
Un kill switch responde a otra pregunta: qué hace la máquina cuando cae el túnel. La precedencia de rutas decide adónde va el tráfico mientras el túnel está activo; no decide qué hace después un cortafuegos. Orden de trabajo: lee la tabla, confirma que existen ambas mitades, ejecuta ip route get para el destino que falla, revisa las reglas de política y luego mira IPv6 por separado. Deja la ruta predeterminada antigua donde está.