当前位置:首页>>软件教程>>新闻内容  
如何用端口映射建立内网FTP
作者:Andy.Pro 发布时间:2003-11-18 13:37:31 | 【字体:

如何用端口映射建立内网FTP

一、端口映射的问题
  端口映射是指将一个IP上的某个端口映射到另外一个IP的某个端口上去。如下例:

  Host3欲登陆到FTP Server,但是由于FTP Server在Lan中,没有公网上的IP地址,因此Host3无法定位到FTP Server,此时,可在Lan中的网关(或路由器)即Host1上做端口映射,将Host1的21端口映射到FTP Server上,Host1负责将发送到21端口的数据转送到FTP Server的21端口上,如此一来,Host3可直接连接Host1的21端口,而所有发送的数据则由Host1转送到FTP Server上了。
  “这么说,只要将Host1的21端口映射到FTP Server就可以在内网中做FTP服务器了?”非也,如果你仅仅映射21端口,那么要连接到FTP的客户端必须关闭PASV模式,而且有的客户端可以登陆,而有的根本无法登陆。为什么会这样?PASV又是什么?这就先要从FTP服务器的工作模式说起了。

二、FTP的工作模式
  FTP服务器在启动后,会打开一个命令模式端口(默认是21),客户端连接上FTP时,会首先连接到命令模式端口,这时候就建立起一个命令通道,所有发送的命令与服务器的反馈就通过这个通道传送。但这条通道仅仅能传送命令,要传送文件数据信息(如文件内容、目录列表等等)就得经过另外一个通道(数据通道),而这个数据通道是用Port命令或Pasv命令建立的。
  1、PORT模式。使用PORT命令后,客户端会打开一个没有被占用的端口,然后由服务器的20端口发起一个连接,连接到这个端口,从而建立起一条数据通道。
  2、PASV模式。使用PASV命令后,客户端会请求服务器再打开一个没有被占用端口,然后客户端连接到服务器的这个端口上,建立起一条数据通道。
  因此,看得出来,如果FTP服务器是内网的,且仅映射了21端口,则其它内网用户用Port模式能连接上服务器,但无法列出文件列表,更遑论下载文件了。更要命的是Pasv模式根本无法使用,因为PASV模式需要用到的端口没有被映射。因此,我们需要映射所有被PASV模式用到的端口(可怕的工作量)。那么如何得知FTP服务器能使用哪些PASV模式端口并一一映射它们呢?幸运的是,有一个PortTunnel的端口映射软件,它能自动侦测到PASV模式需要使用的端口且自动映射它们,这实在太好了,我们就不必一个个的去映射这些PASV用到的端口了。如图:

不过PortTunnel只能用在网关机(即Host1)上,如果Host1根本不是一台PC,而是路由器或者是ADSL Modem,怎么办?没办法啦,您就只有一个一个映射了,那么,先找出PASV用到了哪些端口吧,以Serv-U这个FTP服务器软件为例:

这里PASV端口范围可以自己确定(根据服务器的最大同时连接数量确定),端口知道了,那么就一个一个的映射吧~~~路由器和ADSL Modem设置端口映射的方法我就不说了,因为每一款产品可能都不一样。

案例1:一个LAN,主机装WIN2K,共享上网,FTP服务器在内网上,则可在主机上安装PortTunnel,映射21端口,然后启用“使用Port和PASV命令”,如此即可。


点“开始”之后,端口映射工具PortTunnel就开始工作了
PortTunnel可以在我的FTP上下载
ftp://61.136.221.178/Internet/PortTunnel_CH.zip

案例2:家庭用户,用ADSL Modem + LAN方式上网,由于网关是ADSL Modem,因此无法使用PortTunnel,不过ADSL Modem本身支持端口映射,则确定FTP服务器的PASV端口后,一一在Modem上设置好映射即可。因为我没有ADSL,所以图略:)


文章来源:yesky
·FTP反馈信息集锦
·[图]关于FTP下载的被动模式与主动模式
·对付一些FTP在字符字上刻意做手脚的方法
·用批处理命令实现FTP文件的自动传输
·最具体的FTP命令详解
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我