Paso de IPsec nun router doméstico: que fai realmente
O interruptor deixa pasar un protocolo a través da tradución de enderezos; non inscribe o router como cliente. Capture o intercambio, lea as asociacións e logo decida.
Os interruptores de paso do router son concesións de reenvío para un dispositivo que está detrás, non servizos VPN. Non inscriben o router como cliente, non gardan credenciais nin empurran cada aparello da casa por unha saída remota. O que fan é moldear como un protocolo cruza a tradución de enderezos e os filtros. Unha vez claro isto, o interruptor é fácil de probar e fácil de deixar apagado.
Que fai realmente o router
O router sitúase entre un cliente e un par IPsec e reenvía paquetes que nunca foi deseñado para entender. Os fabricantes implementan a función de polo menos tres maneiras: un asistente de protocolo que segue ou reescribe o estado, unha excepción de filtro que detén o descarte de ESP, ou un modo de compatibilidade dirixido a clientes máis antigos. A etiqueta da interface web raramente di cal das tres ten. Só as notas do firmware ou unha captura de paquetes o dirán.
Un asistente tamén pode empeorar as cousas. A axuda escrita para un fluxo máis antigo ás veces interfire cun cliente que xa manexa a tradución correctamente. Cando un cliente moderno funciona coa opción desactivada, deixala desactivada é a mellor configuración.
O paso nunca entrega ao router as claves dos pares. Segue vendo os enderezos e os portos externos, e segue aplicando a súa propia política de reenvío a eles.
NAT e NAT-T deciden a ruta
IPsec non se construíu para sobrevivir á tradución de enderezos, así que os estándares engadiron unha envoltura. O NAT traversal encapsula ESP dentro de UDP, o que permite que unha táboa NAT ordinaria transporte o fluxo, e a negociación acorda ese cambio durante IKE (RFC 3948). O propio IKE usa UDP 500, mentres que a ruta encapsulada adoita usar UDP 4500.
Por iso unha regra de cortafogos que só permita o protocolo 50 non abonda nunha ruta traducida. Bloquear 4500 rompe o caso para o que existe a envoltura, e bloquear 500 detén a negociación antes de que se forme ningún túnel. As dúas direccións importan, porque un router con estado adoita permitir a resposta só despois de ver a petición. Chegar a un porto non é o mesmo que rematar a autenticación, nin que reenviar tráfico protexido.
Os arranxos máis antigos difiren o suficiente como para que unha guía escrita para eles poida inducir a erro. Cando un cliente ofrece ambos os modos, probe o que documenta o seu par e non o que ten máis resultados de busca.
Atope a etapa que falla
Divida o problema en negociación, autenticación, protección do fillo e reenvío interno, e logo reúna probas dunha etapa á vez. Un reinicio que cambia o resultado temporalmente só demostra 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
A captura mostra se o intercambio chega ao par e se volven as respostas, o que separa un problema de filtrado dun problema de credenciais. A listaxe de estado mostra as asociacións de seguridade establecidas, así que unha lista baleira tras un intento apunta á negociación e non ao encamiñamento. A listaxe de políticas mostra que selectores están instalados, e é aí onde se exclúe un destino fóra da subrede. Lea as dúas saídas de xfrm antes de tocar o router, porque describen o que cre o anfitrión e non o que permite o router.
Se os paquetes saen e non volve nada, mova a captura ao lado WAN do router. Comparar as dúas capturas localiza o descarte sen adiviñar.
Apague o que non necesita
Un só portátil que funcione non demostra que o router atenda varios clientes á vez. Cada cliente crea o seu propio estado de tradución e a súa propia negociación, e algúns asistentes só seguen un fluxo. Probe o número de sesións simultáneas que realmente necesita, desde as redes que realmente usa. Se o segundo cliente falla mentres o primeiro vai ben, ese é o achado e non un túnel inestable.
Deixe a opción activada só cando unha captura mostre que fai falta. Anote a versión do firmware xunto ao resultado, porque estes comportamentos cambian entre versións. O obxectivo é un túnel de cliente que verificase, non un interruptor que activou con esperanza.