Nat穿越技术解决的问题:
 正常ipsec vpn产生的esp包是无法穿越pat的,因为esp没有四层的端口信息,所以无法实现pat转换。为了解决这个问题产生了nat穿越 技术,nat穿越技术整体的思想就是把esp的流量封装在udp或者tcp的包里边来穿越pat设备,这样就克服了esp不能穿越pat设备的问题。
7.0所支持的所有nat穿越技术:
1.ipsec-over-udp                    Cisco私有技术
2.nat-t                             标准的技术
3.ipsec-over-tcp                    Cisco私有技术
nat穿越技术的优先顺序:
1.试验结果证明如果三个技术一起打开 ipsec-over-tcp 优先。
2.试验结果证明如果只打开 nat-t/ipsec-over-udp, nat-t优先。
3.所以nat穿越的优先顺序是 ipsec-over-tcp | nat-t | ipsec-over-udp
7.0默认nat穿越技术的配置
 默认情况和vpn3000一样没有打开任何nat穿越技术,但是12.3以后的router默认是打开了nat-t功能的。
Ipsec-over-udp的介绍:
 技术特点:
 把esp包封装在server端(7.0)预先定义的udp端口号内进行传输。
 具体流量:
 在启用ipsec-over-udp后,依然存在isakmp的包(6个主模式,3个快速模式,端口号为500),只是后来的esp包被封装在了server端预定义的一个特定udp端口号里边进行传输。
 配置命令:
 Server端
 Pixfirewall(config)#group-policy split attributes
 Pixfirewall(config-group-policy)#ipsec-udp enable
 Pixfirewall(config-group-policy)#ipsec-udp-port 5000
 Client
 软件client端不需要额外配置
Nat-t的介绍:
 技术特点:
 把esp包封装在4500的udp端口号内进行传输。
 具体流量:
 在启用nat-t后,依然存在isakmp的包(6个主模式,3个快速模式,端口号为500),只是后来的esp包被封装在了4500的udp端口号里边进行传输。
 配置命令:
 Server端
 Pixfirewall(config)#isakmp nat-traversal 
 Client端
 软件client端不需要额外配置
Ipsec-over-tcp的介绍:
 技术特点:
 把esp包封装在server端(7.0)预先定义的tcp端口号内进行传输。
 具体流量:I
 在启用ipsec-over-tcp后,所有ipsec相关的包都被封装到了tcp的流量里边,包括isakmp和esp的包,在整个传输过程中不会出现udp/500的isakmp包。
 配置命令:|
 Server端z
 Pixfirewall(config)#isakmp ipsec-over-tcp port 1001 1002 1003 (up to 10);
 Client端
 需要在transport面板里边设置ipsec-over-tcp并且需要定义一个与server端相同的端口号
 IPSec over TCP    TCP Port  1003

PPTP协议的初始过程中,也有一步是需要建立GRE通道的,也存在这样的一个问题,我当时为解决这个问题查出了一个cisco document,解决方法里并没有上面写的nat-t 这一项,不知道适不适用