Warum muss die Firewall, um IPsec-NAT-T-Verkehr durchzulassen, noch ESP zulassen, wenn sie bereits UDP 4500 zulässt?

Warum muss die Firewall, um IPsec-NAT-T-Verkehr durchzulassen, noch ESP zulassen, wenn sie bereits UDP 4500 zulässt?

Ich habe einen IPsec-VPN-Tunnel zwischen zwei Juniper SRX-Routern über NAT eingerichtet, wobei das NAT von der Firewall (einem Linux-Server) durchgeführt wurde. Beim Versuch, die Firewall-Regeln so zu konfigurieren, dass IPsec-VPN-Verkehr durchgelassen wird, habe ich festgestellt, dass die IKE-Aushandlung zwar erfolgreich abgeschlossen wird, wenn die UDP-Ports 500 und 4500 zugelassen sind, die VPN-Verkehrskommunikation jedoch nicht funktioniert, wenn keine Regeln hinzugefügt werden, die ESP zulassen.

Hier sind die Regeln, die ich auf die Firewall angewendet habe, aber nur die IKE-Aushandlung wurde abgeschlossen:

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

Und um Daten erfolgreich durch den VPN-Tunnel übertragen zu können, sollten zusätzlich folgende zwei Regeln gesetzt sein:

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

Da die ESP-Daten im UDP-Header gekapselt sind (hier sindAuf meiner Firewall erfasste VPN-Kommunikationspakete), warum sollte die Firewall den Tunnelverkehr blockieren, ohne ESP in den Regeln zuzulassen? Meiner Erwartung nach sollte die Firewall das Paket akzeptieren, wenn sie erkennt, dass ein Paket einen UDP-Port-4500-Header enthält.

verwandte Informationen