查看: 17808|回复: 22

送给使用内网的玩家:NAT原理简介、各种 ADSL Modem 及路由器的端口映射方法

[复制链接]
发表于 2008-4-17 09:16 | 显示全部楼层 |阅读模式
以下内容转自:www.emule.org.cn



NAT原理简介、各种 ADSL Modem 及路由器的端口映射方法NAT原理简介  


        NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。如图:

  简单地说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将 内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共 IP地址紧缺的问题。通过这种方法,您可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部网络,所有 内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。如图2所示。这里提到的内部地址,是指在内部网络中分配给节点 的私有IP地址,这个地址只能在内部网络中使用,不能被路由(一种网络技术,可以实现不同路径转发)。虽然内部地址可以随机挑选,但是通常使用的是下面的 地址:10.0.0.0~10.255.255.255,172.16.0.0~172.16.255.255, 192.168.0.0~192.168.255.255。NAT将这些无法在互联网上使用的保留IP地址翻译成可以在互联网上使用的合法IP地址。而全 局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻 址的地址。
  NAT 功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。比如Cisco路由器中已经加入这一功能,网络管理员只需在路由器的IOS中设 置NAT功能,就可以实现对内部网络的屏蔽。再比如防火墙将WEB Server的内部地址192.168.1.1映射为外部地址202.96.23.11,外部访问202.96.23.11地址实际上就是访问访问 192.168.1.1。另外资金有限的小型企业来说,现在通过软件也可以实现这一功能。Windows 98 SE、Windows 2000 都包含了这一功能。
NAT技术类型  NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。
  其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定 义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,三种 NAT方案各有利弊。
  动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。
  网络地址端口转换NAPT(Network Address Port Translation)是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。
  在Internet 中使用NAPT时,所有不同的信息流看起来好像来源于同一个IP地址。这个优点在小型办公室内非常实用,通过从ISP处申请的一个IP地址,将多个连接通 过NAPT接入Internet。实际上,许多SOHO远程访问设备支持基于PPP的动态IP地址。这样,ISP甚至不需要支持NAPT,就可以做到多个 内部IP地址共用一个外部IP地址上Internet,虽然这样会导致信道的一定拥塞,但考虑到节省的ISP上网费用和易管理的特点,用NAPT还是很值得的。

ADSL Modem 的端口映射讲解  如果ADSL本身就带有路由功能,就需要在ADSL的“管理界面”中设置相应的端口映射。设置的方法可能会因为ADSL不同的品牌和型号,在设置的方法上也会有所不同。


路由器的端口映射讲解  如果是通过ADSL+路由器的方式上网,就需要在路由器中进行相应的端口映射的设置。设置 的方法可能会因为路由器不同的品牌和型号,在设置的方法上也会有所不同。



PS:具体到FM,有好几种说法,似乎端口号为1783、10093、10094 这几个,那就干脆全部开放,把TCP、UDP开放,或者直接来一个ALL吧。如果有DMZ功能,直接把DMZ打开,这样更方便。至于有朋友担心这样等于把机器“暴露”在公网中,其实大可不必——这样做你和那些直接用ADSL或者别的直接用公网IP的方式是一样的,不会比他们多点什么缺陷。安全问题是要注意很多方面的,不是说把自己的机器封闭起来就万事大吉了。

希望这个帖子能对玩联机想建主机而又使用内网的朋友有所帮助吧:)



7楼更新代理服务器上网如何设置端口映射

[ 本帖最后由 一笑红尘惊 于 2008-4-17 13:47 编辑 ]

评分

参与人数 1经验 +5 PGB +5 收起 理由
蓝色依旧 + 5 + 5 非常不错

查看全部评分

发表于 2008-4-17 12:12 | 显示全部楼层
就打开DMZ可以啦
 楼主| 发表于 2008-4-17 13:07 | 显示全部楼层
原帖由 冇愛絕戀 于 2008-4-17 12:12 发表
就打开DMZ可以啦


不要那么简单的一句话,多普及点知识给大家嘛:loveliness:
发表于 2008-4-17 13:29 | 显示全部楼层
:ljh025) :ljh025)
好帖,不过不是ADSL的内网如何映射阿
 楼主| 发表于 2008-4-17 13:41 | 显示全部楼层
原帖由 蓝色依旧 于 2008-4-17 13:29 发表
:ljh025) :ljh025)
好帖,不过不是ADSL的内网如何映射阿


要么是路由,要么是服务器,只要你有权限,你就可以添加

不过代理服务器的话,会麻烦一些,服务器使用的系统不同,设置方法就会不同……
发表于 2008-4-17 13:45 | 显示全部楼层
应该是服务器,使用简单的端口映射软件能实现么:ljh025) :ljh025)
 楼主| 发表于 2008-4-17 13:46 | 显示全部楼层
我这里转一下windows server系列的方法吧,以2000为例,2003也差不多:

NAT端口映射配图详解(网外Internet访问代理服务器内部的实现方法)

      由于公网IP地址有限,不少ISP都采用多个内网用户通过代理和网关路由共用一个公网IP上INTERNET的方法,这样就限制了这些用户在自己计算机上架设个人网站,要实现在这些用户端架设网站,最关键的一点是,怎样把多用户的内网IP和一个他们唯一共享上网的IP进行映射!就象在局域网或网吧内一样,虽然你可以架设多台服务器和网站,但是对外网来说,你还是只有一个外部的IP地址,怎么样把外网的IP映射成相应的内网IP地址,这应该是内网的那台代理服务器或网关路由器该做的事,对我们用私有IP地址的用户也就是说这是我们的接入ISP服务商(中国电信、联通、网通、铁通等)应该提供的服务,因为这种技术的实现对他们来说是举手之劳,而对我们来说是比较困难的,首先得得到系统管理员的支持才能够实现。因为这一切的设置必须在代理服务器上做的。
       要实现这一点,可以用Windows 2000 Server 的端口映射功能,除此之外Winroute Pro也具有这样的功能,还有各种企业级的防火墙。而对于我们这些普通用户,恐怕还是用Windows 2000 Server最为方便。      先来介绍一下NAT,NAT(网络地址转换)是一种将一个IP地址域映射到另一个IP地址域技术,从而为终端主机提供透明路由。NAT包括静态网络地址转换、动态网络地址转换、网络地址及端口转换、动态网络地址及端口转换、端口映射等。NAT常用于私有地址域与公用地址域的转换以解决IP地址匮乏问题。在防火墙上实现NAT后,可以隐藏受保护网络的内部拓扑结构,在一定程度上提高网络的安全性。如果反向NAT提供动态网络地址及端口转换功能,还可以实现负载均衡等功能。
      端口映射功能可以让内部网络中某台机器对外部提供WWW服务,这不是将真IP地址直接转到内部提供WWW服务的主机,如果这样的话,有二个蔽端,一是内部机器不安全,因为除了WWW之外,外部网络可以通过地址转换功能访问到这台机器的所有功能;二是当有多台机器需要提供这种服务时,必须有同样多的IP地址进行转换,从而达不到节省IP地址的目的。端口映射功能是将一台主机的假IP地址映射成一个真IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转到内部一主机的提供这种特定服务的主机;利用端口映射功能还可以将一台真IP地址机器的多个端口映射成内部不同机器上的不同端口。 端口映射功能还可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等协议。理论上可以提供六万多个端口的映射,恐怕我们永远都用不完的。

      一、下面来介绍一下通过NAT共享上网和利用NAT来实现端口映射。   
1、在Windows 2000 Server上,从管理工具中进入“路由和远程访问”(Routing and Remote Access)服务,在服务器上鼠标右击,-》“配置并启用路由和远程访问”




2、点“下一步”


3、选“Internet连接服务器”,让内网主机可以通过这台服务器访问Internet.





4、最好先配置好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台电脑,其中一台上装了Sambar 5.1b5做的Web服务器,Web端口是80,待会就从外网(用192.200.200.55来替代)来访问这个192.168.0.2:80上的网页) 这台NAT主机上开通了IIS 5.0,端口是80,用端口映射的办法把8081端口映射到内部主机192.168.0.2的80端口上。


6、在“路由和远程访问服务器安装向导”中选“Internet连接”(就是连向Internet的那个连接),点“下一步”。



、选“完成”
  
到此为止,NAT共享设置也就完成了,内部的主机也能上网了。内部主机的网络设置如下:  
IP地址范围是912.168.0.2~192.168.0.254,子网掩码为255.255.255.0,网关为192.168.0.1,DNS为ISP给的地址,我们的是211.98.xxx.xxx  


二、利用NAT来映射端口1、添加NAT协议。右击“常规”,-》“新路由选择协议”




2、在“新路由选择协议”中选择“网络地址转换(NAT)”,点击“确定”




3、这样在“IP路由选择”中就多了一项“网络地址转换(NAT)”
4、右击“网络地址转换(NAT)”,添加“新接口”




5、在“网络地址转换(NAT)的新接口”中选择“Internet连接”(也就是连向Internet的那个连接,可不要选错咯)




6、在“网络地址转换-Internet连接属性”中选中“公用接口连接到Internet”,复选“转换TCP/UDP头(推荐)”



7、在"地址池"选项表里添加你需要提供端口重定向的起始地址与结束地址.(也  




就是你要拿出来搞端口映射的所有IP地址,一般情况下我们就一个IP地址,所以可以不用“地址池”不同之处后面再讲。这里假设有8个地址,设置如下:
添好后是这样的:



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端口)



 楼主| 发表于 2008-4-17 13:49 | 显示全部楼层
原帖由 蓝色依旧 于 2008-4-17 13:45 发表
应该是服务器,使用简单的端口映射软件能实现么:ljh025) :ljh025)


这种软件一般是你自己有权限,为了便于管理才用的吧

如果你是想使用一个软件就能让服务器有你的端口的映射,那岂不是成了黑客工具……:L
发表于 2008-4-17 15:52 | 显示全部楼层
看不懂啊

谁来帮我把我单位的网映射出去啊
 楼主| 发表于 2008-4-17 15:53 | 显示全部楼层
原帖由 jeff张 于 2008-4-17 15:52 发表
看不懂啊

谁来帮我把我单位的网映射出去啊


单位的话,应该是用代理服务器上网的,如果你跟服务器管理员关系好的话,请参照7楼。如果是linux之类的系统的话,直接问管理员吧……
发表于 2008-4-18 15:19 | 显示全部楼层
看不懂,
  但是还是要顶
 楼主| 发表于 2008-4-18 15:39 | 显示全部楼层
原帖由 王子斌儿 于 2008-4-18 15:19 发表
看不懂,
  但是还是要顶


当你用得到的时候,应该就会看懂了,呵呵
发表于 2008-9-3 23:33 | 显示全部楼层
:lol 这帖很重要
人肉置顶
发表于 2008-9-10 22:33 | 显示全部楼层
:lol :lol :lol :lol :lol
发表于 2009-1-6 10:06 | 显示全部楼层
好帖子  马上摸索摸索
发表于 2009-3-14 17:57 | 显示全部楼层
好复杂啊~~~~~~头大
发表于 2009-3-31 08:44 | 显示全部楼层
啊,技术帖,貌似我是最先发现CM和FM的端口是10093和10094的 :loveliness:
发表于 2009-11-4 10:28 | 显示全部楼层
没明白有啥用
发表于 2010-7-14 17:08 | 显示全部楼层
楼主 大哥  我用的是adsl+水星mw150R无线路由器 请问如何设置成主机啊 急等
发表于 2010-11-21 19:55 | 显示全部楼层
想学习下使用路由联机 结果发现链接 直接到电驴了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|爆棚小组 PlayGM论坛

GMT+8, 2024-11-22 10:07 , Processed in 0.045088 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表