IKE sobre TCP 4500: compruebe ambos extremos antes de la regla de puerto
La encapsulación TCP la negocian ambos extremos, no la concede una regla de firewall. Ejecute la comprobación del listener, la captura y las cuatro etapas de aceptación en orden.
Los tiques de soporte suelen llegar con el cambio de firewall ya aprobado y el túnel aún negándose a levantarse. Ese es el resultado esperado cuando solo un extremo tiene la función: la encapsulación TCP según el RFC 9329 debe implementarse y configurarse en ambos extremos, y el acuerdo ocurre dentro de la conexión antes de que pueda moverse tráfico protegido alguno. Abrir un puerto anuncia un listener que puede no existir, y un listener sin la configuración correspondiente al otro lado acepta una conexión y luego calla. La secuencia siguiente pone primero las comprobaciones baratas.
Sepa qué añade realmente la opción
El IPsec nativo transporta las cargas cifradas como protocolo IP 50, sin número de puerto que permitir. El NAT traversal envuelve esos paquetes en UDP hacia el puerto 4500, y por eso tantas reglas de firewall mencionan ese puerto. El RFC 9329 añade una representación de flujo: los paquetes IKE e IPsec viajan ambos dentro de una sola conexión TCP, normalmente hacia el puerto 4500.
El flujo no es un servicio web. Una conexión TCP al 4500 no dice nada sobre HTTP, TLS o amabilidad con intermediarios, y un intermediario HTTP en la ruta normalmente romperá el encuadre en lugar de transportarlo.
Comprobación previa antes de tocar el firewall
El estándar sitúa TCP como alternativa para redes que descartan la ruta UDP, no como sustituto de ella. Obtenga dos datos de cada proveedor: el nombre exacto de la función y la versión que implementa el RFC 9329 en lugar de una variante propietaria. Etiquetas como IPsec over TCP se han usado para diseños no relacionados, así que pida la referencia del documento y la clave de configuración que la activa. Sin ambas respuestas, no suponga nada sobre la compatibilidad en el cable.
Demuéstrelo en un laboratorio donde ambos extremos sean suyos. Una pasarela que responde al TCP 4500 pero nunca completa IKE es la firma de un listener sin la encapsulación correspondiente al otro lado, y descubrirlo allí es mucho más barato que durante una ventana de cambio.
En el respondedor: hay algo escuchando
Empiece por el socket. ss -ltnp | grep 4500 muestra si existe un listener TCP y qué proceso lo posee. La ausencia de una línea termina la investigación en la configuración de la pasarela y no en la red.
Si el socket está ahí, observe el saludo en lugar de adivinar desde el lado del cliente: tcpdump -ni any 'tcp port 4500'. Un saludo de tres vías completado seguido de silencio significa que el flujo se aceptó y que el intercambio IKE dentro de él falló, mientras que un SYN sin respuesta apunta al filtrado o a la dirección equivocada.
Compare con la ruta UDP en la misma ventana de captura para que las dos no se confundan: tcpdump -ni any 'udp port 4500 or proto 50'. Tráfico en el protocolo 50 o en el puerto UDP 4500 mientras cree que se usa TCP significa que los extremos nunca acordaron la alternativa. Capture también en la pasarela si puede, porque una captura del lado del cliente no puede mostrar qué envió el extremo remoto.
Acepte en cuatro etapas separadas
Trate el levantamiento como cuatro resultados. Cada uno puede fallar por un motivo distinto, y un solo aprobado o fallido oculta cuál fue, así que deténgase en la primera etapa que falle y empiece de nuevo desde arriba.
| Stage | What you check | What it proves |
|---|---|---|
| 1 | TCP connection established to 4500 | A listener exists and the path permits it |
| 2 | IKE_SA authenticated in the gateway log | Both peers agreed on the encapsulation |
| 3 | CHILD_SA installed, visible with ip xfrm state | Keys exist for the protected traffic |
| 4 | A new application exchange succeeds | The data path works, not just the control path |
La cuarta etapa es la que se salta. Una sesión existente puede seguir funcionando con estado en caché, así que abra una conexión nueva a un host detrás de la pasarela antes de cerrar el cambio. Si la segunda etapa falla mientras la primera pasa, el desacuerdo está en la propuesta o en el ajuste de encapsulación, no en el firewall.
Reversión y el coste de dejarlo activado
Planifique la deshacer antes del cambio: desactive la opción de encapsulación en ambos extremos y confirme que el túnel vuelve por UDP. Mantenga la regla TCP un ciclo de revisión por si la alternativa vuelve a hacer falta y luego retírela. Un listener sin uso en el 4500 es superficie sin ningún valor operativo.
Vigile la firma de rendimiento cuando lleve trabajo real. TCP dentro de TCP añade capas de confirmación que se atascan con una sola pérdida, y los flujos que comparten una conexión pueden bloquearse entre sí, así que mida la aplicación que usará el túnel en lugar de un ping.
Lista de aceptación
Confirme el nombre y la versión de la función en ambos extremos, el listener en el respondedor, la captura que muestra un saludo completo y las cuatro etapas registradas con marcas de tiempo. Añada el motivo de la alternativa al registro del cambio para que el siguiente ingeniero sepa por qué está TCP. Ensaye la reversión antes de necesitarla.
Si alguna etapa falla, repare solo esa etapa. Cambiar el conjunto de cifrado o los ajustes de identidad para perseguir un problema de transporte suele añadir un segundo fallo no relacionado encima del primero.