Conecta la VPN y la impresora desaparece, el recurso compartido del NAS deja de abrirse y una sesión de Escritorio remoto hacia el equipo de al lado se agota. Nada se ha roto. El cliente añadió una ruta predeterminada y ahora posee cada destino que el portátil puede nombrar, incluidos los que están a tres metros. Ese es todo el mecanismo, y llamarlo fallo de la VPN es lo que convierte un arreglo de una línea en un caso de soporte.

Lee primero la tabla de rutas

Antes de cambiar nada, captura la tabla IPv4 con route print -4 y guarda la salida. Conecta, vuelve a capturar y compara las líneas 0.0.0.0: la ruta predeterminada activa nombra una interfaz, y si esa interfaz es el túnel, la impresión y la navegación locales se envían primero a la oficina.

El número de interfaz de la segunda columna es a lo que una ruta persistente tendrá que referirse más tarde, así que anótalo mientras el túnel está activo. También es el valor que cambia cuando se recrea el adaptador, y por eso las rutas fijadas a él pueden sobrevivir en silencio a su utilidad.

Elimina la ruta predeterminada, de tres maneras

En un perfil integrado de Windows el control es una casilla. Abre las propiedades de la conexión, IPv4, luego Avanzado, y desmarca Use default gateway on remote network; la aplicación Configuración más reciente esconde el mismo diálogo una capa más abajo. Desde un símbolo del sistema elevado el mismo cambio es un cmdlet:

Set-VpnConnection -Name "Corp" -SplitTunneling $true

Un perfil OpenVPN funciona de otra manera, y por eso su comportamiento confunde a quien espera una casilla. Su directiva redirect-gateway def1 no sustituye en absoluto la ruta predeterminada; instala dos rutas de medio rango, 0.0.0.0/1 y 128.0.0.0/1, que juntas ganan a la predeterminada sin borrarla. Como la predeterminada original sobrevive, añadir un prefijo apuntado a net_gateway devuelve solo ese prefijo al router local. Ese detalle explica por qué el arreglo para un perfil def1 es una ruta de prefijo y no una casilla que nadie encuentra.

Vuelve a añadir solo lo que pertenece al trabajo

Sin la ruta predeterminada el túnel no transporta nada, así que los prefijos de trabajo deben nombrarse explícitamente. El cmdlet que vincula un prefijo a la conexión es más seguro que una ruta persistente, porque solo se instala mientras esa conexión está activa y no depende de un número de interfaz:

Add-VpnConnectionRoute -ConnectionName "Corp" -DestinationPrefix 172.20.0.0/16

El enfoque más antiguo sigue funcionando y sigue en todas las listas de comprobación: route -p add 172.20.0.0 mask 255.255.0.0 172.20.0.1 if 14, con el índice de interfaz y la dirección de puerta de enlace propios del túnel. Persiste entre reinicios, que es el propósito y también el peligro, ya que el índice puede pertenecer a otra cosa en el siguiente arranque.

Las métricas deciden el resto. Si tanto el adaptador físico como el del túnel reclaman una ruta para el mismo prefijo, gana la métrica más baja, y subir la métrica del túnel es un control legítimo del lado del cliente y no un truco.

Cuando el servidor decide por ti

Un cliente que ignora tu casilla normalmente está obedeciendo una política. Los perfiles de Cisco llevan un ajuste Allow Local LAN Access, y un headend puede empujar una política tunnel-all que anula lo que el cliente preferiría; en un despliegue de túnel obligatorio no hay ningún interruptor local que cambiar. Lee el registro del cliente en busca de las rutas y líneas de política empujadas en lugar de volver a comprobar el mismo diálogo.

Luego mira la resolución de nombres, que es un interruptor separado del enrutamiento. Un túnel dividido aún puede recibir un resolutor interno y un sufijo de búsqueda, así que un dispositivo local es alcanzable por dirección e imposible de encontrar por nombre hasta que el lado DNS también esté arreglado.

Los solapamientos son un problema distinto

Si la LAN de casa y la LAN de la oficina comparten un prefijo como 192.168.0.0/24, ninguna ruta puede distinguirlas. Cada paquete de ese rango tiene un solo resultado de búsqueda, y el arreglo es renumerar un lado o llegar a la oficina mediante una dirección traducida del pool. Añadir rutas más específicas solo mueve qué mitad de la red se rompe.

Termina con una verificación en lugar de cinco: conecta y luego ejecuta tracert contra un host interno y uno público. El primer salto debería diferir, y si no lo hace, la división no está en marcha, diga lo que diga el cliente. Después vuelve a conectar una vez y repite, porque las rutas empujadas vuelven con cada sesión.

Artículos relacionados