Paso de IPsec en un router doméstico: qué hace realmente
El interruptor deja pasar un protocolo a través de la traducción de direcciones; no inscribe el router como cliente. Capture el intercambio, lea las asociaciones y luego decida.
Los interruptores de paso del router son concesiones de reenvío para un dispositivo que está detrás, no servicios VPN. No inscriben el router como cliente, no guardan credenciales ni empujan cada aparato de la casa por una salida remota. Lo que hacen es moldear cómo un protocolo cruza la traducción de direcciones y los filtros. Una vez claro esto, el interruptor es fácil de probar y fácil de dejar apagado.
Qué hace realmente el router
El router se sitúa entre un cliente y un par IPsec y reenvía paquetes que nunca fue diseñado para entender. Los fabricantes implementan la función de al menos tres maneras: un asistente de protocolo que sigue o reescribe el estado, una excepción de filtro que detiene el descarte de ESP, o un modo de compatibilidad dirigido a clientes más antiguos. La etiqueta de la interfaz web rara vez dice cuál de las tres tiene. Solo las notas del firmware o una captura de paquetes lo dirán.
Un asistente también puede empeorar las cosas. La ayuda escrita para un flujo más antiguo a veces interfiere con un cliente que ya maneja la traducción correctamente. Cuando un cliente moderno funciona con la opción desactivada, dejarla desactivada es la mejor configuración.
El paso nunca entrega al router las claves de los pares. Sigue viendo las direcciones y los puertos externos, y sigue aplicando su propia política de reenvío a ellos.
NAT y NAT-T deciden la ruta
IPsec no se construyó para sobrevivir a la traducción de direcciones, así que los estándares añadieron una envoltura. El NAT traversal encapsula ESP dentro de UDP, lo que permite que una tabla NAT ordinaria transporte el flujo, y la negociación acuerda ese cambio durante IKE (RFC 3948). El propio IKE usa UDP 500, mientras que la ruta encapsulada suele usar UDP 4500.
Por eso una regla de cortafuegos que solo permita el protocolo 50 no basta en una ruta traducida. Bloquear 4500 rompe el caso para el que existe la envoltura, y bloquear 500 detiene la negociación antes de que se forme ningún túnel. Ambas direcciones importan, porque un router con estado suele permitir la respuesta solo después de haber visto la petición. Llegar a un puerto no es lo mismo que terminar la autenticación, ni que reenviar tráfico protegido.
Los arreglos más antiguos difieren lo suficiente como para que una guía escrita para ellos pueda inducir a error. Cuando un cliente ofrece ambos modos, pruebe el que documenta su par y no el que tiene más resultados de búsqueda.
Encuentre la etapa que falla
Divida el problema en negociación, autenticación, protección del hijo y reenvío interno, y luego reúna pruebas de una etapa a la vez. Un reinicio que cambia el resultado temporalmente solo demuestra que había algún estado implicado.
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
ip xfrm state list
ip xfrm policy list
La captura muestra si el intercambio llega al par y si vuelven las respuestas, lo que separa un problema de filtrado de un problema de credenciales. El listado de estado muestra las asociaciones de seguridad establecidas, así que una lista vacía tras un intento apunta a la negociación y no al enrutamiento. El listado de políticas muestra qué selectores están instalados, y es ahí donde se excluye un destino fuera de la subred. Lea las dos salidas de xfrm antes de tocar el router, porque describen lo que cree el anfitrión y no lo que permite el router.
Si los paquetes salen y no vuelve nada, mueva la captura al lado WAN del router. Comparar las dos capturas localiza el descarte sin adivinar.
Apague lo que no necesita
Un solo portátil que funcione no demuestra que el router atienda varios clientes a la vez. Cada cliente crea su propio estado de traducción y su propia negociación, y algunos asistentes solo siguen un flujo. Pruebe el número de sesiones simultáneas que realmente necesita, desde las redes que realmente usa. Si el segundo cliente falla mientras el primero funciona bien, ese es el hallazgo y no un túnel inestable.
Deje la opción activada solo cuando una captura muestre que hace falta. Anote la versión del firmware junto al resultado, porque estos comportamientos cambian entre versiones. El objetivo es un túnel de cliente que haya verificado, no un interruptor que haya activado con esperanza.