Por qué una política de seguridad IPsec no es una entrada de la tabla de rutas
Una ruta que funciona no demuestra nada sobre IPsec. Lee la consulta de ruta y los selectores de la política para el mismo flujo y luego confirma que una asociación lo cubre.
Haz ping a 10.20.0.5 por el túnel y no vuelve nada, mientras la tabla de rutas insiste en que esa subred es alcanzable. El enrutamiento e IPsec responden a preguntas distintas, y solo una de ellas trata de la alcanzabilidad. La consulta directa elige una ruta y luego la base de datos de política de seguridad decide si esa ruta debe protegerse, dejarse como está o rechazarse. Cuando las dos discrepan, el paquete muere en silencio, así que léelas en ese orden.
Empieza por la consulta, no por la tabla
Pregunta al núcleo qué haría realmente: ip route get 10.20.0.5 muestra la ruta elegida, la interfaz de salida y la dirección de origen que usaría. Un prefijo, una regla de política, una marca o un origen preferido pueden cambiar esa respuesta, y por eso la consulta en vivo supera a leer la tabla a ojo.
Prueba un destino dentro del rango protegido, no la dirección de la puerta de enlace. Alcanzar la puerta de enlace del otro lado solo demuestra que existe alguna ruta; no dice nada sobre la subred que realmente necesitas. Después confirma que la interfaz que eligió la consulta es la que esperas que use el túnel.
Haz coincidir los selectores en ambos lados
La base de datos de política tiene sus propias entradas, y cada una indica una dirección, un origen, un destino y un protocolo, y luego dice qué debe ocurrir con los paquetes que coinciden. Usa ip xfrm policy para listarlas; los indicadores muestran si la acción es proteger, omitir o bloquear. Una política cuyos selectores son más amplios o más estrechos que tu flujo de prueba no coincidirá con él, y el paquete sale sin protección. Ese es el fallo que buscas, no una ruta que falta.
Compara los valores reales: origen, destino, protocolo y puertos. Si la consulta resolvió un par de direcciones mientras la entrada de política cubre otro, las dos vistas describen tráfico distinto. Vuelve a ejecutar ambas con la misma tupla antes de sacar una conclusión, o editarás una política que nunca estuvo en la ruta.
Una coincidencia de política no es estado instalado
Una política coincidente solo dice que el paquete debe protegerse; el núcleo todavía necesita una asociación de seguridad para hacer la protección. Lístalas con ip xfrm state, o con swanctl --list-sas cuando strongSwan hace la negociación, y lee los selectores y los contadores de cada entrada.
Cuando una política coincide y ninguna asociación cubre los mismos selectores, el paquete se descarta en lugar de enviarse en texto claro. Ese es el descarte que hay que buscar cuando el túnel está levantado pero falla una sola subred. Los contadores dicen el resto: una asociación que nunca aumenta nunca fue seleccionada, mientras que una que aumenta y aun así acaba en un descarte apunta al lado remoto. Corregir selectores y renovar claves son reparaciones distintas, así que decide cuál necesitas antes de tocar la configuración.
Qué sigue exigiendo un túnel basado en ruta
Una interfaz XFRM hace que el túnel parezca un dispositivo al que puedes enrutar, lo cual es realmente útil. No elimina la política y el estado que deciden qué ocurre cuando el paquete llega allí. La ruta aporta un siguiente salto y nada más.
Si el dispositivo existe y la ruta apunta hacia él mientras ninguna asociación coincide con los selectores internos, el paquete se descarta, y ninguna cantidad de edición de rutas produce claves ni selectores. Comprueba la interfaz con el mismo origen y destino que enrutaste y luego compara eso con la lista de estados.
Aclara la propiedad antes de editar nada
Un cortafuegos del host añade una tercera decisión que ninguna de las dos bases de datos conoce. Una ruta correcta más una política coincidente más una asociación instalada aún pueden terminar en un paquete descartado, y la aplicación solo informa del tiempo de espera. Confirma que el cortafuegos permite el tráfico protegido antes de culpar a IPsec. Capturar en el dispositivo del túnel y en la interfaz física muestra de qué lado del cifrado desapareció el paquete.
La propiedad de la configuración decide si tu corrección sobrevive a un reinicio. Un componente puede instalar estado mientras otro gestiona rutas, y una edición manual en el segundo se sobrescribe la próxima vez que el túnel sube. Cambia la configuración propietaria y luego vuelve a leer ambas vistas; RFC 4301 mantiene las dos bases de datos separadas cuando tienes que explicar la división a otra persona.