IP Sec VPN与NAT破镜重圆

来源 :微电脑世界 | 被引量 : 0次 | 上传用户:wsp1983
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  

笔者第一次在客户那里做支持时遇到需要使IPSec 加密数据通过NAT 设备的情况,感觉这种配置非常的奇怪,也很难解决。后来在支持使用IPSec VPN 客户的过程中,不断遇到这种情况,才意识到其实这种情况不但非常常见,而且也有其合理性,所以决定总结一些这方面的问题,希望能够让读者得到一些帮助。
  NAT 网络地址翻译(Network Address Translation )技术主要是用来解决IPv4地址紧张的问题。它通过将用户网络内部的网络地址映射成公网地址来达到目的,因为这种方法隐藏了内部地址,因此一个内部网络的机器需要访问外部Internet 网络,这个内部网络只需要少量的外部公网地址就可以了,而不必每台内部机器一个公网地址。
  当然因为内网地址信息对外隐藏,形成内外网的隔离,使得外网无法访问内部主机,所以NAT 技术还在一定程度上保证了内部网络的安全。
  IPSec作为IPv4技术的一部分是使用最为普遍的VPN标准。现在随着企业信息化的快速发展,越来越多的用户都在部署基于IPSec的VPN设备,以达到通过Internet上进行多个企业内网安全通信和远程访问内网的需求。
  但是很不幸的是,这两种非常重要且应用广泛的技术在一起工作的时候却有许多问题,以致无法使用。如何让NAT与IPSec 正常地同时工作一直是各个VPN厂商致力解决的问题,现在国际上也有相应的标准和技术出台,一种称为NAT-T(NAT穿越)的技术就是其中典型代表。
  好端端的NAT
  

NAT技术完成的基本功能就是IP数据包网络地址的转换,如将一个内网的在Internet 上不可路数据由地址192.168.1.200 转换成Internet 上的可以路由的地址202.124.23.65。很多的网关设备都有NAT功能,如路由器、防火墙,我们可以把它们统一称为NAT 设备。当NAT设备转换的是源地址时,我们通称称其为SNAT(源地址NAT)。事实上我们大多数人在公司上Internet 网时都是利用这种方法,简单过程如下当一个内网外出的数据包经过这些NAT设备时,数据包的源地址就会被NAT设备的公网地址所替代,同时NAT 设备会记录地址的映射信息,这样这个数据包就可以被路由从而在Internet 上传输。当数据包返回到NAT 设备时,有通过记录下的地址映射信息源地址转为原来的数据包地址。同理也有DNAT(目标地址NAT),这种情况下NAT设备转换的是数据包的目的地址。
  叫好又叫座的IPSec VPN
  因为在Internet 早期,安全的需求非常少,因此在IP 协议设计之初并没有考虑安全性,因此标准的IP 协议是不安全的。随着Internet 上的商业发展,安全问题日益突出,必须建立新的安全协议标准来满足这种需求。IPSec(IP Security)协议应运而生。
  IPSec在3个方面保证了网络数据包的安全:机密性、完整性、认证性。机密性就是保证数据包的原始内容不被看到;完整性即保证数据包的内容不会被修改;认证性保证数据来自被信任的客户端。因此不可避免地需要使用多种的加密算法来修改数据包的内容。修改后的数据包有2种主要的封装形式: AH (Authentication Header) 和ESP (Encapsulating SecurityPayload)。 AH在IP数据包中插入了一个包头,其中包含对整个数据包内容的校验值。AH只用于对IP 数据包的认证,而并不对数据包认证作任何修改。ESP用户加密整个数据包内容,同时也可以对数据包进行认证。AH和ESP 即可以同时使用也可以分开使用。
  IPSec 在传输数据的时候也有2 种不同的模式:传输模式和隧道模式。传输模式主要用于主机到主机之间的直接通信;而隧道模式主要用于主机到网关或网关到网关之间。传输模式和隧道模式主要在数据包封装时有所不同(如图1 所示)。
  在传输模式中,只有IP包的传输层部分被修改(认证或者加密)。 而在隧道模式中,整个数据包包括IP头都被加密或认证(如图2)。
  NAT 与IPSec VPN 的裂痕
  

在多数情况下NAT 的处理对用户使用是完全透明的,但是当希望使用IPSec 技术组建VPN 网络时,NAT 却带来了很大的麻烦。IPSec协议的主要目标是保护IP数据包的完整性,这意味着IPSec会禁止任何对数据包的修改。但是NAT 处理过程是需要修改IP 数据包的IP 头数据、传输层报文头数据甚至传输数据的内容(如FTP 应用),才能够正常工作。所以一旦经过IPSec 处理的IP 包穿过NAT设备时,包内容被NAT 设备所改动,修改后的数据包到达目的主机后其解密或完整性认证处理就会失败,于是这个报文被认为是非法数据而被丢弃。这就是组建VPN 网关最常见的“IPSec 与NAT 协调工作”的问题。那么我们在什么时候会遇到这个问题呢?如果我们的VPN 设备在NAT设备的后面,如果我们在外地上网需要通过VPN客户端访问公司内网,如果我们没有合法的公网地址,只能通过服务商接入Internet 等等,都会遇到这个问题。
  无论传输模式还是隧道模式,AH都会认证整个数据包。不同于ESP 的是,AH还会认证位于AH头之前的IP 头。当NAT 设备修改了IP 头之后,IPSec 就会认为这是对数据包完整性的破坏,从而丢弃数据包。因此AH 是绝对不可能和NAT 在一起工作的。
  我们再来看看使用ESP时的情况。ESP在传输模式时会保护TCP/UDP头,但是并不保护IP 头,因此修改IP 地址并不会破坏整个数据包的完整性。但是如果数据包是TCP/UDP数据包,NAT设备就需要修改数据包的校验值,而这个校验值是被ESP 所保护的,这样却会导致完整性校验失败。 所以最终可能和NAT一起工作的只能是隧道模式下的ESP。但是IKE和NAT工作时却有存在着冲突。
  缝合旧创伤
  现在有许多的解决方案来解决NAT 和IPSec 共存问题,这里我们主要讨论一种最主要的解决方法:NAT-T和NAT穿越。NAT-T设计简单,不需要改动已有的设备或者协议,只需要边界设备支持即可。这个技术的基本思路是在IPSec 封装好的数据包外再进行一次UDP 的数据封装。这样,当此数据包穿过NAT 网关时,被修改的只是最外层的IP/UDP 数据,而对其内部真正的IPSec 数据没有进行改动;在目的主机处再把外层的IP/UDP 封装去掉,就可以获得完整的IPSec 数据包。NAT-T在实际运作时,第一步是判断通信的双方是否支持NAT-T,这主要通过IKE协商时彼此发送的第一个数据包来判断。在判断双方均支持NAT-T后,进入到第二步,去发现在上方的链路中间是否存在NAT设备,这一步通常成为NAT发现。NAT发现的原理实际上就是判断通信双发的IP 地址或者端口是否发生了改变。当发现NAT 设备以后,NAT-T 双方开始协商所采用的数据包封装方式,至此完成协商过程。
  当在VPN之间的链路中发现NAT设备之后,除对数据包进行ESP 处理外,还需要额外的进行一些其他的处理和封装。即对IPSec 通信数据采用UDP 和IKE端口的包头进行封装,因此这种封装后的数据包实际上和正常的IKE 协商数据包有相同的包头(IP 头和UDP头),从而避免防火墙对IPSec 通信数据和IKE协商数据使用不同的安全策略。NAT-T 后数据包的封装格式如图3 所示。通过在IP 头后,ESP 包头之前插入一个UDP 包头来完成NAT-T 的UDP 封装。这样的数据包在经过NAT 设备时就会被认为是一个正常的UDP数据包,从而完成NAPT转换,数据包到达VPN网关时也不会校验设备。
  显然,NAT-T加大了数据包的长度和负载,大约为每个数据包增加了20B 的长度。这增加了设备处理的时间和负担。但是对应NAT-T的实现简单和安全而言,这是非常值得的,因此NAT-T实际上已成为VPN设备的必备功能,由于NAT 技术在国内的广泛应用,不具备这种功能的IPSec VPN使用环境会大大受到限制,所以用户在选用VPN 设备时应该将这一功能作为一个重要的考核指标。
其他文献
4 月19 日,IBM 在北京发布了一款最新的主机产品IBM eServer z系列890,它以主机旗舰产品z990为基础,在技术方面再做突破,并以更低的入门级价格推向中型企业客户。   z890 传承了z990 上的主机技术,其上的4个处理器各具有7个引擎等级,能够提供28个容量级别,客户可以根据自己的业务需求更精确地选择所需的服务器容量。   同时,IBM宣布对z990进行同步于z890的技术
期刊
精确 精细 精心描绘—— CorelDraw 12 加速创建精细绘图    就CorelDraw 12(V12)而言,这个Corel公司的拳头产品CorelDraw GraphicsSuite 并没有经历一场大规模的改造。实际上,它大部分的重要修改都是针对一个目标的:在CorelDraw 插图程序中提高创建精细绘图的速度。   在业界和寻求高性价比的图形制作产品的技术人员中,这套组件保留了其良好的
期刊
IBM公司最近陆续发布3款ThinkPadR 系列经济型笔记本产品R50e、R51 和R40e,根据具体配置的差异又分成30 余种不同型号。   作为IBM ThinkPad R50 的简化版,新推出的R50e采用了Pentium-M 1.4GHz处理器,屏幕尺寸有14.1 英寸和15 英寸两种。R50e与标准版R50的不同之处在于采用了Intel 855GME 集成显卡,不具备APS(主动硬盘保
期刊
国产万兆性能优越——神州数码系列万兆交换机    神州数码网络最近发布了DCRS-7600核心万兆机箱式路由交换机,包括DCRS-7616/08/04共3款设备,面向大型园区核心、大型城域网汇聚应用。DCRS-7616提供了18个插槽,包括16个业务接口模块插槽和2个管理模块插槽。DCRS-7608 提供了10 个插槽,包括8个业务接口模块插槽和2个管理模块插槽。DCRS-7604提供了6个插槽,
期刊
Toshiba投影机总代理神州数码在4月推出了一款面向教育用户的投影机T o s h i b a T L P - S 7 0 ,进一步扩展了Toshiba投影机在中国的产品线。这款新产品注重实用,并将健康教育的观念贯穿其中。Toshiba TLP-S70 标称亮度为2600 ANSI lm,对比度为400:1,重量仅为2.3kg,适合在不同教室演示的教师使用。   TLP-S70 具有高效低噪音散
期刊
Asus(华硕电脑)正式推出一款将3C应用完美融合,大胆超越传统笔记本电脑范畴的宽屏幕笔记本电脑产品W1N,并将其作为Asus 成立十五周年的经典珍藏机型。   Asus W1N 搭配了设计精巧、容易收藏的遥控器,并具有智能型MobileTheater电视预录功能,通过设在前侧的AV输入口,用户可将DVD、录像机、数码摄像机等影音数据方便地输入笔记本电脑,实现播放、剪辑、刻录等操作,同时还可选购内
期刊
清华紫光近日推出的“大眼睛”M260 MP3数码随身听兼具MP3播放、FM调频收音、录音和移动存储等实用功能。这款MP3 采用了高效节电技术,使用1节AAA电池就可连续播放10h以上。   又讯,清华紫光推出为教育用户量身定制的文诚E 系列电脑。该机采用了可立可卧的瘦机箱设计,可根据不同空间随意放置,并具有预留锁孔、硬盘保护、一键恢复等安全设计。该系列之一的文诚2100配置Intel Pentiu
期刊
Nokia 为游戏发烧友设计的手机N-Gage在2003 年进入市场时,曾被认为是GameBoy 的强劲对手,但一些产品设计和游戏软件方面的限制却让这一预言没有实现。4 月中旬,Nokia发布新一代的N-Gage QD。   作为N-Gage的升级产品,这款外形更具曲线动感的N-Gage QD具有一个可热插拔的MMC插槽,用户可以更加方便地进行游戏和数据更新。进入游戏的快捷键、亮度更高的屏幕以及能
期刊
万兆交换多系列——HP 9300m  HP 公司最近发布HP ProCurveSwitch 9300m 系列万兆以太网交换机。该系列交换机根据可用模块插槽数目的不同,有3 种型号,分别是HP ProCurveSwitch 9315m、9308m 和9304m 路由交换机,分别有15 个、8 个和4 个可用模块插槽。9300m 系列具有高达345Mpps 的第2/3层转发性能,最大支持28个万兆以太
期刊
很多时候,系统管理员需要远程关闭或重新启动一台Windows 2000服务器,但是Windows 2000本身是不能实现远程关闭或重新启动的。我们可以使用Microsoft Windows 2000 Resource Kit 工具箱中提供的Shutdown.exe 工具实现。此命令行工具可用于关闭或重新启动正在运行Windows 2000的本地或远程计算机。如果Shutdown与at命令或任务计划
期刊