Se conecta, ejecuta un listado de rutas y ve una subred de la que nunca ha oído hablar apuntando al túnel. Esa línea afirma una cosa con precisión y varias cosas en absoluto. Registra cómo reenviará esta máquina los paquetes a ese prefijo, nada sobre qué hosts existen allí y nada sobre qué puede alcanzar su cuenta. Leerla correctamente lleva un minuto; leerla como un inventario lleva mucho más tiempo desaprenderlo.

Lea la tabla como instrucciones locales

Una ruta es una instrucción de reenvío que mantiene el núcleo local: para este prefijo, use esta interfaz y este siguiente salto. La longitud del prefijo decide cuán concreta es la instrucción y gana la coincidencia más larga. Nada en esa regla menciona permisos, estado del servicio ni topología remota.

Las reglas de política pueden intervenir antes de que se consulte la tabla, y por eso una ruta puede existir y aun así no ser la que usa un paquete determinado. Lea las reglas junto a la tabla y luego pregunte al núcleo qué camino elegiría para un destino concreto. La respuesta para una dirección vale más que una página de prefijos, y es la única respuesta que refleja las marcas, los espacios de nombres y las vinculaciones de interfaz que aplicó el cliente.

Un prefijo amplio no es un catálogo

Un /16 enrutado por el túnel no significa dieciséis mil hosts accesibles, y una ruta por defecto significa aún menos. El servidor decide quién responde, el cortafuegos decide qué se permite y la cuenta decide qué está autorizado.

Una tabla estrecha tiene la trampa opuesta: un prefijo ausente puede significar que el destino es accesible por otro camino, o simplemente que no está enrutado en absoluto. Esos dos casos parecen idénticos hasta que se prueban. Compare la tabla con el recurso que le dijeron que usara, no con sus expectativas de lo que debería contener una VPN.

De dónde vienen las entradas

Las rutas llegan de al menos cuatro lugares: el archivo de configuración, el servidor que empuja una ruta durante el establecimiento de la conexión, un gestor de red que posee la interfaz y una persona que escribe un comando durante un incidente. Cada uno tiene una vida útil distinta y un propietario distinto.

La que se escribió durante una interrupción es la que desaparece al reiniciar y no aparece en la documentación de nadie. Una ruta empujada por el servidor cambia cuando cambia el servidor, y por eso un prefijo nuevo sin explicación suele aparecer tras una actualización de la puerta de enlace y no tras un cambio en el cliente. El manual de ip-route documenta la sintaxis de la tabla y de los campos si necesita leer los indicadores.

Compruebe la ruta contra el contrato del servicio

La comparación útil es entre la tabla y el servicio que le prometieron: nombre, alcance de direcciones, puerto y propietario. Escriba esos cuatro junto al prefijo y los huecos se harán visibles.

ip route show table all dev tun0
ip route get 10.20.5.9
ip rule show

Si el prefijo está presente y el servicio sigue fallando, la tabla ha hecho su trabajo y el problema está en otro sitio: resolución de nombres, un cortafuegos al otro lado o una cuenta sin el grupo correcto. Si falta el prefijo, la pregunta es quién debería haberlo proporcionado, no qué escribir. Cualquiera de las dos respuestas nombra un equipo al que preguntar después, y esa es la única salida útil de leer una tabla de rutas. Escriba ese nombre antes de cerrar la terminal.

Registre el antes y el después de cualquier cambio, con la fecha y la interfaz. Una tabla de rutas es una instantánea de un momento en una máquina, y solo se convierte en prueba cuando alguien anotó cuándo se tomó.

Artículos relacionados