第五章配置NAT.docx
《第五章配置NAT.docx》由会员分享,可在线阅读,更多相关《第五章配置NAT.docx(17页珍藏版)》请在冰豆网上搜索。
第五章配置NAT
第五章配置NAT
一、NAT(NetworkAddressTranslation)
1、NAT(网络地址翻译)
NAT:
在内部网络中使用内部地址,通过NAT把内部地址翻译成合法的IP地址,在Internet上使用。
其具体的做法是把IP包内的地址域用合法的IP地址来替换。
NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。
NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。
每个包在NAT设备中都被翻译成正确的IP地址发往下一级,这意味着给处理器带来了一定的负担。
但这对于一般的网络来说是微不足道的,除非是有许多主机的大型网络。
2、NAT类型
NAT有三种类型:
静态NAT(StaticNAT)、NAT池(PooledNAT)和端口NAT(PAT)。
(1)、静态NAT(StaticNAT)
静态NAT设置起来最为简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。
(2)、NAT池(PooledNAT)
用NAT池,可以从未注册的地址空间中提供被外部访问的服务,也可以从内部网络访问外部网络,而不需要重新配置内部网络中的每台机器的IP地址。
采用NAT池意味着可以在内部网中定义很多的内部用户,通过动态分配的办法,共享很少的几个外部IP地址。
而静态NAT则只能形成一一对应的固定映射方式。
该引起注意的是,NAT池中动态分配的外部IP地址全部被占用后,后续的NAT翻译申请将会失败。
但是,许多有NAT功能的路由器具备超时配置功能。
这样就可以在NAT路由器上配置每隔一个时间段就删除当前停止活动的NAT进程,为后续的NAT申请预留出外部IP地址。
这个时间阈用户可以自行调节,以满足各自的需求。
NAT池提供很大灵活性的同时,也影响到网络原有的一些管理功能。
例如,SNMP管理站利用IP地址来跟踪设备的运行情况。
但使用NAT之后,意味着那些被翻译的地址对应的内部地址是变化的,今天可能对应一台工作站,明天就可能对应一台服务器。
这给SNMP管理带来了麻烦。
一个可行的解决方案就是把划分给NAT池的那部分地址在SNMP管理平台上标记出来,对于这些不响应管理信号的地址不予报警,如同它们被关掉了一样。
(3)、端口NAT(PAT)
PAT就是把内部的TCP/IP映射到外部一个注册IP地址的多个端口上。
PAT可以支持同时连接64500个TCP/IP、UDP/IP,但实际可以支持的工作站个数会少一些。
因为许多Internet应用如HTTP,实际上由许多小的连接组成。
PAT在远程访问产品中得到了大量的应用,特别是在远程拨号用户使用的设备中。
在Internet中使用PAT时,所有不同的TCP和UDP信息流看起来仿佛都来源于同一个IP地址。
这个优点在小型办公室(SOHO)内非常实用,通过从ISP处申请的一个IP地址,将多个连接通过PAT接入Internet。
实际上,许多SOHO远程访问设备支持基于PPP的动态IP地址。
这样,ISP甚至不需要支持PAT,就可以做到多个内部IP地址共用一个外部IP地址上Internet。
虽然这样会导致信道的一定拥塞,但考虑到节省的ISP上网费用和易管理的特点,用PAT还是很值得的。
3、NAT应用
(1)、一个公有地址对应一个私有地址。
(2)、几个私有地址对应几个公有地址。
(3)、一个公有地址对应一大群私有地址。
4、实现NAT的途径
(1)、在路由器创建NAT(如图1所示)
图1NAT路由器拓扑图
NAT路由器具备二个端口:
一个内部端口(Inside),一个外部端口(Outside)
上图为建立在NAT路由器上的内部试验子网192.168.0.0,192.168.0.0属于B类保留地址,不能直接访问Internet,但通过NAT路由器翻译来自内部网络的IP包,把它的IP地址映射成地址池(PooledAddresses)中的合法IP地址后,内部网可以访问Internet上的任何服务器,Internet上的任何主机也能通过TCP或UDP访问到内部网。
(2)、在Windows或LINUX服务器上创建NAT
(3)、通过已经单独集成NAT功能的设备,实现IP地址的转换;
5、与NAT有关的其它概念
(1)、内部本地地址(Insidelocaladdress)
指一个网络内部分配给网上主机的IP地址,此地址通常不是Internet上的合法地址,即不是NIC或ISP所提供的IP地址,它不能够直接在Internet上通信。
(2)、内部全局地址(Insideglobaladdress)
用来替代一个或多个内部本地IP地址的、对外的、Internet上合法的IP地址。
此地址是由需要向NIC或ISP所提供取得的IP地址,能够直接在Internet上通信。
(3)、外部本地地址(OutsideLocalAddress)
一个外部主机相对于内部网所用的IP地址。
此IP地址需要是Internet上合法的地址,但是从内部网可以进行路由的地址进行分配的。
(4)、外部全局地址(OutsideGlobalAddress)
由主机拥有分配给在外部网上主机的IP地址。
此地址是从一个全局可路由的地址或网络空间中分配的。
(5)、逻辑接口(LoopBack)
LoopBack接口,也称为回送接口,其配置IP地址与物理接口配置IP地址的方式相同;
创建逻辑接口:
intloopbacknum/*num范围为:
0~2147473647
删除逻辑接口:
nointloopbacknum
二、配置NAT常用命令
NAT路由器配置
(1)、路由器的静态地址转换基本配置:
A、在全局设置状态下,设定IP地址的映射关系:
Ipnatinsidesourcestatic内部本地地址内部全局地址
例:
ipnatinsidesourcestatic172.13.1.3200.1.1.5
该命令建立了172.16.1.3和200.1.1.5两个IP地址之间的静态映射;
其中172.13.1.3为内部本地地址;
其中200.1.1.5为内部全局地址;
B、在端口设置状态下指定连接网络的内部端口、连接外部网络的外部端口;
ipnatinside指定路由器的某个端口为连接内部网络的内部端口;
ipnatoutside指定路由器的某个端口为连接外部网络的外部端口;
(2)、路由器的动态地址转换基本配置:
A、在全局设置状态下,定义内部合法地址池:
ipnatpool地址池名称起始IP地址终止IP地址子网掩码/*其中地址池名称可以任意设定
例:
ipnatpoolNHL200.1.1.2200.1.1.5netmask255.255.255.0
该命令建立了名为NHL的内部合法地址池;
该地址池的起始地址:
200.1.1.2终止地址为:
200.1.1.5;
该地址池里的所有地址的子网掩码是:
255.255.255.0
B、在全局设置状态下,定义一个标准的access-list规则以允许哪些内部地址可以进行动态地址转换;
Access-list标号permit源地址通配符/*其中标号为1-99之间的整数
例:
access-list1permit192.168.0.00.0.0.255
该命令定义了名为1的访问列表,并定义了该表的地址范围为192.168.0.0/24的网段,即是内网网段;
0.0.0.255为255.255.255.0的反掩码,即是用广播地址(255.255.255.255)减去掩码地址所得的地址;
C、在全局设置状态下,将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换;
ipnatinsidesourcelist访问列表标号pool内部合法地址池名字
例:
ipnatinsidesourcelist1poolNHL
该命令建立了访问列表1中的地址和地址池NHL中的地址映射关系;
D、在端口设置状态下指定连接网络的内部端口、连接外部网络的外部端口;
三、NAT配置拓扑结构图
A、静态NAT配置拓扑结构图(图2)
图2静态NAT配置
拓扑结构图说明:
1、RA路由器负责NAT转换;RB作为外网节点。
2、要求通过使用静态NAT实现172.16.1.3和202.1.1.2之间的双向连通。
3、RA连接DCE,RB连接DTE,RA通过交叉双绞线与RC连接。
B、动态NAT配置拓扑结构图(图3)
图3动态NAT配置
拓扑结构图说明:
1、RA路由器负责NAT转换,并建立地址池;RB作为外网节点。
2、内部全局地址200.1.1.3~7由ISP分配的IP地址。
3、在RB的回送接口loopback0上模拟5个外网主机;
4、在RC的fa0/0上模拟5个内网主机;
5、RA连接DCE,RB连接DTE,RA通过交叉双绞线与RC连接。
四、实验部分
(一)、静态NAT配置步骤(取用图2拓扑结构图)
A、实验目的
1、配置静态内部源地址转换NAT。
2、查看NAT相关信息。
3、监测IP的转换。
4、测试内网和外网间的双向连通性。
B、实验设备
1、Cisco2600XM系列路由器三台。
2、交叉线序网线一条。
3、带网卡及装有超级终端的计算机一台。
4、控制台专用线一根。
5、DCE、DTE线缆各一条
C、实验网络拓扑图
取用图3拓扑结构图
D、实验配置过程及结果监测
(1)、配置路由器RA的各个端口IP,并配置静态NAT映射关系
Router>en
Router#conft
Router(config)#hostnRA
RA(config)#intfa0/0
RA(config-if)#ipaddr172.16.1.1255.255.255.0//:
在fa0/0端口上配置内部本地地址172.16.1.1;
RA(config-if)#ipnatinside//:
指定fa0/0端口为连接网络的内部端口;
RA(config-if)#noshut
RA(config-if)#ints0/0
RA(config-if)#ipaddress200.1.1.1255.255.255.0//:
在S0/0端口内部全局地址;
RA(config-if)#clockrate64000
RA(config-if)#ipnatoutside//:
指定S0/0端为连接外部网络的外部端口;
RA(config-if)#noshut
RA(config-if)#exit
RA(config)#ipnatinsidesourcestatic172.16.1.3200.1.1.5
//:
建立IP地址之间的静态映射,172.16.1.3为内部本地地址200.1.1.5内部全局地址;
RA(config)#iproute0.0.0.00.0.0.0200.1.1.2//:
配置默认静态路由;
RA(config)#end
RA#
(2)、配置路由器RB的S0端口以及Loopback端口的IP地址
Router>en
Router#conft
Router(config)#hostnRB
RB(config)#intloopback0//:
配置回送接口loopback0,用于模拟外网IP地址;
RB(config-if)#ipaddr202.1.1.2255.255.255.0
RB(config-if)#noshut
RB(config-if)#ints0/0
RB(config-if)#ipaddress200.1.1.2255.255.255.0
RB(config-if)#noshut
RB(config)#linevty04//:
配置终端登录密码;
RB(config-line)#passwordcisco
RB(config-line)#enablepasswordcisco2//:
配置使能密码,即是登录特权模式密码;
RB(config-if)#end
RB#
(3)、配置路由器RC的fa0/0端口的IP地址
Router>en
Router#conft
Router(config)#hostnRC
RC(config)#intfa0/0
RC(config-if)#ipaddr172.16.1.3255.255.255.0
RC(config-if)#noshut
RC(config-if)#exit
RC(config)#ipdefault-gateway172.16.1.1
//:
配置RC的缺省网关,指RA的fa0/0接口的IP地址;
RC(config)#noiprouting//:
关闭RC的路由功能,让RC只作内部网主机来使用;
RC(config)#linevty04//:
配置终端登录密码;
RC(config-line)#passwordcisco
RC(config-line)#enablepasswordcisco2//:
配置使能密码,即是登录特权模式密码;
RC(config-if)#end
RC#
(4)、查看和监测静态内部地址转换信息
RC#ping
Protocol[ip]:
//:
使用默认TCP/IP协议
TargetIPaddress:
202.1.1.2//:
目标地址为202.1.1.2;
Repeatcount[5]:
200//:
发送IP包(即是ICMPEchos包)数量为200,缺省为5;
Datagramsize[100]:
//:
IP包的缺省值为100比特;
Timeoutinseconds[2]:
//:
设定逸出时间,缺省为2秒;
Extendedcommands[n]:
//:
是否扩充命令,缺省为N;
Sweeprangeofsizes[n]:
Typeescapesequencetoabort.//:
按ESC键退出;
Sending200,100-byteICMPEchosto202.1.1.2,timeoutis2seconds:
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Successrateis100percent(200/200),round-tripmin/avg/max=20/23/28ms
RC#
RA#shipnatstat//:
showipnatstatistics列出RA的NAT统计信息;
Totalactivetranslations:
1(1static,0dynamic;0extended)
//:
当前NAT活动转换数为1,其中表态转换数为1,动态转换数为0,其它转换数为0;
Outsideinterfaces:
//:
连接外部网络的外部端口Serial0/0;
Serial0/0
Insideinterfaces:
//:
连接内部网络的内部端口FastEthernet0/0;
FastEthernet0/0
Hits:
425Misses:
0//:
进行了425次NAT转换,丢失转换(不成功的转换)为0;
Expiredtranslations:
0
Dynamicmappings:
RA#
RA#shipnattran//:
showipnattranslations查看当前进行的NAT转换
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
---200.1.1.5172.16.1.3------
RA#
(5)、测试双向连通性
RC#
RC#telnet202.1.1.2//:
远程登录202.1.1.2(即是RB上回送接口上模拟的外部主机)
Trying202.1.1.2...Open//:
登录成功,即是内网到外网已经成功连通;
UserAccessVerification
Password:
//:
输入密码(CISCO);
RB>en
Password:
//:
输入密码(CISCO2)进入RB的特权模式;
RB#telnet200.1.1.5
//:
远程登录200.1.1.5(即是RC,此地址已表态映射到172.16.1.3地址上)
Trying200.1.1.5...Open//:
登录成功,即是外网到内网已经成功连通;
UserAccessVerification
Password:
//:
输入密码(CISCO);
RC>en
Password:
//:
输入密码(CISCO2)进入RC的特权模式;
RC#
RB#ping172.16.1.3
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto172.16.1.3,timeoutis2seconds:
.....
Successrateis0percent(0/5)
//:
外网访问内网中已建立表态映射的主机,必须使用映射后的IP地址;外网没有到内网的路由;
RB#ping200.1.1.5
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto200.1.1.5,timeoutis2seconds:
!
!
!
!
!
//:
外网能够访问内网主机映射后的IP地址;
Successrateis100percent(5/5),round-tripmin/avg/max=28/29/32ms
RB#
(二)、动态NAT配置步骤
A、实验目的
1、配置动态内部源地址转换NAT。
2、查看NAT相关信息。
3、监测IP的转换。
4、测试内
网和外网间的双向连通性。
B、实验设备
1、Cisco2600XM系列路由器三台。
2、交叉线序网线一条。
3、带网卡及装有超级终端的计算机一台。
4、控制台专用线一根。
5、DCE、DTE线缆各一条
C、实验网络拓扑图
取用图3拓扑结构图
D、实验配置过程及结果监测
(1)、配置路由器RA的各个端口IP,并配置动态NAT映射关系
Router>en
Router#conft
Router(config)#hostnRA
RA(config)#intfa0/0
RA(config-if)#ipaddr172.16.1.1255.255.255.0
RA(config-if)#ipnatinside
RA(config-if)#noshut
RA(config-if)#ints0/0
RA(config-if)#ipaddr192.168.1.1255.255.255.0
RA(config-if)#clockrate64000
RA(config-if)#ipnatoutside
RA(config-if)#nosh
RA(config-if)#exit//:
回到全局配置下,对地址池、路由表、访问列表进行设置;
RA(config)#ipnatpoolNHL200.1.1.3200.1.1.7netmask255.255.255.0
//:
建立了名为NHL(NHL为自定义)的内部合法地址池(200.1.1.3~7),掩码为255.255.255.0;
RA(config)#ipnatinsidesourcelist1poolNHL
//:
建立了访问列表1中的IP地址和地址池NHL中的IP地址映射关系;
RA(config)#iproute0.0.0.00.0.0.0serial0/0//:
配置默认静态路由;
RA(config)#access-list1permit172.16.1.00.0.0.255
//:
定义名为1的访问列表,并定义了该表的地址范围为172.16.0.0/24的网段,即是内网网段IP地址;
RA(config)#end
RA#
//:
从上面配置过程看出NAT地址池独立于端口存在,即是它不属于任何端口的;
(2)、配置路由器RB的S0端口以及Loopback端口的IP地址
Router>en
Router#conft
Router(config)#hostnRB
RB(config)#intl0//:
配置回送接口loopback0,用于模拟多个同一网段的外网IP地址;
RB(config-if)#ipaddr202.1.1.3255.255.255.0secondary
RB(config-if)#ipaddr202.1.1.4255.255.255.0seco//:
参数secondary,配置次级IP地址:
RB(config-if)#ipaddr202.1.1.5255.255.255.0seco
RB(config-if)#ipaddr202.1.1.6255.255.255.0seco
RB(config-if)#ipaddr202.1.1.2255.255.255.0
RB(config-if)#noshu
RB(config-if)#ints0/0
RB(config-if)#ipaddr192.168.1.2255.255.255.0
RB(config-if)#noshu
RB(config-if)#exit
RB(config)#iproute200.1.1.0255.255.255.0s0/0
RB(config)#linevty04
RB(config-line)#passwordcisco
RB(config-line)#enablepasswordcisco
RB(config)#end
(3)、配置路由器RC的fa0/0端口的IP地址
Router>en
Router#conft
Router(config)#hostnRC
RC(config)#noiprouting//:
禁用路由功能;
RC(config)#intfa0/0//:
配置fa0/0接口,用于模拟多个同一网段的内网IP地址;
RC(config-if)#ipaddr172.16.1.4255.255.255.0seco//:
参数secondary,配置次级IP地址:
RC(config-if)#ipaddr172.16.1.5255.255.255.0seco
RC(co