Redirecciones ICMP frente a tus rutas VPN: qué cambia realmente
Una redirección es una sugerencia del router, no un cambio de ruta. Que el host obedezca depende de una política por interfaz que difiere entre IPv4 e IPv6.
Un flujo que debería cruzar el túnel toma un siguiente salto distinto, y alguien encuentra una redirección ICMP en una captura. Eso es una hipótesis, no un diagnóstico. Una redirección es una sugerencia del router sobre un siguiente salto mejor, y si el host actúa en consecuencia depende de ajustes que varían según la plataforma, la interfaz y la familia de direcciones.
Una redirección es una sugerencia del router
Las redirecciones ICMP de IPv4 tienen su propio tipo de mensaje y un conjunto estrecho de condiciones: el router reenvía un paquete por la interfaz por la que llegó, y conoce un siguiente salto en ese mismo enlace más cercano al destino. Luego dice al emisor que use ese siguiente salto directamente. El mensaje nombra la nueva puerta de enlace e incluye parte del paquete original para que el emisor pueda emparejarlo con un flujo. Es un mensaje de cortesía sobre la topología local, y supone que el emisor comparte un enlace con la puerta de enlace sugerida.
El emisor es libre de ignorarla. Nada en el protocolo obliga a un host a cambiar su tabla, y una redirección capturada solo demuestra que un router envió una.
Ahí es donde la mayoría de las investigaciones de redirecciones se equivocan.
IPv4 e IPv6 la entregan de forma distinta
IPv6 tiene un mecanismo análogo dentro del descubrimiento de vecinos en lugar de en ICMPv4, con formatos de mensaje y reglas de validación distintos. Los conceptos riman y los paquetes no. Un filtro de captura escrito para ICMP tipo 5 no mostrará nada en una red IPv6, lo que a veces se lee como prueba de que no hubo ninguna redirección.
Los ajustes de política también están separados, así que un host puede aceptar redirecciones IPv4 e ignorar las de IPv6, o al revés.
Comprueba ambas familias si el flujo en cuestión podría usar cualquiera de las dos.
La aceptación es una política del host, no un hecho de la red
En Linux, la aceptación de redirecciones se controla por interfaz y de forma global, y los valores por defecto difieren entre los roles de host y de router. Una interfaz de túnel que acepta redirecciones es un diseño extraño, porque dentro de un túnel punto a punto no hay un siguiente salto alternativo significativo en el mismo enlace. Eso hace que merezca la pena leer el ajuste en lugar de suponerlo.
Los ajustes de redirección segura restringen aún más qué puertas de enlace pueden creerse.
Si estás endureciendo un host, esos son los ajustes que hay que revisar, y también son la razón por la que dos máquinas en la misma red pueden comportarse de forma distinta. Cámbialos como política, no como atajo de depuración.
Qué no puede explicar una redirección
Las rutas específicas, las reglas de enrutamiento por política y las interfaces locales explican la mayoría de las rutas inesperadas sin ninguna redirección. Un prefijo más específico, una regla que coincida con la dirección de origen, o un segundo valor por defecto en otra tabla cada uno superará la ruta que esperabas. Compruébalos primero, porque son deterministas y visibles.
Las capturas antiguas son la otra trampa, porque un cliente que cambió de red tiene una puerta de enlace local distinta.
Una redirección antigua del enlace anterior no explica nada sobre la trayectoria actual, así que anota qué interfaz recibe ahora el tráfico de control.
Comprueba la ruta antes de culpar al túnel
Pregunta al núcleo qué ruta usaría para el destino, y luego compáralo con la tabla que pretendías. Si la respuesta coincide con la tabla, ninguna redirección cambió nada y la investigación pertenece a otro sitio. Si no coincide, busca una redirección en caché, una regla de política o una segunda tabla antes de suponer que el túnel tiene la culpa. La consulta es la verdad de base, y todo lo demás es una historia sobre cómo llegó hasta ahí.
Una redirección nunca debería ser la razón por la que una ruta protegida se convierte en silencio en una no protegida, y por eso la política de aceptación pertenece a la revisión de diseño. La definición del RFC 792 sigue siendo la referencia de lo que se permite decir al mensaje IPv4.
Escribe la consulta de ruta y la marca de tiempo de la captura juntas, y la siguiente persona podrá reproducir tu conclusión.