Para permitir el paso del tráfico IPsec NAT-T, ¿por qué el firewall aún necesita permitir ESP cuando ya permite UDP 4500?

Para permitir el paso del tráfico IPsec NAT-T, ¿por qué el firewall aún necesita permitir ESP cuando ya permite UDP 4500?

Establecí un túnel VPN IPsec entre dos enrutadores Juniper SRX a través de NAT, y el firewall (un servidor Linux) realiza la NAT. Al intentar configurar las reglas del firewall para permitir el paso del tráfico VPN IPsec, descubrí que si bien la negociación IKE se completa exitosamente con los puertos UDP 500 y 4500 permitidos, la comunicación del tráfico VPN no funciona a menos que se agreguen reglas para permitir ESP.

Estas son las reglas que apliqué en el firewall, pero solo se completó la negociación IKE:

iptables -F
iptables -P FORWARD DROP

# Inbound
iptables -I FORWARD -s <External IP address> -d <Internal IP address> -p udp --sport 500 -j ACCEPT
iptables -I FORWARD -s <External IP address> -d <Internal IP address> -p udp --sport 4500 -j ACCEPT

# Outbound
iptables -I FORWARD -s <Internal IP address> -d <External IP address> -p udp --sport 500 -j ACCEPT
iptables -I FORWARD -s <Internal IP address> -d <External IP address> -p udp --sport 4500 -j ACCEPT

Y también se deben establecer las dos reglas siguientes para poder transmitir datos con éxito a través del túnel VPN:

iptables -I FORWARD -s <External IP address> -d <Internal IP address> -p 50 -j ACCEPT
iptables -I FORWARD -s <Internal IP address> -d <External IP address> -p 50 -j ACCEPT

Dado que los datos ESP están encapsulados por el encabezado UDP (aquí se proporcionanPaquetes de comunicación VPN capturados en mi firewall), ¿por qué el firewall bloquearía el tráfico del túnel sin permitir ESP en las reglas? Según mis expectativas, cuando el firewall ve que un paquete contiene un encabezado del puerto UDP 4500, debería aceptar el paquete en consecuencia.

información relacionada