前言:随着Internet技术的不断以指数级速度增加,珍贵的网络地址分配给专用网络终于被视做是一种对宝贵的虚拟房地产的浪费。所以出现了网络地址转换(NAT)标准,就是将某些IP地址留出来供专用网络重复使用。本文将详细告诉你如何正确应用网络地址转换NAT技术。 1、NAT技术的定义 NAT英文全称是Network Address Translation,称是网络地址转换,它是一个IETF标准,容许一个机构以一个地址出如今Internet上。NAT将每一个局域网节点的地址转换成一个IP地址,反之亦然。它也能够应用到防火墙技术里,把个别IP地址隐藏起来不被外界发现,使外界没法直接访问内部网络设备,同时,它还帮助网络能够超越地址的限制,合理地安排网络中的公有Internet 地址和私有IP地址的使用。 2、NAT技术的基本原理和类型 一、NAT技术基本原理 NAT技术能帮助解决使人头痛的IP地址紧缺的问题,并且能使得内外网络隔离,提供必定的网络安全保障。它解决问题的办法是:在内部网络中使用内部地址,经过NAT把内部地址翻译成合法的IP地址在Internet上使用,其具体的作法是把IP包内的地址域用合法的IP地址来替换。 NAT功能一般被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。每一个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这意味着给处理器带来了必定的负担。但对于通常的网络来讲,这种负担是微不足道的。 二、NAT技术的类型 NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每一个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不一样端口上。根据不一样的须要,三种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。实际上,许多SOHO远程访问设备支持基于PPP的动态IP地址。这样,ISP甚至不须要支持NAPT,就能够作到多个内部IP地址共用一个外部IP地址上Internet,虽然这样会致使信道的必定拥塞,但考虑到节省的ISP上网费用和易管理的特色,用NAPT仍是很值得的。 3、在Internet中使用NAT技术 NAT技术可让你区域网路中的全部机器经由一台通往Internet的server 线出去,并且只须要注册该server的一个IP就够了。 在以往没有NAT技术之前,咱们必须在server上安装sockd,而且全部的clients都必需要支援sockd,才可以通过server的sockd连线出去。这种方式最大的问题是,一般只有telnet/ftp/www-browser支援sockd,其它的程式都不能使用;并且使用sockd的速度稍慢。所以咱们使用网络地址转换NAT技术,这样client不须要作任何的更动,只须要把gateway设到该server上就能够了,并且全部的程式(例如kali/kahn等等) 均可以使用。最简单的NAT设备有两条网络链接:一条链接到Internet,一条链接到专用网络。专用网络中使用私有IP地址(有时也被称作Network 10地址,地址使用留作专用的从10.0.0.0开始的地址)的主机,经过直接向NAT设备发送数据包链接到Internet上。与普通路由器不一样NAT设备实际上对包头进行修改,将专用网络的源地址变为NAT设备本身的Internet地址,而普通路由器仅在将数据包转发到目的地前读取源地址和目的地址。 4、应用NAT技术的安全策略 一、应用NAT技术的安全问题 在使用NAT时,Internet上的主机表面上看起来直接与NAT设备通讯,而非与专用网络中实际的主机通讯。输入的数据包被发送到NAT设备的IP地址上,而且NAT设备将目的包头地址由本身的Internet地址变为真正的目的主机的专用网络地址。而结果是,理论上一个全球惟一IP地址后面能够链接几百台、几千台乃至几百万台拥有专用地址的主机。可是,这实际上存在着缺陷。例如,许多Internet协议和应用依赖于真正的端到端网络,在这种网络上,数据包彻底不加修改地从源地址发送到目的地址。好比,IP安全架构不能跨NAT设备使用,由于包含原始IP 源地址的原始包头采用了数字签名。若是改变源地址的话,数字签名将再也不有效。 NAT还向咱们提出了管理上的挑战。尽管NAT 对于一个缺乏足够的全球惟一Internet地址的组织、分支机构或者部门来讲是一种不错的解决方案,可是当重组、 合并或收购须要对两个或更多的专用网络进行整合时,它就变成了一种严重的问题。甚至在组织结构稳定的状况下,NAT系统不能多层嵌套,从而形成路由噩梦。 二、应用NAT技术的安全策略 当咱们改变网络的IP地址时,都要仔细考虑这样作会给网络中已有的安全机制带来什么样的影响。如,防火墙根据IP报头中包含的TCP端口号、信宿地址、信源地址以及其它一些信息来决定是否让该数据包经过。能够依NAT设备所处位置来改变防火墙过滤规则,这是由于NAT改变了信源或信宿地址。若是一个NAT设备,如一台内部路由器,被置于受防火墙保护的一侧,将不得不改变负责控制NAT设备身后网络流量的全部安全规则。在许多网络中,NAT机制都是在防火墙上实现的。它的目的是使防火墙可以提供对网络访问与地址转换的双重控制功能。除非能够严格地限定哪种网络链接能够被进行NAT转换,不然不要将NAT设备置于防火墙以外。任何一个淘气的***,只要他可以使NAT误觉得他的链接请求是被容许的,均可以以一个受权用户的身份对你的网络进行访问。若是企业正在迈向网络技术的前沿,并正在使用IP安全协议(IPSec)来构造一个虚拟专用网(×××)时,错误地放置NAT设备会毁了计划。原则上,NAT设备应该被置于×××受保护的一侧,由于NAT须要改动IP报头中的地址域,而在IPSec报头中该域是没法被改变的,这使能够准确地获知原始报文是发自哪一台工做站的。若是IP地址被改变了,那么IPSec的安全机制也就失效了,由于既然信源地址均可以被改动,那么报文内容就更不用说了。那么NAT技术在系统中咱们应采用如下几个策略: ①网络地址转换模块 NAT技术模块是本系统核心部分,并且只有本模块与网络层有关,所以,这一部分应和Unix系统自己的网络层处理部分紧密结合在一块儿,或对其直接进行修改。本模块进一步可细分为包交换子模块、数据包头替换子模块、规则处理子模块、链接记录子模块与真实地址分配子模块及传输层过滤子模块。 ②集中访问控制模块 集中访问控制模块可进一步细分为请求认证子模块和链接中继子模块。请求认证子模块主要负责和认证与访问控制系统经过一种可信的安全机制交换各类身份鉴别信息,识别出合法的用户,并根据用户预先被赋予的权限决定后续的链接形式。链接中继子模块的主要功能是为用户创建起一条最终的无中继的链接通道,并在须要的状况下向内部服务器传送鉴别过的用户身份信息,以完成相关服务协议中所需的鉴别流程。 ③临时访问端口表 为了区分数据包的服务对象和防止***者对内部主机发起的链接进行非受权的利用,网关把内部主机使用的临时端口、协议类型和内部主机地址登记在临时端口使用表中。因为网关不知道内部主机可能要使用的临时端口,故临时端口使用表是由网关根据接收的数据包动态生成的。对于入向的数据包,防火墙只让那些访问控制表许可的或者临时端口使用表登记的数据包经过。 ④认证与访问控制系统 认证与访问控制系统包括用户鉴别模块和访问控制模块,实现用户的身份鉴别和安全策略的控制。其中用户鉴别模块采用一次性口令(One-Time Password)认证技术中Challenge/Response机制实现远程和当地用户的身份鉴别,保护合法用户的有效访问和限制非法用户的访问。它采用Telnet和WEB两种实现方式,知足不一样系统环境下用户的应用需求。访问控制模块是基于自主型访问控制策略(DAC),采用ACL的方式,按照用户(组)、地址(组)、服务类型、服务时间等访问控制因素决定对用户是否受权访问。 ⑤网络安全监控系统 监控与***检测系统做为系统端的监控进程,负责接受进入系统的全部信息,并对信息包进行分析和归类,对可能出现的***及时发出报警信息;同时如发现有合法用户的非法访问和非法用户的访问,监控系统将及时断开访问链接,并进行追踪检查。 ⑥基于WEB的防火墙管理系统 管理系统主要负责网络地址转换模块、集中访问控制模块、认证与访问控制系统、监控系统等模块的系统配置和监控。它采用基于WEB的管理模式,因为管理系统所涉及到的信息大部分是关于用户账号等敏感数据信息,故应充分保证信息的安全性,咱们采用JAVA APPLET技术代替CGI技术,在信息传递过程当中采用加密等安全技术保证用户信息的安全性。 结尾:尽管NAT技术能够给咱们带来各类好处,例如无需为网络重分IP地址、减小ISP账号花费以及提供更完善的负载平衡功能等,NAT技术对一些管理和安全机制的潜在威胁仍在,看你如何正确应用好网络地址转换NAT技术.