NAT Traversal is a method for encapsulating IPsec ESP packets into UDP packets for passing through routers or firewalls employing Network Address Translation (NAT). See nat_traversal for an example openswan configuration.
The NAT-T standard has been published by the IETF in a number of RFCs:
Recent versions of Openswan support the NAT-T RFC and the draft versions of these RFCs. There were several drafts:
The NAT-T support for KLIPS was done by Mathieu Lafon, from Arkoon Network Security. The NAT-T support for 26sec was done by Herbert Xu(?).
To enable it, you need NAT-T (technically, ESPinUDP) support in your kernel. Kernels 2.6.6 and higher include this. For 2.4 kernels, you need to patch your kernel - see the README included in Openswan on how to do this.
Known good interops:
Unknown: