zydx520 发表于 2009-12-9 23:32:33

端口映射方法

实现内/外网的互访
  所谓内网是指通过adsl实现共享上网的网络环境,即intranet。所谓外网是指internet上除指定“内网”之外的其他部分,即公网。实现内/外网互访可使“资源共享”这一计算机网络的特点得到更淋漓尽致的体现。


  (一)利用porttunnel软件实现
  porttunnel是一个能够实现端口映射的专用工具软件。它的原理是先在内网服务器上做端口映射,则当外网计算机访问内网服务器上的此端口时,该软件就会自动其将相关访问信息“转发”到指定的内网工作站上。
  这里,我们以porttunnel?v?1.6.15.218简体中文版(以下简称porttunnel)为例。内网服务器操作系统以windows?2003为例。
  1.安装porttunnel

  (1)双击porttunnel的安装文件porttunnel_chs.zip,将其解压到任意目录中。双击解压后的“porttunnel_chs.msi”文件即可开始安装。
  (2)安装完成,依次单击“开始→程序→porttunnel”菜单项,即可看到“porttunnel”(软件设置程序)、“readme.txt(chinese)”(软件的简体中文说明书)和“readme.txt(english)”(软件的英文说明书)等三项相关组件。
  2.设置前的准备工作
  在设置porttunnel之前,让我们先来了解一下http、ftp和smtp这三种常见的服务。http的英文全称为hyper?text?transport?protocol,超文本传输协议,如果你想要让自己做的网页能够让别人浏览到,就需要用到http服务器(又叫web服务器和www服务器)上;ftp的英文全称为file?transfer?protocol,文件传输协议,如果你想要向别人提供文件上传和下载功能(如果只想要下载功能,则http服务器也可实现),就需要用到ftp服务器;smtp的英文全称为simple?mail?transfer?protocol,简单邮件传输协议,如果你想要向别人提供邮件发送功能(不包括邮件接收功能),就需要用到smtp服务器。
  为了方便叙述,这里先假设一种网络环境和欲达到的效果:
  内网中的服务器为adsl拨号上网,能自动获得公网ip地址,已设置好了一个http服务器,占用80端口,自动调用的首页文件“index.htm”,显示内容为“您访问到的是内网服务器上的http服务器”;内网中的一台工作站和内网服务器在同一个对等网中,该工作站计算机名为“pro1”,ip地址为“192.168.0.48”,已设置好了一个http服务器,占用80端口,自动调用的首页文件“index.htm”,显示内容为“您访问到的是内网工作站pro1上的http服务器”。
  说明:如果内网服务器和内网工作站的操作系统是windows?98,则可使用系统自带的pws(personal?web?server,个人web服务器)来设置http服务器;如果计算机的操作系统是windows?2000/xp/2003,则可使用系统自带的iis(internet?information?services,internet信息服务)来设置http服务器。具体操作方法可参见《电脑报》上相关文章,此处不再赘述。
  有了以上的网络环境后,希望能够达到的效果是:外网中的计算机均能访问到内网服务器和内网工作站上的http服务器。
  3.设置porttunnel

  (1)依次单击“开始→程序→porttunnel”菜单项中的“porttunnel”项,进入“porttunnel”设置对话框。
  (2)单击“增加”按钮打开“new?port?mapping”(新的端口映射)对话框,单击“常规”选项卡。
  (3)在“名字”处输入“pro1-http”。此设置表明该映射将作用于“pro1”工作站上的http服务;“名字”处也可输入其他任意内容。
  (4)在“输入端口”处输入“81”。此设置表明该映射将把内网服务器上的81端口分配给“pro1”工作站上的http服务(默认的80端口已被iis分配给了内网服务器上的http服务);如果内网服务器上没有开启http服务,此处可设置为80端口。
  说明:此“输入端口”值为内网服务器上开放的端口,它设置的内容不能和该服务器上任意已使用的端口值相同;但此处设置的内容和内网工作站上开放的端口值无关。一般来说,对于所有的端口(包括后面将要涉及到的“输出端口”),人们习惯将http服务设置为80之后的值,比如为81、82等,将ftp服务设为21之后的值,比如为22、23等。
  (5)在“输入端口”下保持选择为“single”(单一端口)选项不变。此设置表明只为“pro1”工作站上的http服务分配一个端口;如果选中“range”(一组端口)选项,则可设置使用多个连续的端口值。
  说明:如果此处选择的是“range”选项,则可为“输入端口”设置一个端口范围(比如为81~83),访问在此范围内的任意一个端口均可访问到相关的服务器。
  (6)在“捆绑地址”处保持选择为“非确定(0.0.0.0)”不变。此设置表明内网服务器使用动态的公网ip地址;如果内网服务器使用静态的公网ip地址,则只需要在此处列表中选择相应ip地址即可。
  (7)在“输出端口”处输入“80”。此设置表明相应内网工作站http服务使用的是80端口;可根据实际情况进行修改。
  说明:此“输出端口”值为内网工作站上开放的端口,它设置的内容和内网服务器上开放的端口值无关。
  (8)在“输出地址”处输入“192.168.0.48”。此设置表明本映射将作用于内网ip地址为“192.168.0.48”的内网工作站中;可根据实际情况进行修改。
  (9)单击“确定”按钮返回“porttunnel”设置对话框,此时即可在列表中看到所建立的映射。
  (10)如果还需要为内网中的其他工作站或者服务(http、ftp、smtp等)建立映射,均可参照以上的设置方法完成。
  (11)单击“porttunnel”设置对话框中的“开始”按钮使所有映射对应的“状态”由“停止”变为“开启”即可。
  4.测试porttunnel

  当完成上述工作之后,如果你的内网服务器操作系统是windows?2000/xp/2003,则依次单击“开始→程序→管理工具→服务”菜单项,即可看到里面多出了一项名为“porttunnel”的服务,其“启动类型”为“自动”,“状态”为“已启动”,这说明porttunnel软件已经可以使用了,并且其相关服务以后将在内网服务器启动后自动运行。
  现在让我们来测试一下porttunnel设置后的使用效果:假设已查得内网服务器当前的公网ip地址为“218.88.132.48”,则在外网计算机浏览器(比如ie)的地址栏输入“218.88.132.48”或者“http://218.88.132.48”或者“http://218.88.132.48:80”的格式,均可得到包含“您访问到的是内网服务器上的http服务器”内容的页面;输入“http://218.88.132.48:81”的格式,均可得到包含“您访问到的是内网工作站pro1上的http服务器”内容的页面。由此可见,公网对内网中相关服务的访问已经设置成功。
  注意:关于如何查询内网服务器当前的公网ip地址(必须确保此内网服务器已上网),一般采用的方法是在内网服务器端依次单击“开始→运行”菜单项,在出现的对话框中输入“cmd”并回车,进入命令提示符窗口,然后在提示符后输入“ipconfig”命令并回车,即可看到。
  在访问所设置的http、ftp和smtp时,需要注意以下事项:
  (1)如果设置porttunnel时的“输入端口”处输入的是相关服务器的默认值(http服务默认值为80,ftp默认值为21,smtp服务默认值为25),则对于http服务来说,访问时可以省略“http://”前辍和端口号(使用如“218.88.132.48”或者“http://218.88.132.48”或者“http://218.88.132.48:80”的格式均可访问);对于ftp服务来说,可省略端口号(使用如“ftp://218.88.132.48”或者“http://218.88.132.48:21”的格式均可访问);对于smtp服务来说,不需要修改邮件发送软件(比如foxmail和outlook)中的默认端口号。
  (2)如果设置porttunnel时的“输入端口”处输入的不是相关服务器的默认值,那么对于http服务和ftp服务来说,在访问时必须要用“http://218.88.132.48:81”和“ftp://218.88.132.48:22”的格式(任何部分在这些格式中均必不可少,“81”和“22”为相关服务的非默认端口值);对于smtp服务来说,则需要修改邮件发送软件中相应的smtp端口值。
页: [1]
查看完整版本: 端口映射方法