加入收藏
  周2
首页 | 中心新闻 | 中心介绍 | 课程设置 | 师资力量 | 成果介绍 | 信息咨询 | 培训计划 | 网上报名 | 证书查询 | 联系我们
 
当前位置:课程设置>>>NAT应用实例与故障诊断

NAT应用实例与故障诊断

作者:殷燕 向永谦 顾金星    北京阿法迪信息技术研究中心    2006-11-13

什么是NAT

NAT(Network Address Translation)的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请。在网络内部,各计算机间通过内部的IP地址进行通讯。而当内部的计算机要与外部Internet网络进行通讯时,具有NAT功能的设备,如路由器,负责将其内部的IP地址转换为合法的IP地址,即经过申请分配的IP地址进行通信。

NAT应用环境

情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。

情况2:一个企业申请的合法Internet IP地址很少,而内部网络用户很多,可以通过NAT功能实现多个用户同时共用一个合法IP与外部Internet进行通信。

NAT设置类型

NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。

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

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

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

NAT应用环境描述

我们单位是一个国有大型企业,在全国各大中小城市均有分支机构。前几年我们已经通过将全国的几个主要城市连接成了一个企业专用网,大城市之间通过帧中继相连构成一个全国性的企业骨干网,而每个分支结构以局域网的形式接入。但由于受帧中继速度的限制,网络应用的开展并不理想。今年通过租用光波长的方式实现了全国范围内主要分支机构的宽带连通,但同时又要保留原有的帧中继网络,帧中继网络主要应用于本行业的敏感业务,而一般性的网络服务则由宽带网提供。由于我们的企业网在物理上与因特网物理隔离,且也不允许内部网络访问因特网,因此企业网的IP地址分配可以不受限制,帧中继网和宽带网采用了不同的IP地址编址方案。近段时间为了满足在某个活动的演练,急需把某个大城市分支机构的局域网整体切换到企业宽带网上,而该分支结构本身包括了上千台计算机终端,且对下还连接了若干个子分之机构。由于帧中继网和宽带网采用了不同的IP地址编址方案,因此要在短时间内,通过重新为每台网络终端配置IP地址,并重新配置网络交换机和路由协议,需要相当大的工作量,且期间还有一个运行稳定的问题。为了在短时间内解决既可以满足活动演练的要求,又能保证整个分支机构网络的稳定运行,我们提出了采用网络地址转换技术,即NAT技术,结果发现这是一个行之有效的方法。

下图给出了某大城市分支机构所管辖的网络拓扑图。



 

大城市分支机构通过思科3640路由器上的100M以太网接口E0接入企业宽带骨干网,路由器100M以太网接口E1与分支机关的三层路由交换机的某个以太网交换机接口相连,3640路由器上的两个串口分别和其中的两个地市级分支机构相连。在整个大城市分支机构所管辖区内,各子分支结构之间构成一个大区范围内的广域网,在该网络内运行OSPF动态路由协议。

为了快速将大城市分支机构所管辖区范围内的广域网接入本企业的宽带骨干网,以满足某个特殊任务演练的需要,要在短时间内在大城市分支机构所管辖区范围内把网络终端及网络设备、路由协议全部迁移到分配的新IP地址几乎是不可能的,因此我们通过在思科3640接入路由器上启用NAT功能或许是惟一可行的手段。虽然在实施过程中碰到了一些先前没有考虑到的问题,但通过努力,最终还是解决了出现的问题,达到了预期的目的。

NAT配置及故障诊断

在路由器上设置NAT功能时,我们把路由器上的S0/0,S0/1,E1三个接口设置成内部端口(Inside),而E0接口设置成外部端口(Outside)。内部端口连接的网络用户使用的是原来IP地址,E0接口使用新的IP地址。新分配地址范围为从227.144.32.0 到227.144.35.254,原先分配的旧地址从167.80.0.0到167.80.255.255。在进行地址转换配置中,我们将地址从227.144.33.0 到227.144.35.254地址段配置成一个地址池,并考虑到新分配地址不能完全满足针对内网终端一对一的转换,我们在初始配置中采用了复用动态地址转换;另外预留227.144.33.0到227.144.33.255作为某些特殊地址转换,如对WWW服务器,DNS服务器, MAIL服务器等进行静态地址转换,以便外部用户可以使用这些服务。本例中167.80.212.99和167.80.212.100分别内网的WWW服务器和DNS服务器地址。

依据NAT原理,在路由器上进行NAT功能配置,具体配置为:

接口配置:

interface FastEthernet0/1
ip address 167.80.235.57 255.255.255.252
ip nat inside

interface Serial0/0
ip address 167.80.210.8 255.255.255.0
ip nat inside

interface Serial0/1
ip address 167.80.212.8 255.255.255.0
ip nat inside

interface FastEthernet0/0
ip address 227.144.1.35 255.255.255.248
ip nat outside

地址转换配置:

ip nat pool gy-add 227.144.33.0 227.144.35.254 netmask 255.255.252.0
ip nat inside source list 1 pool gy-add overload
ip nat inside source static 167.80.212.99 227.144.32.99
ip nat inside source static 167.80.212.100 227.144.32.100
access-list 1 permit 167.80.0.0 0.0.255.255

在路由器上配置NAT功能和指向广域网的静态路由后,发现内网用户可以不做任何修改就可以实现对企业宽带网资源的访问,外网用户也可以访问内网的WWW服务,完全满足了企业对网络演练的需要。

但在路由器上运行NAT大约一个小时后,发现内网用户不能访问外网。想登录路由器查看路由器运行状态,发现不能登录到路由器上。没有办法,只能重新启动路由器。路由器重启后,内外网连接恢复正常,查看路由器配置也正常。但过了一段时间后,又发生相同问题。几次之后,我们用sh ip nat translation命令查看,看到如下输出:

Pro Inside global        Inside local          Outside local      Outside global
tcp 227.144.33.117:3392  167.80.215.203:3392   21.122.72.64:21    21.122.72.64:21
tcp 227.144.33.117:4095  167.80.215.203:4095   25.82.1.184:21     25.82.1.184:21
tcp 227.144.33.117:3418  167.80.215.203:3418   21.122.72.64:21    21.122.72.64:21
tcp 227.144.33.117:3430  167.80.215.203:3430   21.122.72.64:21    21.122.72.64:21
tcp 227.144.33.105:2088  167.80.215.203:2088   25.82.1.184:21     25.82.1.184:21
tcp 227.144.33.117:3439  167.80.215.203:3439   21.122.72.64:21    21.122.72.64:21
tcp 227.144.33.117:1393  167.80.215.203:1393   21.122.72.64:21    21.122.72.64:21
tcp 227.144.33.105:2109  167.80.215.203:2109   25.82.1.184:21     25.82.1.184:21

--More--

发现地址为167.80.215.203内网主机不断地同外网的不同主机建立连接,仅仅该主机同外网主机建立的连接就有几百条,且随着时间推移,该主机建立的连接数不断递增。再通过查看路由器内存使用情况,发现其内存被快速消耗掉。分析后我们认为由于采用复用动态地址转换,因此从原理上来说,转换条目数是没有限制的,而内网主机167.80.215.203可能感染了病毒,而该病毒能不断地同外网主机建立TCP连接,这样就能不断地消耗路由器内存。一旦路由器内存全部被消耗掉,就会导致路由器系统崩溃。

鉴于这个分析,我们重新进入路由器配置模式,将配置ip nat inside source list 1 pool gy-add overload改为ip nat inside source list 1 pool gy-add,也即不采用复用动态地址转换。这样转换条目数就受到地址池可用地址数的限制,即使在最坏情况下,也能保证路由器内存不被消耗完。改动以后,我们再一次查看地址地址转换表,看到如下显示:

Pro  Inside global         Inside local         Outside local         Outside global
---  227.144.33.47         167.80.215.203         --- ---
---  227.144.33.58         167.80.210.103         --- ---
---  227.144.33.117        167.80.212.113         --- ---
---  227.144.33.120        167.80.215.217         --- ---
---  227.144.33.126        167.80.215.33          --- ---
---  227.144.33.134        167.80.216.143         --- ---
---  227.144.33.210        167.80.215.236         --- ---

--More--

可见在修改后,带有病毒的主机167.80.215.203只能在转换表中占有一个条目,因此就避免了耗尽路由器内存情况的发生。实际也证明从此以后路由器运行稳定。

结语

通过在路由器上配置NAT,可以使接入网快速地切换到不同的电信服务提供商。在外网全局地址数有限的情况下,使用复用动态地址转换技术是个合理的选择,这样可以允许多个内部本地地址共用少量的内部合法地址。这对只申请到少量IP地址但却经常同时有多个用户上外部网络的情况,极为有用。但必须要引起注意的是,由于现在计算机病毒泛滥,有可能发生由于某种病毒能不断地建立对外连接,并不断地消耗路由器内存,最终导致路由器内存耗完,系统崩溃。如果碰到这种情况,建议还是使用纯动态地址转换为好。

返回顶部

关闭窗口


本网站图标及文字版权归北京阿法迪信息技术研究中心所有 (郑重声明:转载请务必注明出处!)
咨询电话:010-82866883      电子邮件:info@iforward.org.cn
如有关于本网站的问题或建议,请向 postmaster@iforward.org.cn 发邮件
版权所有(C) 2006 北京阿法迪信息技术研究中心    京ICP证06033545号