Abrir UDP 500 na devasa firewall fai que o túnel negocie, e despois a conexión deixa de pasar tráfico. A lista de portos estaba incompleta, non equivocada. IKEv2 comeza nun socket e, en moitas implantacións reais, continúa noutro, mentres que a carga útil pode non ser un porto en absoluto. Ler as etapas en orde explica que regra falta.

Dous portos, dúas tarefas

IKEv2 comeza cun intercambio de chaves en UDP 500, onde os pares se autentican e establecen unha asociación de seguridade para o túnel. A ruta de datos que segue é un asunto aparte: pode ser ESP nativo, que é un número de protocolo IP e non un porto, ou tráfico encapsulado en UDP en 4500. Manter isto separado nunha revisión da devasa firewall é a diferenza entre un túnel que negocia e un túnel que funciona. Un socket leva o control e o outro a carga útil.

Por iso unha regra que só permite 500 produce o síntoma máis confuso de toda a familia de protocolos: a negociación ten éxito e non segue nada útil. O estado mostra un par, o rexistro mostra unha IKE SA establecida e a aplicación segue esgotando o tempo. O permiso que falta pertence a un fluxo distinto do que acaba de funcionar.

Por que existe 4500

Moitos dispositivos NAT non poden reenviar outro protocolo que non sexa TCP ou UDP, e algúns reescriben os enderezos de xeitos que rompen a comprobación de integridade de ESP. Encapsular ESP dentro de UDP resolve ambos os problemas, a costa dunha cabeceira adicional e un segundo porto que permitir. Ese encapsulamento é a razón pola que o segundo porto existe.

Cando se detecta NAT, IKE tamén se traslada a 4500 para que todo o tráfico comparta unha soa ruta a través do tradutor. Un marcador de catro bytes que non é ESP distingue as mensaxes de control dos datos nese socket. O cambio é unha decisión do protocolo, non unha preferencia do administrador.

Onde cambia o porto de orixe

Un tradutor pode reescribir o porto de orixe do cliente, así que a tupla que ve o servidor non coincide coa tupla do cliente. Mira ambos os lados de cada salto NAT antes de concluír que se ignora unha regra. Diagnosticar só no cliente pode producir unha regra que parece correcta e aínda así falla.

As implantacións compatibles con MOBIKE tamén poden pasar a 4500 sen NAT detectado, e algunhas instalacións forzan esa ruta deliberadamente. Ver 4500 é, polo tanto, evidencia dunha decisión, non proba dun router doméstico.

Comproba ambos os fluxos en cada fronteira

Percorre as tres fronteiras: a rede do cliente, calquera devasa firewall intermedia e o servidor. Cada unha necesita os fluxos que documenta a instalación, non os fluxos dun artigo sobre outro caso.

sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
sudo iptables -S | grep -E '500|4500|esp'
ip xfrm state

A liña ESP dunha lista de devasa firewall é unha coincidencia de protocolo, así que unha regra de porto nunca a cobre. Se o operador usa un porto personalizado, segue a configuración documentada nos dous extremos, porque un cliente non pode crear un receptor no servidor elixindo un número coñecido.

Rexistra onde se detivo a negociación e se se instalou unha asociación de seguridade filla, porque ese par separa unha ruta bloqueada dun erro de autenticación ou de política. Despois repite a proba coa verificación do servidor activada, porque a accesibilidade non é autenticación. Ese último paso separa un porto permitido dun par de confianza.

Artigos relacionados