网络通信 频道

IPSec与NAT共存

IPSec与NAT共存

网络安全和网络地址转换的应用已经十分广泛,单就其中任何一种技术来说,都是很不错的。但是,如何将两个好技术共用又使它们可以和平共处,是很多人正在思考和试图解决的问题。

问题何在?

网络安全IPSec(IP Security)和网络地址转换NAT(Net Address Translation)应用已经十分广泛了,但是要使它们运行在一起,却不是一件 容易的事。

从IP技术的角度来看,NAT对IP的低层进行了修改,对IP是一种“背叛”;而从应用的角度来看,网络管理人员必须要处理网络地址的问题,NAT使用户可以采取多种方式把自己的网络和主机对外部公共网络隐藏起来,是一种好的工具。现在,无论是大企业还是中小企业,都在使用NAT。

与NAT类似,IPSec也是一种好工具,它使用户可以安全地通过Internet连接到远程终端。然而,由于IPSec协议架构本身以及缺乏支持IPSec的NAT设备等因素的影响,当IPSec和NAT在一起运行时就会出现很多问题。解决这些问题最简单的办法,就是再增加一个路由器来运行NAT和虚拟专用网VPN。

可是,对于多数情况来说,并没有多余的路由器来执行这一功能。

“IP的背叛者”NAT

尽管NAT是“IP的背叛者”,但它能解决令人头痛的IP地址紧缺问题,而且能使内外网络隔离,并提供一定的网络安全保障。它解决问题的办法是:在内部网络中使用内部地址,通过NAT把内部地址翻译成合法的IP地址在Internet上使用,即把IP包内的地址域用合法的IP地址来替换。

NAT功能通常被集成到路由器、防火墙、ISDN路由器或单独的NAT设备中。NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上。每个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这给处理器带来了一定的负担。但对于一般的网络来说,这种负担是微不足道的。

NAT有三种类型:静态NAT、动态地址NAT、网络地址端口转换NAPT。根据不同的需要,三种NAT方案各有利弊。

三种NAT类型

静态NAT设置起来最为简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。

动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程连接也可以采用动态NAT。当远程用户连接上之后,动态地址NAT就会分配给其一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。

网络地址端口转换NAPT(Network Address Port Translation)是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。

在Internet中使用NAPT时,所有不同的TCP和UDP信息流看起来好像来源于同一个IP地址。这个优点在小型办公室内非常实用,通过从ISP处申请的一个IP地址,将多个连接通过NAPT接入Internet。这样,ISP甚至不需要支持NAPT,就可以做到多个内部IP地址共用一个外部IP地址上Internet。虽然这样会导致信道的一定拥塞,但考虑到节省的ISP上网费用和易管理等特点,采用NAPT还是很值得的。

“跨国安全卫士”IPSec

IPSec是一个能在Internet上保证通道安全的开放标准。在不同的国家中,跨国企业面临不同的密码长度进出口限制。IPSec能使网络用户和开发商采用各不相同的加密算法和关键字长,从而解决令跨国机构头痛的安全问题。

IPSec生成一个标准平台,来开发安全网络和两台机器之间的电子隧道。通过IPSec的安全隧道,在数据包可以传送的网络中生成像电路那样的连接。IPSec在远地用户之间和在本地网中生成这样的隧道,它也把每个数据包封在一个新的包中,该新包中包含了建立、维持和不再需要时拆掉隧道所必需的信息。

对需要在很多设备之间安全连接的大型网络而言,为确保数据安全,IPSec是一个理想的方法。

部署了IPSec的用户能确保其网络基础设施的安全,而不会影响各台计算机上的应用程序。此套协议是用做对网络基础设施的纯软件升级。这既允许实现安全性,又没有花什么钱对每台计算机进行改造。最重要的是,IPSec允许不同的网络设备、PC机和其他计算系统之间实现互通。

IPSec有两种模式—─传输模式和隧道模式。传输模式只能应用于主机对主机的IPSec虚拟专用网VPN中; 隧道模式主要应用于主机到网关的远程接入的情况。

IPSec协议的两个要点

IPSec协议中有两点是我们所关心的:鉴定报头AH(Authentication Header)和封装安全载荷ESP(Encapsulation Security Payload)。

鉴定报头AH可与很多各不相同的算法一起工作。AH应用得很少,它要校验源地址和目的地址这些标明发送设备的字段是否在路由过程中被改变过。如果校验没通过,分组就会被抛弃。通过这种方式,AH就为数据的完整性和原始性提供了鉴定依据。

封装安全载荷(ESP)信头提供集成功能和IP数据的可靠性。集成保证了数据没有被恶意网客破坏,可靠性保证使用密码技术的安全。对IPv4和IPv6,ESP信头都列在其他IP信头后面。注意两种可选择的IP信头:段到段信头在每个段被路由器等设备立即处理,而终端信头只被接收端处理。ESP编码只有在不被任何IP信头扰乱的情况下才能正确发送包。ESP协议非常灵活,可以在两种加密算法下工作。

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地址之间的协商。

 

转载地址:http://www.net130.com/CMS/Pub/special/special_vpn/223045.htm

0
相关文章