随着Internet的网络迅速发展,IP地址短缺已成为一个十分突出的问题。为了解决这个问题,出现了多种解决方案。下面几绍一种在目前网络环境中比较有效的方法即地址转换(NAT)功能。
一、NAT简介
二、NAT的应用环境:
情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。
情况2:一个企业申请的合法InternetIP地址很少,而内部网络用户很多。可以通过NAT功能实现多个用户同时公用一个合法IP与外部Internet进行通信。
三、设置NAT所需路由器的硬件配置和软件配置:
设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。内部端口连接的网络用户使用的是内部IP地址。
内部端口可以为任意一个路由器端口。外部端口连接的是外部的网络,如Internet。外部端口可以为路由器上的任意端口。
设置NAT功能的路由器的IOS应支持NAT功能(本文事例所用路由器为Cisco2501,其IOS为11.2版本以上支持NAT功能)。
四、关于NAT的几个概念:
内部本地地址(Insidelocaladdress):分配给内部网络中的计算机的内部IP地址。
内部合法地址(Insideglobaladdress):对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。需要申请才可取得的IP地址。
五、NAT的设置方法:
NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。
1、静态地址转换适用的环境
静态地址转换将内部本地地址与内部合法地址进行一对一的转换,且需要指定和哪个合法地址进行转换。假如内部网络有E-mail服务器或FTP服务器等可以为外部用户提供的服务,这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。
静态地址转换基本配置步骤:
(1)、在内部本地地址与内部合法地址之间建立静态地址转换。在全局设置状态下输入:
Ipnatinsidesourcestatic内部本地地址内部合法地址
(2)、指定连接网络的内部端口在端口设置状态下输入:
ipnatinside
(3)、指定连接外部网络的外部端口在端口设置状态下输入:
ipnatoutside
注:可以根据实际需要定义多个内部端口及多个外部端口。
实例1:
本实例实现静态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。其中10.1.1.2,10.1.1.3,10.1.1.4的内部本地地址采用静态地址转换。其内部合法地址分别对应为192.1.1.2,192.1.1.3,192.1.1.4。
路由器2501的配置:
Currentconfiguration:
version11.3
noservicepassWord-encryption
hostname2501
ipnatinsidesourcestatic10.1.1.2192.1.1.2
ipnatinsidesourcestatic10.1.1.3192.1.1.3
ipnatinsidesourcestatic10.1.1.4192.1.1.4
interfaceEthernet0
ipaddress10.1.1.1255.255.255.0
ipnatinside
interfaceSerial0
ipaddress192.1.1.1255.255.255.0
ipnatoutside
noipmroute-cache
bandwidth2000
nofair-queue
clockrate2000000
interfaceSerial1
noipaddress
shutdown
noipclassless
iproute0.0.0.00.0.0.0Serial0
linecon0
lineaux0
linevty04
passwordcisco
end
配置完成后可以用以下语句进行查看:
showipnatstatistcs
showipnattranslations
2、动态地址转换适用的环境:
动态地址转换也是将本地地址与内部合法地址一对一的转换,但是动态地址转换是从内部合法地址池中动态地选择一个末使用的地址对内部本地地址进行转换。
动态地址转换基本配置步骤:
(1)、在全局设置模式下,定义内部合法地址池
ipnatpool地址池名称起始IP地址终止IP地址子网掩码
其中地址池名称可以任意设定。
(2)、在全局设置模式下,定义一个标准的Access-list规则以答应哪些内部地址可以进行动态地址转换。
Access-list标号permit源地址通配符
其中标号为1-99之间的整数。
(3)、在全局设置模式下,将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换。
ipnatinsidesourcelist访问列表标号pool内部合法地址池名字
(4)、指定与内部网络相连的内部端口在端口设置状态下:
ipnatinside
(5)、指定与外部网络相连的外部端口
Ipnatoutside