初从文 三年不中原文:NAT详解、实例(网管必看)

来源:百度文库 编辑:偶看新闻 时间:2024/05/04 14:17:58

NAT详解、实例(网管必看)

电脑网络2010-11-03 10:58:44阅读70评论0  字号:大中小 订阅

NAT详解、实例(网管必看)
1、配置实例(如果看不明白,别急,看完通篇一定会明白)

version 12.0
service timestamps debug uptime
service timestamps log uptime
noservice password-encryption
!
hostname nat-r1
!
enable secret 5$1$FEQr$INhRecYBeCb.UqTQ3b9mY0
!
ip subnet-zero
!
!
!
!
interface Ethernet0
ip address 172.18.150.150 255.255.0.0
no ipdirected-broadcast
ip nat inside /* 定义此为网络的内部端口 */
!
interfaceSerial0
ip address 192.1.1.161 255.255.255.252
no ip directed-broadcast
ip nat outside /* 定义此为网络的外部端口 */

no ip mroute-cache
nofair-queue
!
interface Serial1
no ip address
no ipdirected-broadcast
shutdown
! /* 定义从ISP那里申请到的IP在企业内部的分配策阅 */
ip natpool tech 192.1.1.100 192.1.1.120 netmask 255.255.255.0
ip nat pool deve192.1.1.121 192.1.1.150 netmask 255.255.255.0
ip nat pool manager192.1.1.180 192.1.1.200 netmask 255.255.255.0
ip nat pool soft-1 192.1.1.170192.1.1.179 netmask 255.255.255.0
ip nat pool soft-2 192.1.1.151 192.1.1.159netmask 255.255.255.0
ip nat pool temp-user 192.1.1.160 192.1.1.160 netmask255.255.255.0
/* 将访问列表与地址池对应,以下为动态地址转换*/
ip nat inside source list 1pool tech
ip nat inside source list 2 pool deve
ip nat inside sourcelist 3 pool manager
ip nat inside source list 4 pool soft-1
ip natinside source list 5 pool soft-2
/* 将访问列表与地址池对应,以下为复用动态地址转换*/
ip natinside source list 6 pool temp-user overload
/* 将访问列表与地址池对应,以下为静态地址转换*/
ip nat inside source static 172.18.100.168 192.1.1.168
ip nat insidesource static 172.18.100.169 192.1.1.169
ip classless
ip route 0.0.0.00.0.0.0 Serial0 /* 设置一个缺省路由 */
! /* 内部网访问地址表,他指出内部网络能访问外部网的地址段,
分别定义是为了对应
不同的地址池 */
access-list 1 permit 172.18.107.0 0.0.0.255
access-list 2 permit 172.18.101.0 0.0.0.255
access-list 3 permit172.18.108.0 0.0.0.255
access-list 4 permit 172.18.103.0 0.0.0.255
access-list 4 permit 172.18.102.0 0.0.0.255
access-list 4 permit172.18.104.0 0.0.0.255
access-list 5 permit 172.18.105.0 0.0.0.255
access-list 5 permit 172.18.106.0 0.0.0.255
access-list 6 permit172.18.111.0 0.0.0.255
!
line con 0
transport input none
line 116
line aux 0
line vty 0 4
login
!
end

2、NAT的原理
IP地址耗尽促成了CIDR的开发,但CIDR开发的主要目的是为了有效的使用现有的internet地址。而同时根据RFC1631(IP Network AddressTranslator)开发的NAT却可以在多重的internet子网中使用相同的IP,用来减少注册IP地址的使用。
NAT技术使得一个私有网络可以通过internet注册IP连接到外部世界,位于inside网络和outside网络中的NAT路由器在发送数据包之前,负责把内部IP翻译成外部合法地址。内部网络的主机不可能同时于外部网络通信,所以只有一部分内部地址需要翻译。

NAT的翻译可以采取静态翻译(statictranslation)和动态翻译(dynamictranslation)两种。静态翻译将内部地址和外部地址一对一对应。当NAT需要确认哪个地址需要翻译,翻译时采用哪个地址pool时,就使用了动态翻译。采用port

multiplexing技术,或改变外出数据的源port技术可以将多个内部IP地址影射到同一个外部地址,这就是PAT(portaddress translator)。

当影射一个外部IP到内部地址时,可以利用TCP的loaddistribution技术。使用这个特征时,内部主机基于round-robin机制,将外部进来的新连接定向到不同的主机上去。注意:loaddistributiong只有在影射外部地址到内部的时候才有效。

NAT使用的几种情况:

a,连接到internet,但却没有足够的合法地址分配给内部主机。

b,更改到一个需要重新分配地址的ISP。

c,有相同的IP地址的两个internat合并。

d,想支持负载均衡(主机)。

采用NAT后,一个最主要的改变就是你失去了端对端IP的traceability,也就是说,从此

你不能再经过NAT使用ping和traceroute,其次就是曾经的一些IP对IP的程序不再可以正常运行,潜在的不易被观察到的缺点就是增加了网络延时。

NAT可以支持大部分IP协议,但有几个协议需要注意,首先tftp,rlogin,rsh,rcp和ip

multicast都被NAT支持,其次就是bootp,snmp和路由表更新全部给拒绝了。

NAT的几个相关概念:

InsideLocal IP address: 指定于内部网络的主机地址,全局唯一,但为私有地址。

Inside Global IP address:代表一个或更多内部IP到外部世界的合法IP。

Outside Global IP address:外部网络主机的合法IP。

Outside Local IP address:外部网络的主机地址,看起来是内部网络的,私有地址。

Simple Translation Entry:影射IP到另一个地址的Entry。

Extended TranslationEntry:影射IP地址和端口到另一个pair的Entry。

采用NAT,可以实现以下几个功能:

a,Translationinside local addresses

b,Overloading inside global addresses

c,TCPload distribution

d,Handing overlappingnetworks

下面我们一一叙述它们的工作原理。

a,内部地址翻译(Translation inside localaddresses):

这是比较通用的一种方法,将内部IP一对一的翻译成外部地址。

在内部主机连接到外部网络时,当第一个数据包到达NAT路由器时,router检查它的NAT表,因为是NAT是静态配置的,故可以查询出来(simplyentry),然后router将数据包的内部局部IP(源地址)更换成内部全局地址,再转发出去。外部主机接受到数据包用接受到的内部全局地址来响应,NAT接受到外部回来的数据包,再根据NAT表把地址翻译成内部局部IP,转发过去。

b,内部全局地址复用(overloadinginside glogaladdresses)

使用地址和端口pair将多个内部地址影射到比较少的外部地址。这也是所谓的PAT。和内部地址翻译一样,NATrouter同样也负责查表和翻译内部IP地址,唯一的区别就是由于使用了overloading,router将复用同样的内部全局IP地址,并存储足够的信息以区分它和其他地址,这样查询出来的是extendedentry。

NATrouter和外部主机的通讯采用翻译过的内部全局地址,故同一般的通信没有差别,router到内部主机通讯时,同样要查NAT表。

c,TCP负载重分配(TCPload distributing)和以上两种操作不同,这是NAT由外到内的翻译,所以那种以为WEBserver一定要放置到

NAT外部的说法是错误的。

工作原理:外部主机向虚拟主机(定义为内部全局地址)通讯,NATrouter接受外部主机的请求并依据NAT表建立与内部主机的连接,把内部全局地址(目的地址)翻译成内部局部地址,并转发数据包到内部主机,内部主机接受包并作出响应。NATrouter再使用内部局部地址和端口查询数据表,根据查询到的外部地址和端口做出响应。

此时,如果同一主机再做第二个连接,NATrouter将根据NAT表将建立与另一虚拟主机的连接,并转发数据。

d,处理重叠网络。

这种方法主要用于两个intranet的互连,同样给我们处理两个重叠网络提供了方法。它的实现要求DNSserver的支持(用于区别两个不同的主机)。

1,主机A要求向主机C建立连接,先象DNS server做地址查询。

2,NATrouter截获DNS的响应,如果地址有重叠,将翻译返回的地址。它将创建一个simplyentry把重叠的外部全局地址(目的地址)翻译成外部局部地址。

3,路由器转发DNS响应到主机A,它已经把主机C的地址(外部全局地址)翻译成外部局部地址。

4,当路由器接受到主机C的数据包时,它将建立内部局部、全局,外部全局、局部地址间的转换,主机A将由内部局部地址(源地址)翻译成内部全局地址,主机C将由外部全局地址(目的地址)翻译成外部局部地址。

5,主机C接受数据包并继续通讯。

3、如何正确应用NAT技术
前言:随着Internet技术的不断以指数级速度增长,珍贵的网络地址分配给专用网络终于被视作是一种对宝贵的虚拟房地产的浪费。因此出现了网络地址转换(NAT)标准,就是将某些IP地址留出来供专用网络重复使用。本文将详细告诉你如何正确应用网络地址转换NAT技术。
一、NAT技术的定义

NAT英文全称是Network AddressTranslation,称是网络地址转换,它是一个IETF标准,允许一个机构以一个地址出现在Internet上。NAT将每个局域网节点的地址转换成一个IP地址,反之亦然。它也可以应用到防火墙技术里,把个别IP地址隐藏起来不被外界发现,使外界无法直接访问内部网络设备,同时,它还帮助网络可以超越地址的限制,合理地安排网络中的公有Internet地址和私有IP地址的使用。

二、NAT技术的基本原理和类型

1、NAT技术基本原理

NAT技术能帮助解决令人头痛的IP地址紧缺的问题,而且能使得内外网络隔离,提供一定的网络安全保障。它解决问题的办法是:在内部网络中使用内部地址,通过NAT把内部地址翻译成合法的IP地址在Internet上使用,其具体的做法是把IP包内的地址域用合法的IP地址来替换。NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。每个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这意味着给处理器带来了一定的负担。但对于一般的网络来说,这种负担是微不足道的。

2、NAT技术的类型

NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(PooledNAT)、网络地址端口转换NAPT(Port-LevelNAT)。其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,三种NAT方案各有利弊。

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

网络地址端口转换NAPT(Network Address PortTranslation)是人们比较熟悉的一种转换方式。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还是很值得的。

三、在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地址(有时也被称做Network10地址,地址使用留做专用的从10.0.0.0开始的地址)的主机,通过直接向NAT设备发送数据包连接到Internet上。与普通路由器不同NAT设备实际上对包头进行修改,将专用网络的源地址变为NAT设备自己的Internet地址,而普通路由器仅在将数据包转发到目的地前读取源地址和目的地址。

四、应用NAT技术的安全策略

1、应用NAT技术的安全问题

在使用NAT时,Internet上的主机表面上看起来直接与NAT设备通信,而非与专用网络中实际的主机通信。输入的数据包被发送到NAT设备的IP地址上,并且NAT设备将目的包头地址由自己的Internet地址变为真正的目的主机的专用网络地址。而结果是,理论上一个全球唯一IP地址后面可以连接几百台、几千台乃至几百万台拥有专用地址的主机。但是,这实际上存在着缺陷。例如,许多Internet协议和应用依赖于真正的端到端网络,在这种网络上,数据包完全不加修改地从源地址发送到目的地址。比如,IP安全架构不能跨NAT设备使用,因为包含原始IP源地址的原始包头采用了数字签名。如果改变源地址的话,数字签名将不再有效。 NAT还向我们提出了管理上的挑战。尽管NAT对于一个缺少足够的全球唯一Internet地址的组织、分支机构或者部门来说是一种不错的解决方案,但是当重组、合并或收购需要对两个或更多的专用网络进行整合时,它就变成了一种严重的问题。甚至在组织结构稳定的情况下,NAT系统不能多层嵌套,从而造成路由噩梦。

2、应用NAT技术的安全策略

当我们改变网络的IP地址时,都要仔细考虑这样做会给网络中已有的安全机制带来什么样的影响。如,防火墙根据IP报头中包含的TCP端口号、信宿地址、信源地址以及其它一些信息来决定是否让该数据包通过。可以依NAT设备所处位置来改变防火墙过滤规则,这是因为NAT改变了信源或信宿地址。如果一个NAT设备,如一台内部路由器,被置于受防火墙保护的一侧,将不得不改变负责控制NAT设备身后网络流量的所有安全规则。在许多网络中,NAT机制都是在防火墙上实现的。它的目的是使防火墙能够提供对网络访问与地址转换的双重控制功能。除非可以严格地限定哪一种网络连接可以被进行NAT转换,否则不要将NAT设备置于防火墙之外。任何一个淘气的黑客,只要他能够使NAT误以为他的连接请求是被允许的,都可以以一个授权用户的身份对你的网络进行访问。如果企业正在迈向网络技术的前沿,并正在使用IP安全协议(IPSec)来构造一个虚拟专用网(VPN)时,错误地放置NAT设备会毁了计划。原则上,NAT设备应该被置于VPN受保护的一侧,因为NAT需要改动IP报头中的地址域,而在IPSec报头中该域是无法被改变的,这使可以准确地获知原始报文是发自哪一台工作站的。如果IP地址被改变了,那么IPSec的安全机制也就失效了,因为既然信源地址都可以被改动,那么报文内容就更不用说了。那么NAT技术在系统中我们应采用以下几个策略:

①网络地址转换模块

NAT技术模块是本系统核心部分,而且只有本模块与网络层有关,因此,这一部分应和Unix系统本身的网络层处理部分紧密结合在一起,或对其直接进行修改。本模块进一步可细分为包交换子模块、数据包头替换子模块、规则处理子模块、连接记录子模块与真实地址分配子模块及传输层过滤子模块。

②集中访问控制模块

集中访问控制模块可进一步细分为请求认证子模块和连接中继子模块。请求认证子模块主要负责和认证与访问控制系统通过一种可信的安全机制交换各种身份鉴别信息,识别出合法的用户,并根据用户预先被赋予的权限决定后续的连接形式。连接中继子模块的主要功能是为用户建立起一条最终的无中继的连接通道,并在需要的情况下向内部服务器传送鉴别过的用户身份信息,以完成相关服务协议中所需的鉴别流程。

③临时访问端口表

为了区分数据包的服务对象和防止攻击者对内部主机发起的连接进行非授权的利用,网关把内部主机使用的临时端口、协议类型和内部主机地址登记在临时端口使用表中。由于网关不知道内部主机可能要使用的临时端口,故临时端口使用表是由网关根据接收的数据包动态生成的。对于入向的数据包,防火墙只让那些访问控制表许可的或者临时端口使用表登记的数据包通过。

④认证与访问控制系统

认证与访问控制系统包括用户鉴别模块和访问控制模块,实现用户的身份鉴别和安全策略的控制。其中用户鉴别模块采用一次性口令(One-TimePassword)认证技术中Challenge/Response机制实现远程和当地用户的身份鉴别,保护合法用户的有效访问和限制非法用户的访问。它采用Telnet和WEB两种实现方式,满足不同系统环境下用户的应用需求。访问控制模块是基于自主型访问控制策略(DAC),采用ACL的方式,按照用户(组)、地址(组)、服务类型、服务时间等访问控制因素决定对用户是否授权访问。

⑤网络安全监控系统

监控与入侵检测系统作为系统端的监控进程,负责接受进入系统的所有信息,并对信息包进行分析和归类,对可能出现的入侵及时发出报警信息;同时如发现有合法用户的非法访问和非法用户的访问,监控系统将及时断开访问连接,并进行追踪检查。

⑥基于WEB的防火墙管理系统

管理系统主要负责网络地址转换模块、集中访问控制模块、认证与访问控制系统、监控系统等模块的系统配置和监控。它采用基于WEB的管理模式,由于管理系统所涉及到的信息大部分是关于用户帐号等敏感数据信息,故应充分保证信息的安全性,我们采用JAVAAPPLET技术代替CGI技术,在信息传递过程中采用加密等安全技术保证用户信息的安全性。

结尾:尽管NAT技术可以给我们带来各种好处,例如无需为网络重分IP地址、减少ISP帐号花费以及提供更完善的负载平衡功能等,NAT技术对一些管理和安全机制的潜在威胁仍在,看你如何正确应用好网络地址转换NAT技术.

作者:徐炳廉

4、谈路由器NAT功能的配置
设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。

内部端口连接的网络用户使用的是内部IP地址(非法IP);外部端口连接的是外部的网络,使用电信部门分配给我们的IP地址。一般来说,内部端口应使用ETHERNET端口,外部端口使用SERIAL 端口。另外,想要使用NAT功能,路由器的IOS必须支持NAT功能。

NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。

1.静态地址转换

静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需要指定和哪个合法地址进行转换。如果内部网络有WWW服务器或FTP服务器等可以为外部用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。

2.动态地址转换

动态地址转换也是将内部本地地址与内部合法地址一对一地转换,但是动态地址转换是从内部合法地址池中动态地选择一个未使用的地址来对内部本地地址进行转换的。

3.复用动态地址转换

复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。对只申请到少量IP地址但却经常同时有多个用户上外部网络的情况,这种转换极为有用。

PAT(Port AddressTranslation)也称为NAPT,就是将多个内部地址映射为一个公网地址,但以不同的协议端口号与不同的内部地址相对应。这种方式常用于拨号上Internet网。

但PAT 技术不太适合指定TCP/UDP端口的应用,如电视会议等。因此,如果使用PAT技术,也应当使用NAT+PAT,这样才不至于功能受限。

看到这里应该可以理解第一个例子了吧?

5、IPsec与NAT的共存

网络安全IPsec(IPSecurity)和网络地址转换NAT(Net AddressTranslation)应用已经十分广泛了,但是要使它们运行在一起,却不是一件容易的事。从IP的角度来看,NAT对IP的低层进行了修改,对IP是一种背叛;而从应用的角度来看,网络管理人员必须要处理网络地址的问题,NAT使用户可以采取多种方式把自己的网络和主机对外部公共网络隐藏起来,是一种好的工具,现在,无论是大企业还是中小企业都在使用它。与NAT类似,IPsec也是一种好工具,它使用户可以安全地通过Internet联接到远程终端。然而,由于IPsec协议架构本身以及缺乏支持IPsec的NAT设备,当IPsec和NAT在一起运行时就会出现很多问题。解决这些问题最简单的办法,就是再增加一个路由器来运行NAT和虚拟专用网VPN。可是,对于多数情况来说并没有多余的路由器来执行这一功能,因此,要解决两者共存的问题,就必须对IPsec和NAT有一定的了解。

关于NAT就不再赘述

IPsec的工作模式

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

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

  经常利用IPsec来确保数据网络的安全。通过使用数字证明和自动认证设备,来验证两个来回发送信息的用户身份。对需要在很多设备之间安全连接的大型网络中确保数据安全,IPsec是一个理想的方法。

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

  IPsec有两种模式—─传输模式和隧道模式。传输模式只对IP分组应用IPsec协议,对IP报头不进行任何修改,它只能应用于主机对主机的IPsec虚拟专用网VPN中。隧道模式中IPsec将原有的IP分组封装成带有新的IP报头的IPsec分组,这样原有的IP分组就被有效地隐藏起来了。隧道主要应用于主机到网关的远程接入的情况。

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

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

  封装安全载荷(ESP)信头提供集成功能和IP数据的可靠性。集成保证了数据没有被恶意网客破坏,可靠性保证使用密码技术的安全。对IPv4和IPv6,ESP信头都列在其它IP信头后面。注意两种可选择的IP信头,段到段信头在每个段被路由器等立即系统处理,而终端信头只被接收端处理。ESP编码只有在不被任何IP信头扰乱的情况下才能正确发送包。ESP协议非常灵活,可以在两种加密算法下工作。建立IPSec的两个或者更多系统之间可以使用其他转换方式。现在,可选择算法包括Triple-DES、RC5、IDEA、CAST、BLOWFISH和RC4。

NAT和IPsec之间的“矛盾”

  NAT和AHIPsec无法一起运行,因为根据定义,NAT会改变IP分组的IP地址,而IP分组的任何改变都会被AH标识所破坏。当两个IPsec边界点之间采用了NAPT功能但没有设置IPsec流量处理的时候,IPsec和NAT同样无法协同工作;另外,在传输模式下,ESPIPsec不能和NAPT一起工作,因为在这种传输模式下,端口号受到ESP的保护,端口号的任何改变都会被认为是破坏。在隧道模式的ESP情况下,TCP/UDP报头是不可见的,因此不能被用于进行内外地址的转换,而此时静态NAT和ESPIPsec可以一起工作,因为只有IP地址要进行转换,对高层协议没有影响。

解决争端,和平共处

为了解决ESPIPsec和NAPT共用的问题,设备生产商提出了多种解决方法。简单的办法是专门用一个工作站来运行IKE,以处理所有的IPsec分组,但这样只允许一个IPsecVPN通过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 客户端来初始化IPsecVPN;2.必须要设置IPsec网关,用NAPT网关给出的某个IP地址进行IKE协商。ESP用SPI、目的地址和协议号来查找IPsec分组所属的SA,因为IPsec网关只是通过NAPT地址来确定IPsec客户端,它必须使用这个地址进行协商;3.许多IKE鉴定是通过IP地址相关的预先设定或者与密码来进行处理的,因此必须设置IPsec网关与NAPTIP地址之间的协商。

6、NAT的高级应用

记得以前做TB时候出的一个问题:
CheckPoint防火墙出了问题:在事件查看器中可以查到“NoLicense for Routers”的错误,经常死机。这个错误在CheckPoing文档中没有记录,据说是有一个“路由器管理模块”没有购买。最后发现,其实只要在安装正式License时不要将试用License去掉就没有这个问题。

在等待有关方面支持的同时,我们将该防火墙撤下来,暂时用路由器实现原来由防火墙完成的地址转换、访问控制等部分功能,新旧拓朴图如下:
 无标题.bmp ( 121.23kb )
设置方法比较简单:

如果临时使用的交换机SW不支持VLAN,则可以在路由器内网端口上使用secondaryaddress,注意这样做会把DMZ跟内网出口混在一起,要在内网多层交换机上设置好访问控制列表,阻止通过DMZ入侵内网。配置形如:

interface FastEthernet0/0

ip address 202.1.1.1255.255.255.252

ip access-group 101 in

ip natoutside

!

interface FastEthernet1/0

ip address192.168.1.254 255.255.255.0 secondary

ip address 10.0.0.1255.255.255.0

ip nat inside

!

ip nat pool inet 202.2.2.1202.2.2.9 netmask 255.255.255.0

ip nat inside source list 1 pool inetoverload

ip nat inside source static 192.168.1.230 202.2.2.230

ipnat inside source static 192.168.1.231 202.2.2.231

ip classless

iproute 0.0.0.0 0.0.0.0 202.1.1.2

ip route 10.0.0.0 255.0.0.010.0.0.254

!

access-list 1 permit 10.0.0.00.0.0.255

access-list 101 permit tcp any anyestablished

access-list 101 permit tcp any host 202.2.2.230 eqdomain

access-list 101 permit tcp any host 202.2.2.231 eqwww

如果SW支持VLAN,则可以路由器端口做Trunk, 或用不同的路由器端口分别连接不同VLAN,使DMZ与Inside分开。

需要注意的是,内网的多层交换机上一般用默认路由指向出口的路由器/防火墙,现在路由器用静态路由指向内网,这里有形成环路的危险。因为在内网,10.0.0.0/8被子网化,如果一台机器访问10.0.0.0/8中一个不存在的子网时,多层交换机只有默认路由匹配而将包转发到出口路由器,而出口路由器路由表中最匹配的是指向多层交换机的10.0.0.0/8,所以将包返回给多层交换机。这其实是一种路由汇总问题, 解决的方法是是多层交换机上设定: ip route 10.0.0.0 255.0.0.0null 0。

上面的拓朴图是只有一个出口的情况,如果该客户除了Internet出口,还有到上级单位HQ的出口,拓朴图如:
 无标题.bmp ( 107.15kb )
这时候配置就有点难度了,要做两个NAT:

interfaceEthernet0

ip address 192.168.1.254 255.255.255.0

ip natinside

ip policy route-map out

!

interfaceSerial0

description connect to Internet

ip address 202.1.1.1255.255.255.0

ip nat outside

!

interfaceSerial1

description connect to HQ

ip address 10.221.1.1255.255.255.0

ip nat outside

!

ip nat inside sourceroute-map o202 interface Serial0 overload

ip nat inside source route-mapo10 interface Serial1 overload

ip classless

ip route 10.0.0.0255.0.0.0 10.221.1.254

ip route 0.0.0.0 0.0.0.0202.1.1.2

!

access-list 101 deny ip any 10.0.0.00.255.255.255

access-list 101 permit ip any any

access-list 102permit ip any 10.0.0.0 0.255.255.255

route-map o202 permit10

match ip address 101

set interfaceSerial0

!

route-map o10 permit 10

match ip address102

set interface Serial1

!

route-map out permit10

match ip address 102

set interfaceSerial1

!

route-map out permit 20

match ip address101

set interface Serial0

!

问题解决后的感觉:Checkpoint的总体拥有成本比较高,比如技术支持的费用,软件升级费用等,不是一般的用户能吃得消的。相比之下Cisco的产品技术被较多的人掌握,技术支持和软件升级等成本比较低,总体拥有成本相对就会低得多。Cisco价格透明虽然将价格竞争白热化,使集成商无利可图,但对用户来说却不是坏事。对集成商来说,也许是时候把增值服务和产品分开销售了。

总结:NAT随然比较好用,但是NAT提供的“透明”服务特点鲜明,它为网络管理者和决策者提供了一种更为灵活方便的选择。在企业申请的IP地址有限的情况下,能够使局域网内多台计算机同时访问Internet资源。它为网站设计提供了无限空间,为网络管理提供了可操作性和便于管理的途径。同时前面也提到,NAT的不足一方面体现在其安全性上,安装了NAT的计算机并不能真正起到防火墙的作用。一般说来,在默认状态下,NAT屏蔽内部网络,不允许任何非正常外部请求进入内部网络。但是这并不意味着系统的绝对安全,由于NAT只改变数据包最外层的IP地址,这为外部攻击留下了隐患。NAT所提供的安全选项相对较少,如要真正地为网络提供高效的安全保障还是要采用包过滤防火墙和应用防火墙。另外,内部网用户可以通过NAT直接连入Internet,也可能会带来网络管理的困难和安全隐患,同样需要采用其他技术来提高其安全性。但对于小型企业来说,NAT对于网络的一般安全问题解决能力良好,可以基本满足他们的需求。对于这类用户来说,安装NAT和一款较好的防火墙软件就可以杜绝大部分来自Internet的攻击。另外,现在很多软件厂商都在其代理服务软件中对多种技术进行了集成,用户可以配合使用其他功能,保障系统的安全性。NAT还有一个致命伤就是没有缓存。