让内网用户玩得更爽——玩转端口映射

数字办公

我用路由器共享ADSL上网,为何只能看网页不能用电骡下载电影?我在公司内网架了台FTP服务器,如何让Internet上的朋友也能访问?我用ADSL拨号上网,拥有独立IP,为何在电骡中居然是低ID......要解决上述问题,我们不得不搞懂一个重要的网络名词——端口映射!

透彻理解端口映射

在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如网卡接口、串口等。端口映射这个概念中的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。

我们知道,服务器可以向外提供多种服务。比如,一台服务器可以是Web服务器,也可以同时是FTP服务器,甚至它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个主要的原因,就是各种服务采用不同的逻辑端口分别提供不同的服务,比如:通常WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。

端口映射这个概念所指的端口是特指TCP/IP协议中的端口,是逻辑意义上的。端口映射的英文名叫NAT(Network Address Translation),中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force,Internet工程任务组)标准,允许一个整体机构以一个公用IP地址出现在Internet上(原理如图1所示)。局域网内部的一台电脑要上Internet就需要端口映射,端口映射分为动态(Pooled NAT)、静态(Static NAT)和网络地址端口转换NAPT(Port-Level NAT)三种。

45-f10-1.jpg
图1

1.动态端口映射

假如内网中的一台电脑要访问新浪网,会向NAT网关(一般为路由器或代理服务器)发送数据包,包头中包括对方(也就是新浪网服务器)的IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网服务器,新浪网服务器收到数据后作出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯。当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。动态端口映射其实也就是NAT网关的工作方式。

2.静态端口映射

在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。这就可以实现让Internet上的任何一台电脑访问局域网内部电脑。

3.网络地址端口转换

网络地址端口转换普遍应用于接入设备中,典型的就是路由器,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。

实战端口映射

家庭局域网、办公局域网、网吧,要想Internet应用畅通无阻,就必须学会并用好端口映射。下面给大家介绍两个最典型的应用案例。

1.在电骡中变成高ID用户

如果你使用共享ADSL拨号上网,同时打开了ADSL Modem的路由功能,此时的ADSL Modem相当于你的代理服务器,而你的电脑处于与Modem同网段的局域网中。要想畅快地使用电骡下载文件,必须避免成为低ID用户,这就要求你在Modem上做端口映射设置。下面以华硕6000EV,介绍具体的设置方法,其他ADSL的设置原理类似。

(1)在IE浏览器中敲入192.168.1.1,进入ADSL Modem登录界面。输入用户名adsl,密码adsl1234或者是root/12345进入设置界面。

(2)假如你电脑的IP地址是192.168.1.2,进入Services页的NAT设置,在下拉框中选择NAT RULE ENTRY。

(3)点击添加,在弹出的页面中,在RULE FLAVOR中选择BITMAP,在RULE ID中填一个大于10的数即可,IF Name选择PPP-0,local address选择你电脑的IP地址,如192.168.1.2,下面的0.0.0.0不用理会,点“提交”。

(4)在Admin选项中选择Commit&Reboot,点击提交,ADSL Modem将重启,之后就再进入电骡你就变成高ID了。

2.让外网访问内网服务器

如果通过“ADSL Modem+路由器”方式上网(结构如图2所示),又想让Internet用户能够访问到内网架设的服务器,如Web服务器、FTP服务器等,就须要在路由器中进行相应的端口映射的设置。设置的方法可能会因为路由器品牌不同而有少许差异。下面以TP-Link td8830路由器为例进行介绍,其他路由器的设置方法类似。

45-f10-2.jpg
图2

(1)在IE地址栏中输入“192.168.10.200”并“回车”,在弹出的登录对话框中输入默认管理用户名“root”和密码进入管理界面。并在管理界面左侧的菜单栏中选择“Basic Config→PAT”,进入端口映射配置对话框。在该对话框中,点击“Add”按钮添加新的映射项目。

(2)在“Protocol”(协议)栏中,我们可以选择两种协议:TCP和UDP。由于Web服务和FTP服务均采用TCP/IP协议,因此保留默认设置TCP。

(3)在“Interface”(接口类型)栏中,默认值为“LAN”,我们还可以选择ATM1、ATM2,一直到ATM8。在此我们选择ATM1(千万不要选择LAN,否则映射无法成功)。

(4)“Service Name”是用来标志该映射的类别的,可以任意输入,例如要配置FTP映射时就输入“ftp”。

(5)在“Port Number”(端口号)栏中,填写各种服务的端口号,建议采用各种服务的默认端口,例如要映射FTP服务,就直接输入21端口。要映射Web服务,就输入80端口。

(6)“Server IP Address”是指架设服务器的计算机的私有IP地址,如192.168.10.5。

(7)“Server Port Number”指的是架设服务器的计算机为该服务开启的端口,本例中FTP服务器和Web服务器都采用了各自对应的默认端口:21和80。

映射项目添加完毕后,点击“Finish”按钮完成设置。然后选择左侧菜单栏中的“Save & Restart”,在弹出的对话框中先点击“Save”按钮保存设置,然后点击“Restart”按钮重新启动。

重启完毕后,Internet用户就可以直接通过公有IP地址访问“内部”的计算机架设的各种服务了。