NAT转换内外网ip地址映射
2010年08月09日星期一上午10:15
------------------------基础学习-------------------
局域网内私服在internet公开的解决办法
nat转换
------------------------------------------------------
------------------------资料学习2------------------
-------------------------------------------------------
局域网内公开的ip只有一个,除非你是在主机上建私服,否则你无法公开你的私服,只能在局域网内,解决的办法如下。由于公网IP地址有限,不
少ISP都采用多个内网用户通过代理和网关路由共用一个公网IP上INTERNET的方法,这样就限制了这些用户在自己计算机上架设个人网站,要实现在这
些用户端架设网站,最关键的一点是,怎样把多用户的内网IP和一个他们唯一共享上网的IP进行映射!就象在局域网或网吧内一样,虽然你可以架设多
台服务器和网站,但是对外网来说,你还是只有一个外部的IP地址,怎么样把外网的IP映射成相应的内网IP地址,这应该是内网的那台代理服务器或
网关路由器该做的事,对我们用私有IP地址的用户也就是说这是我们的接入ISP服务商(中国电信、联通、网通、铁通等)应该提供的服务,因为这种
技术的实现对他们来说是举手之劳,
而对我们来说是比较困难的,首先得得到系统管理员的支持才能够实现。因为这一切的设置必须在代理服务器上做的。要实现这一点,可以用Windows2000
Server的端口映射功能,除此之外Winroute
Pro也具有这样的功能,还有各种企业级的防火墙。而对于我们这些普通用户,恐怕还是用Windows2000Server最为方便。先来介绍一下NAT,NAT
(网络地址转换)是一种将一个IP地址域映射到另一个IP地址域技术,从而为终端主机提供透明路由。NAT包括静态网络地址转换、动态网络地址转换、
网络地址及端口转换、动态网络地址及端口转换、端口映射等。NAT常用于私有地址域与公用地址域的转换以解决IP地址匮乏问题。在防火墙上实现NAT
后,可以隐藏受保护网络的内部拓扑结构,在一定程度上提高网络的安全性。如果反向NAT提供动态网络地址及端口转换功能,还可以实现负载均衡等功
能端口映射功能可以让内部网络中某台机器对外部提供WWW服务,这不是将真IP地址直接转到内部提供WWW服务的主机,如果这样的话,有二个蔽端,
一是内部机器不安全,因为除了WWW之外,外部网络可以通过地址转换功能访问到这台机器的所有功能;二是当有多台机器需要提供这种服务时,必须有
同样多的IP地址进行转换,从而达不到节省IP地址的目的。端口映射功能是将一台主机的假IP地址映射成一个真IP地址,当用户访问提供映射端口主
机的某个端口时,服务器将请求转到内部一主机的提供这种特定服务的主机;利用端口映射功能还可以将一台真IP地址机器的多个端口映射成内部不同
机器上的不同端口。端口映射功能还可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等协议。理论上可以提供六万多个端口的映射,恐怕我们
永远都用不完的。
一、下面来介绍一下通过NAT共享上网和利用NAT来实现端口映射。
1、在Windows2000Server上,从管理工具中进入“路由和远程访问”(RoutingandRemoteAccess)服务,在服务器上鼠标右击,-》“配置并启用
路由和远程访问”
2、点“下一步”
3、选“Internet连接服务器”,让内网主机可以通过这台服务器访问Internet.(最好先配置好NAT共享,让内网主机可以正常上网,不然的话,配好
端口映射后再来配置NAT共享就有点麻烦了,弄的不好NAT还共享不了。)
4、选“设置有网络地址转换(NAT)路由协议的路由器”,不要选“设置Internet连接共享(ICS)”.(ICS与NAT的区别在于使用的容易程度上,为了启
用ICS,只需要选择一个复选框就可以了,而为了启用NAT,则需要更多的配置任务,此外,ICS用于小型网络上的原因还在于:针对内部主机,它需要
有一个固定的IP地址范围;针对与外部网络的通信,它被限制在单个公共IP地址上;它只允许单个内部网络接口。)
5、先在此说一下我的网络情况:Internet连接192.200.200.3(也是个内部地址,没办法,铁通的网络不太好,网速不快,价钱又贵,我的命真苦啊)宿
舍内连接192.168.0.1(宿舍里连有局域网,共4台电脑,其中一台上装了Sambar5.1b5做的Web服务器,Web端口是80,待会就从外网(用192.200.200.55
来替代)来访问这个192.168.0.2:80上的网页)这台NAT主机上开通了IIS5.0,端口是80,用端口映射的办法把8081端口映射到内部主机192.168.0.2
的80端口上。
6、在“路由和远程访问服务器安装向导”中选“Internet连接”(就是连向Internet的那个连接),点“下一步”。
7、选“完成”到此为止,NAT共享设置也就完成了,内部的主机也能上网了。内部主机的网络设置如下:
IP地址范围是912.168.0.2~192.168.0.254,子网掩码为255.255.255.0,网关为192.168.0.1,DNS为ISP给的地址,我们的是
二、利用NAT来映射端口
1、添加NAT协议。右击“常规”,-》“新路由选择协议”
2、在“新路由选择协议”中选择“网络地址转换(NAT)”,点击“确定”
3、这样在“IP路由选择”中就多了一项“网络地址转换(NAT)”
4、右击“网络地址转换(NAT)”,添加“新接口”
5、在“网络地址转换(NAT)的新接口”中选择“Internet连接”(也就是连向Internet的那个连接,可不要选错咯)
6、在“网络地址转换-Internet连接属性”中选中“公用接口连接到Internet”,复选“转换TCP/UDP头(推荐)”
7、在“地址池“选项表里添加你需要提供端口重定向的起始地址与结束地址.(也就是你要拿出来搞端口映射的所有IP地址,一般情况下我们就一个IP
地址,所以可以不用“地址池”不同之处后面再讲。
8、在“特殊端口“选项表里提供了你需要定向的数据连接协议(是TCP还是UDP协议,如Web和FTP就是TCP协议的),选准后“添加”
9、“添加特殊端口”,这里就是设置端口映射的核心了,把NAT主机的哪个端口映射到内网主机的哪个端口就在这里设置,由于设有“地址池”,所以
可以在“公网地址”中添上“地址池”中的任一地址,这里添的是“192.200.200.3”,也就是我的地址,如果你在前面没有设置“地址池”,那么在这
个选项页中“在此地址池项”为灰色不可选,你只能选“在此接口”,也就是你只有一个公网IP地址,这比较适合只有一个IP的朋友,可以不用“地址
池”,何必做多余的设置呢?假如有问题的话,还不是自找麻烦。“传入端口”就是别人从网外访问有公网IP的NAT服务器的端口,这里设的为8080。
“专用地址和传出地址”就是内部主机的IP地址和提供特殊服务的端口,这里是把192.200.200.3上的8080端口映射到192.168.0.2上的80端口。
这就是TCP协议端口的重定向,至于UDP的定向页差不多,下图就是添加端口映射后的情况。
四、测试结果
在192.200.200.55出测试了一下NAT主机上的Web服务器和内网中192.168.0.2上建的Web服务器,得出结果如下:(不好意思,中间改过一下端口号,
192.200.200.3上的8081端口映射到192.168.0.2的80端口)
实现多服务器平衡负载转
用下面的方法可以实现多服务器平衡负载,为了方便说明,我就说有AS和BS两个服务器。
1、在AS配置并测试通过服务器
2、在Mud2Logsrv!中加入一行,写入BS服务器IP
3、修改mirrvergate_中的IP为BS服务器的IP
4、将Mirrver文件夹复制到BS相同位置
5、运行除以外的所有程序
6、转到BS服务器,修改!中的所有IP为AS的IP
7、运行
8、OK,你会发现双机运行一个服务器了:)
以上过程其实是把游戏后台和前台分离了。
我用的是一台主机:
主机上用除了MIR200以外的文件,就是登录的一些服务器
只把rungate服务器的监听地址指向MIR200服务器的地址
如:主机A是192.168.0.1即除mir200以外的服务器
副机B是192.168.0.2即只运行mir200的服务器
副机B中的!tup文件里的地址全部指向主机的外网地址,如:61.128.128.10
主机A除了rungate中指向192.168.0.84其它服务器都指向61.128.128.10
还有一个loginsrv服务器的地址要改,好像改成
161.128.128.10192.168.0.261.128.128.10:7100就行了
-------------------------------------------------------
------------------------实验演练1---------------------
-------------------------------------------------------
一.实现方式有三种:
1.静态转换:
2.动态转换:
3.端口复用:
二.地址类型:
1.内部局部地址:内部网络中的地址范围;
2.内部全局地址:路由器与外网相连的地址;
3.外部全局地址:外部路由器的外部地址;
4.外部局部地址:指外部目的主机在局域网的地址范围;
三.NAT并不是所有的数据流都支持的,可支持的数据流:等.
四.配置:
1.步骤:先建立转换对应关系,然后在路由器的内部端口上启用入站转换,在外部接口上启用出站转换.
1.静态转换:
conft
interfacerial0(外部端口)
ipadd61.169.62.129255.255.255.248
nosh
interfaceethernet0(内部端口)
ipadd192.168.10.1255.255.255.0
nosh
建立映射关系,(假设外部接口有好几个IP可用时,我们可用其他的地址)
ipnatinsidesource192.168.10.261.169.62.129
ipnatinsidesource192.168.10.3.61.168.62.130
应用到路由器的端口上:
interfacerial0
ipnatoutside(在外部端口上启用出站转换)
interfaceethernet0
ipnatinside(在内部端口上启用入站转换)
五.动态转换:
1.步骤:给路由器设置IP地址,建立一个允许地址范围的访问控制列表,建立一个可以转换的地址范围池,建立转换映射关系,应用到接口.示例:
conft
interfaces0
ipadd61.159.62.129255.255.255.192
interfacee0
ipadd192.168.10.1255.255.255.0
access-list1permit192.168.10.00.0.0.255
ipnatpooltest061.159.62.13061.159.62.190netmask255.255.255.192(格式为:ipnatpool地址池名起始地址结束地址netmask掩码)
ipnatinsidesourcelist1pooltest0
interfaces0
ipnatoutside
interfacee0
ipnatinside
六.端口复用:指同一个IP用不同的端口,有两种情况,如果有多外合法IP,可用另一个外部合法IP来进行转换,如果只有一个合法IP,就用这个IP来进行
转换,示例:
1.多个合法IP的情况
conft
ints0
ipadd61.159.62.129255.255.255.248
inte0
ipadd192.168.10.1255.255.255.0
access-list1permit192.168.10.00.0.0.255
ipnatpooltest061.159.62.13061.159.62.130netmask255.255.255.248(注意此处用的是另一个合法IP,起止只有一个)
ipnatinsidesourcelist1pooltest0overload(注意此处)
interfaces0
ipnatoutside
interfacee0
ipnatinside
2.只有一个合法IP的情况
conft
ints0
ipadd61.159.62.129255.255.255.248
inte0
ipadd192.168.10.1255.255.255.0
access-list1permit192.168.10.00.0.0.255
ipnatinsidesourcelist1interfaces0overload(注意此处省略了地址池设置,增加了接口的标识)
interfaces0
ipnatoutside
interfacee0
ipnatinside
七.负载平衡:假设有三台服务器10.1.1.1,10.1.1.2,10.1.1.3,使用一个虚拟主机10.1.1.127的地址来代表这三台服务器组成的服务器组,可以利用NAT
技术来实现负载平衡.
步骤:先设置路由器内外部接口IP,建立允许访问的地址列表(也就是这台虚拟主机),给真实服务器组建立一个转换池,建立映射关系,应用到接口.示例:
conft
ints0
ipadd61.158.20.22255.255.255.248
inte0
ipadd10.1.1.254255.255.255.0
access-list1permit10.1.1.127(注意此处允许的是虚拟主机地址)
ipnatpoolreal-host10.1.1.110.1.1.3prefix-length24typerotary
(real-host指地址池名称,后面地址指的转换的范围,prefix-length指掩码长度,rotary指循环使用)
ipnatinsidedestinationlist1poolreal-host(注意此处因为是让外部主机访问我们的服务器,所有相对于我们来说,他们要访问的是目的,也就是
说,转换是外部主机的ip地址,他访问的是我的列表1中的地址,而我的这个列表1中的地址在我的地址池real-host中循环使用)
ints0
ipnatoutside
inte0
ipnatinside
八.地址的交叉处理:如果两个局域网同一网段的主机想互相访问的话的,就涉及到地址交叉的问题,这时应该这样解决:(假设都是10.1.1.0的网段)
1.设置内外部接口IP:
conft
interfaces0
ipadd172.69.232.182.255.255.255.0
interfacee0
ipadd10.1.1.254255.255.255.0
2.定义允许访问控制列表:
access-list1permit10.1.1.00.0.0.255
3.定义地址池:
ipnatpooltest0192.2.2.1192.2.2.254prefix-length24
ipnatpooltest1193.3.3.1193.3.3.254prefix-length24
4.定义映射关系:
ipnatinsidesourelist1pooltest0
ipnatousidesourelist1pooltest1
5.应用到接口:
interfaces0
ipnatoutside
interfacee0
ipnatinside
九.验证NAT:
1.显示当前存在的转换:showipnattranslations
2.查看NAT的统计信息:showipnatstatic
3.调试:debugipnat
4.清除NATl转换表中的所有条目:clearipnattranslation*
5.清除内部转换:clearipnattranslationsinsidelocal-ipglobal-ip
6.清除外部转换:clearipnattranslationsoutsidelocal-ipglobal-ip
-------------------------------------------------------
------------------------实验演练2---------------------
-------------------------------------------------------
网络工程师交换试验手册之十七:NAT转换实验
实验目的:
理解NAT地址转换的原理,熟悉NAT转换的配置过程。进一步理解NAT在扩展IP地址方面的巨大功效。理解NAT如何将内部地址转换成外部地址的过程。
实验内容:
1.静态NAT
首先在R1上起2个环回接口loop0和loop1,为每一个loop口分配一个IP地址,模拟2台内部PC机,R1的S1看成到外网的接口。而R3这里看成外部
一台服务器。PC机想要与R3通信,不许利用NAT来将内部PC地址转换成R1上S0的地址实现。
路由器的基本配置
R1#showipintb
InterfaceIP-AddressOK?MethodStatusProt
ocol
Ethernet0unassignedYESuntadministrativelydowndown
Loopback0192.168.2.1YESmanualupup
Loopback1192.168.3.1YESmanualupup
Serial061.32.34.6YESmanualupup
Serial1unassignedYESuntadministrativelydowndow
R2#showipintb
Serial0unassignedYESTFTPupup
Serial161.32.34.5YESmanualupup
此时用扩展PING以192.168.2.1和192.168.3.1为源以61.32.34.5为目的PING
R1#ping
Protocol[ip]:
TargetIPaddress:
%BadIPaddress
TargetIPaddress:61.32.34.5
Repeatcount[5]:
Datagramsize[100]:
Timeoutinconds[2]:
Extendedcommands[n]:y
Sourceaddressorinterface:192.168.2.1
Typeofrvice[0]:
SetDFbitinIPheader?[no]:
Validatereplydata?[no]:
Datapattern[0xABCD]:
Loo,Strict,Record,Timestamp,Verbo[none]:
Sweeprangeofsizes[n]:
Typeescapequencetoabort.
Sending5,100-byteICMPEchosto61.32.34.5,timeoutis2conds:
.....
Successrateis0percent(0/5)
Sourceaddressorinterface:192.168.3.1
显然无法ping通,即内部地址无法直接与外部地址通信,于是我们启用NAT转换。
◎启动NAT静态转换。
R1(config)#intloop0
R1(config-if)#ipnatinside定义内部接口
R1(config-if)#intloop1
R1(config-if)#ipnatinside定义内部接口
R1(config-if)#ints0
R1(config-if)#ipnatoutside定义外部接口
R1(config)#ipnatinsidesourcestatic192.168.2.161.32.34.6
定义将内部的接口地址静态的的一对一的转换为61.32.34.6
R1(config)#ipnatinsidesourcestatic192.168.3.161.32.34.7
定义将内部的接口地址静态的的一对一的转换为61.32.34.7
此时用扩展Ping以192.168.2.1和192.168.3.1为源以61.32.34.5为目的PING
R1#debugipnat开放debug进行ping包时候的抓包转换测试。
!!!!!
Successrateis100percent(5/5),round-tripmin/avg/max=32/32/36ms
00:36:36:NAT:s=192.168.2.1->61.32.34.6,d=61.32.34.5[20]
看到我们的源已经进行了转换,转换后的地址才可以与目的地址进行通信
00:36:36:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.1[20]
00:36:36:NAT:s=192.168.2.1->61.32.34.6,d=61.32.34.5[21]
00:36:36:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.1[21]
00:36:36:NAT:s=192.168.2.1->61.32.34.6,d=61.32.34.5[22]
00:36:36:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.1[22]
00:36:36:NAT:s=192.168.2.1->61.32.34.6,d=61.32.34.5[23]
00:36:36:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.1[23]
00:36:36:NAT:s=192.168.2.1->61.32.34.6,d=61.32.34.5[24]
00:36:36:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.1[24]
00:37:40:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[25]
00:37:40:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[25]
00:37:40:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[26]
00:37:40:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[26]
00:37:40:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[27]
00:37:40:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[27]
00:37:40:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[28]
00:37:40:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[28]
00:37:40:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[29]
00:37:40:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[29]
有PING的结果可以看出,现在内部PC已经可以和外部通信了,并且通过debug信息可以看到NAT转换已经开始运行。但这种转换是NAT里最简单的转换,
下面我们学习其他几种NAT转换方式。
2.动态NAT
1.启动动态NAT
为loop0接口定义多个地址
R1(config-if)#ipadd192.168.2.1255.255.255.0
R1(config-if)#ipadd192.168.2.2255.255.255.0c
R1(config-if)#ipadd192.168.2.3255.255.255.0c
R1(config-if)#ipadd192.168.2.4255.255.255.0c
R1(config-if)#ipadd192.168.2.5255.255.255.0c
R1(config-if)#ipadd192.168.2.6255.255.255.0c
R1(config-if)#ipadd192.168.2.7255.255.255.0c
R1(config-if)#ipadd192.168.2.8255.255.255.0c
R1(config-if)#ipadd192.168.2.9255.255.255.0c
定义外部地址池
R1(config)#ipnatpooloutpool61.32.34.661.32.34.7netmask255.255.255.0定义了一个转换池的名字叫做outpool,也就是说,你转换后的地
址是从这个池子里面出的。
定义允许的转换的内部地址
R1(config)#access-list10permithost192.168.2.1
R1(config)#access-list10permithost192.168.3.1
定义转换
R1(config)#ipnatinsidesourcelist10pooloutpool定义了内部需要转换的是有access-list来控制的10,而转后后的地址是从outpool里面
来提取的。
◎此时用扩展PING以192.168.2.2和192.168.2.3为源以61.32.34.5为目的PING
观察转换效果
R1#debugipnat
R1#ping
Sourceaddressorinterface:192.168.2.3
Successrateis100percent(5/5),round-tripmin/avg/max=40/41/44ms
01:06:35:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[65]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[65]
01:06:35:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[66]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[66]
01:06:35:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[67]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[67]
01:06:35:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[68]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[68]
01:06:35:NAT:s=192.168.3.1->61.32.34.7,d=61.32.34.5[69]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.3.1[69]
Sourceaddressorinterface:192.168.2.2
01:13:28:NAT:s=192.168.2.2->61.32.34.6,d=61.32.34.5[85]
01:13:28:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.2[85]
01:13:28:NAT:s=192.168.2.2->61.32.34.6,d=61.32.34.5[86]
01:13:28:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.2[86]
01:13:29:NAT:s=192.168.2.2->61.32.34.6,d=61.32.34.5[87]
01:13:29:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.2[87]
01:13:29:NAT:s=192.168.2.2->61.32.34.6,d=61.32.34.5[88]
01:13:29:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.2[88]
01:13:29:NAT:s=192.168.2.2->61.32.34.6,d=61.32.34.5[89]
01:13:29:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.2[89]
当我们清楚所有的NAT会话以后,再次PING的时候的转换则有
01:06:35:NAT:s=192.168.2.3->61.32.34.6,d=61.32.34.5[65]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.3[65]
01:06:35:NAT:s=192.168.2.3->61.32.34.6,d=61.32.34.5[66]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.3[66]
01:06:35:NAT:s=192.168.2.3->61.32.34.6,d=61.32.34.5[67]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.3[67]
01:06:35:NAT:s=192.168.2.3->61.32.34.6,d=61.32.34.5[68]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.6->192.1682.3[68]
01:06:35:NAT:s=192.168.2.3->61.32.34.6,d=61.32.34.5[69]
01:06:35:NAT*:s=61.32.34.5,d=61.32.34.6->192.168.2.3[69]
01:13:28:NAT:s=192.168.2.2->61.32.34.7,d=61.32.34.5[85]
01:13:28:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.2[85]
01:13:28:NAT:s=192.168.2.2->61.32.34.7,d=61.32.34.5[86]
01:13:28:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.2[86]
01:13:29:NAT:s=192.168.2.2->61.32.34.7,d=61.32.34.5[87]
01:13:29:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.2[87]
01:13:29:NAT:s=192.168.2.2->61.32.34.7,d=61.32.34.5[88]
01:13:29:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.2[88]
01:13:29:NAT:s=192.168.2.2->61.32.34.7,d=61.32.34.5[89]
01:13:29:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.2[89]
显然2次转换的地址不同,即转换是动态的。
Sourceaddressorinterface:192.168.2.4
01:19:38:NAT:translationfailed(E),droppingpackets=192.168.2.4d=61.32.34.
5.
01:19:40:NAT:translationfailed(E),droppingpackets=192.168.2.4d=61.32.34
01:19:42:NAT:translationfailed(E),droppingpackets=192.168.2.4d=61.32.34.
01:19:44:NAT:translationfailed(E),droppingpackets=192.168.2.4d=61.32.34.
01:19:46:NAT:translationfailed(E),droppingpackets=192.168.2.4d=61.32.34.
重点*:当我们第2次PING的时候提示转换错误,NAT放弃转换,是因为外部地址只有2个,所以只能转换2个内部地址,如果想转换第3个地址,必须
前面2个转换中有一个转换停止。可见这种转换有很大的局限性,为了能够实现多个地址转换成一个地址,我们需要新的转换方法。即NAT超载。
超载
NAT超载配置很简单只需添加一个overload参数即可:
R1(config)#ipnatinsidesourcelist10pooloutpooloverload用overload是用于反复的提取地址池中的地址,其实是一种pat的技术。也就是
利用一个逻辑地址的多个端口来进行转换。
此时用扩展ping命令来测试NAT转换。
01:28:10:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[95]
01:28:10:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[95]
01:28:10:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[96]
01:28:10:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[96]
01:28:10:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[97]
01:28:10:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[97]
01:28:10:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[98]
01:28:11:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[98]
01:28:11:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[99]
01:28:11:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[99]
01:29:03:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[105]
01:29:03:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[105]
01:29:03:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[106]
01:29:03:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[106]
01:29:03:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[107]
01:29:03:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[107]
01:29:03:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[108]
01:29:03:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[108]
01:29:03:NAT:s=192.168.2.1->61.32.34.7,d=61.32.34.5[109]
01:29:03:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.1[109]
1:30:40:NAT:s=192.168.2.3->61.32.34.7,d=61.32.34.5[115]
01:30:40:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.3[115]
01:30:40:NAT:s=192.168.2.3->61.32.34.7,d=61.32.34.5[116]
01:30:41:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.3[116]
01:30:41:NAT:s=192.168.2.3->61.32.34.7,d=61.32.34.5[117]
01:30:41:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.3[117]
01:30:41:NAT:s=192.168.2.3->61.32.34.7,d=61.32.34.5[118]
01:30:41:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.3[118]
01:30:41:NAT:s=192.168.2.3->61.32.34.7,d=61.32.34.5[119]
01:30:41:NAT*:s=61.32.34.5,d=61.32.34.7->192.168.2.3[119]
观察3次转换的地址,发现都是转换成61.32.34.7,即允许多个地址转换成一个地址,这就是所谓的NAT超载,这种NAT转换能够扩展IP地址的数量,
是最长用的一种NAT转换方式。
实验总结:
NAT技术是现在网络中应用的比较广泛的技术,但是其实它的核心还是很简单的,对于它的变化,我们只能告诉大家多多掌握,因为这样的话对你理解包
的交换原理是很有用的。
-------------------------------------------------------
------------------------问题收藏-----------------------
-------------------------------------------------------
WINDOWS怎么样做NAT转换
麻烦你详细点说!我是个新手不太懂!谢谢!而且是新手!
很感激您!还有ICS网卡共享~怎么样做!
NAT是一种将一个IP地址域映射到另一个IP地址域技术,从而为终端主机提供透明路由。NAT包括静态网络地址转换、动态网络地址转换、网络地址及
端口转换、动态网络地址及端口转换、端口映射等。(其实就是网络地址转换)NAT常用于私有地址域与公用地址域的转换以解决IP地址匮乏问题。
第二。nat转换可以做什么?让内部网络中某台机器对外部提供某种特殊得服务。
第三。nat转换在什么地方可以做?路由器上,有路由功能,提供了nat转换服务得超作系统比如2000rver,2000pro,,都可以。
下面就是大家关心得怎么做了。
一般来说我推荐在2000得rver下做nat转换,不推荐2000pro,这是由于服务器版本得2000能够提供更加好得性能。
1、我们要确认2000得路由功能已经启用,在Windows2000Server上是默认启用得,从管理工具中进入“路由和远程访问”(RoutingandRemoteAccess)
服务,在服务器上鼠标右击,-》“配置并启用路由和远程访问”
2、点“下一步”然后选则“Internet连接服务器”,让内网主机可以通过这台服务器访问Internet.(这里应该先配置好NAT共享,如果配好端口映射
后再来配置NAT共享就有点麻烦,运气不好得话NAT就共享不了。用电脑也讲运气,,faint,,,,)
3、选“设置有网络地址转换(NAT)路由协议的路由器”,不选“设置Internet连接共享(ICS)”.(ICS与NAT的区别在于,ICS针对内部主机,它需要
有一个固定的IP地址范围;针对与外部网络的通信,它被限制在单个公共IP地址上;它只允许单个内部网络接口,也就是说功能没有nat强大)
4、在“路由和远程访问服务器安装向导”中选“Internet连接”(就是连向Internet的那个连接),点“下一步”。
5、选“完成”ok
到目前为止,我们完成了nat共享得配置,下面得工作也许才是大家最关心得端口得映射!
6、添加NAT协议。右击“常规”,-》“新路由选择协议”
7、在“新路由选择协议”中选择“网络地址转换(NAT)”,点击“确定”
8、这样在“IP路由选择”中就多了一项“网络地址转换(NAT)”
9、右击“网络地址转换(NAT)”,添加“新接口”
10、在“网络地址转换(NAT)的新接口”中选择“Internet连接”
11、在“网络地址转换-Internet连接属性”中选中“公用接口连接到Internet”,复选“转换TCP/UDP头(最好这么做)”
12、在"地址池"选项表里添加你需要提供端口重定向的起始地址与结束地址.也就是你要拿出来搞端口映射的所有IP地址,一般情况下我们就一个IP地
址,所以假设有1个地址,设置如下:
210.34.241.133
255.255.255.0
210.34.241.1
13、在"特殊端口"选项表里提供了你需要定向的数据连接协议(是TCP还是UDP协议,如Web和FTP就是TCP协议的),选准后“添加”
注意这里选择协议得时候是有点讲究得,你得内部服务器要对应什么服务这里就要选择是tcp得还是udp得,,比如代理qq这里就要用udp,而代理web
得ftp这里要用tcp。
14、“添加特殊端口”,这里就是设置端口映射的核心了,把NAT主机的哪个端口映射到内网主机的哪个端口就在这里设置,由于设有“地址池”,所以
可以在“公网地址”中添上“地址池”中的任一地址,这里添的是“210.34.241.133”,也就是我的地址,如果你在前面没有设置“地址池”,那么在这
个选项页中“在此地址池项”为灰色不可选,你只能选“在此接口”,也就是你只有一个公网IP地址,这比较适合只有一个IP的朋友,可以不用“地址
池”,何必做多余的设置呢?假如有问题的话,还不是自找麻烦。
“传入端口”就是别人从网外访问有公网IP的NAT服务器的端口,你自己想怎么填写就怎么填写。
“专用地址和传出地址”就是内部主机的IP地址和提供特殊服务的端口,这里是210.34.241.133上的8080端口映射到192.168.0.2上的80端口。
这就是TCP协议得重新定向了!~
本文发布于:2023-02-28 05:13:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/167753238076386.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:ip映射.doc
本文 PDF 下载地址:ip映射.pdf
留言与评论(共有 0 条评论) |