解决争端 让IPsec与NAT两技术和平共处
封装安全载荷(ESP)信头提供集成功能和IP数据的可靠性。集成保证了数据没有被恶意网客破坏,可靠性保证使用密码技术的安全。对IPv4和IPv6,ESP信头都列在其它IP信头后面。注意两种可选择的IP信头,段到段信头在每个段被路由器等立即系统处理,而终端信头只被接收端处理。ESP编码只有在不被任何IP信头扰乱的情况下才能正确发送包。ESP协议非常灵活,可以在两种加密算法下工作。建立IPSec的两个或者更多系统之间可以使用其他转换方式。现在,可选择算法包括Triple-DES、RC5、IDEA、CAST、BLOWFISH和RC4。
NAT和IPsec之间的“矛盾”
NAT和AH IPsec无法一起运行,因为根据定义,NAT会改变IP分组的IP地址,而IP分组的任何改变都会被AH标识所破坏。当两个IPsec边界点之间采用了NAPT功能但没有设置IPsec流量处理的时候,IPsec和NAT同样无法协同工作;另外,在传输模式下,ESP IPsec不能和NAPT一起工作,因为在这种传输模式下,端口号受到ESP的保护,端口号的任何改变都会被认为是破坏。在隧道模式的ESP情况下,TCP/UDP报头是不可见的,因此不能被用于进行内外地址的转换,而此时静态NAT和ESP IPsec可以一起工作,因为只有IP地址要进行转换,对高层协议没有影响。
解决争端 和平共处
为了解决ESP IPsec和NAPT共用的问题,设备生产商提出了多种解决方法。简单的办法是专门用一个工作站来运行IKE,以处理所有的IPsec分组,但这样只允许一个IPsec VPN通过NAPT。客户端可以一开始通过端口号500传送数据进行协商,将所有进入到NAPT设备的IPsec分组传送到指定的主机,同时使NAPT设备将所需的IPsec数据送回到客户端。为了使NAPT正常工作,必须保证内部网络和外部网络之间转换的源端口号是惟一的。因此,我们可以使用IKE来进行协商,IKE采用UDP的500端口,所以不需要任何的特殊处理。为了在两个主机之间传送IPsec流量,我们需要使用SPI。每个SA都有SPI,在VPN安装过程中进行IKE协商时,它们互相交换SPI。NAPT设备将这一对SPI数字映射到NAT内的相关的VPN终端。IPsec 客户端选择的SPI要映射到一个内部IP地址,因为NAPT设备要通过它来确定将流入的流量传送到哪里。
几点值得注意:
1.这种解决争端的方法只适用于位于NAPT设备之外的IPsec 客户端来初始化IPsec VPN;
2.必须要设置IPsec网关,用NAPT网关给出的某个IP地址进行IKE协商。ESP用SPI、目的地址和协议号来查找IPsec分组所属的SA,因为IPsec网关只是通过NAPT地址来确定IPsec客户端,它必须使用这个地址进行协商;
3.许多IKE鉴定是通过IP地址相关的预先设定或者与密码来进行处理的,因此必须设置IPsec网关与NAPT IP地址之间的协商.