On Sat, Sep 25, 2010 at 7:24 PM, Kingsley Charles <[email protected]> wrote:
Hi all
We all know that NAT/PAT and firewall might break IPSec. We use NAT-T, IPSec over UDP and IPSec over TCP.
Some firewall will not inspect ESP traffic hence by wrapping ESP into TCP or UDP would solve the porblem.
Another global problem is NAT or PAT in between IPSec peers.
AH won't work either with NAT or PAT as it authenticates the whole packet. So for now lets forget about AH.
ESP doesn't authenticate the whole header and hence we can make it work across NAT or PAT devices.
Without NAT-T, we can still have ESP across NAT devices by having the remote device to have peer configured as the NATed address.
The interesting topic is ESP over PAT. The problem is that ESP doesn't have a port number. How does the PAT device translate the ESP and thus it breaks ESP. Here comes NAT-T which wraps ESP into UDP using port 4500 and hence PAT devices can translate those wrapped packets.
I was trying ESP over PAT to see how does IOS breaks IPSec. But it did work. It tracks the translation using the ESP SPI number. I didn't have the IPSec
peer and PAT router for "ip nat service" i.e., ESP SPI matching.
Which means IOS routers doing PAT doesn't break ESP and is able to handle it.
In the same lines, I used to wonder how IOS PAT routers handle ping across. The ICMP echo-request packets also doesn't have port numbers but I see IOS router tracking ICMP requests translations too.
So when did this change happen in IOS? IOS router doing PAT doesn't break IPSec using ESP.
Please share your thoughts
With regards
Kings