0
回答
ftp的内网问题,通过路由器映射非21端口不成功的解决方法
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
ftp内网问题,我的电脑处于内网,但我已经在20021端口做了映射。在本机上是用Serv-U 6.3.0.0 中文版建ftp的,但是当我使用FLASHFXP登陆的时候,发现总是能连接成功,但不能显示文件列表。
ftp地址:60.184.136.160 2121 vip vip
登陆ftp提示错误:
WinSock 2.0 -- OpenSSL 0.9.8a 11 Oct 2005
[左] 正在连接到 xpdingding.vicp.net -> DNS=xpdingding.vicp.net IP=60.184.136.160 PORT=2121
[左] 已连接到 xpdingding.vicp.net
[左] 220 Serv-U FTP Server v6.4 for WinSock ready...
[左] USER blog
[左] 331 User name okay, need password.
[左] PASS (隐藏)
[左] 230 User logged in, proceed.
[左] SYST
[左] 215 UNIX 无效: L8
[左] FEAT
[左] 211-Extension supported
[左] CLNT
[左] MDTM
[左] MDTM YYYYMMDDHHMMSS[+-TZ];filename
[左] SIZE
[左] SITE PSWD;执行;SET;INDEX;ZONE;CHMOD;MSG
[左] REST STREAM
[左] XCRC filename;start;end
[左] MODE Z
[左] MLST 无效*;Size*;Create;Modify*;Win32.ea*;
[左] 211 End
[左] CLNT FlashFXP 3.4.1.1149
[左] 200 Noted.
[左] PWD
[左] 257 "/h:/blog" is current directory.
[左] 无效 A
[左] 200 无效 set to A.
[左] MODE Z
[左] 200 MODE Z ok.
[左] PASV
[左] 227 Entering Passive Mode (192,168,0,155,234,97)
[左] 正在打开数据连接 IP: 60.184.136.160 端口: 60001
[左] 数据 Socket 错误: 连接超时
[左] 列表错误
[左] PASV
[左] 227 Entering Passive Mode (192,168,0,155,234,98)
[左] 正在打开数据连接 IP: 60.184.136.160 端口: 60002
[左] 数据 Socket 错误: 连接超时
[左] 列表错误
[左] PASV 模式失败, 尝试 PORT 模式。
[左] 监听端口: 2048, 等待连接。
[左] PORT 192,168,0,155,8,0
[左] 200 PORT Command successful.
[左] LIST -al
[左] 150 Opening ASCII mode data connection for /bin/ls.
[左] 426 Data connection closed, transfer aborted.
[左] 列表错误

以上问题,解决方法如上:
首先可以在路由器上预先映射5个端口,比如:20022,20023,20024,20025,20026,这里是跟着20021连续设置的
当然要映射到你做ftp服务器的内网地址上来,而且那个20021的映射是前提,应该已经设置过了
接着我们打开Serv-U 6.3.0.0 ,在其中的“本地服务器”-“设置”,在右侧的“高级”一项中找到PASv端口范围,把刚才的20022-20026填写上,注意要点击一下应用,然后在“域”-“设置”,在右侧的“高级”中有“允许被动模式传输数据,使用IP”这一项前打勾,并填写上你的外网固定IP,再点击一下应用,即可!

说明:
FTP的映射和别的端口映射是有区别的,FTP工作时21端口只是控制端口,并不用来传送数据,传送数据的端口是每次连接的时候才由客户端和服务端协商决定的,就像你上面显示的那样,20022、20023端口才是数据传输的端口,而你并没有为它们做映射,所以传不了东西。
所以映射的时候内网端口必须是21,不能是别的,不然就是你现在这样的现象。还有必须做回流。

另一英文版说明:端口号不同,请大家仔细查看
具体:domains下的ftp服务器的settings里,advanced下,allow passive mode data transfers,use IP,那一栏前面钩上,后面的ip填写你公网的ip。
local server的settings当中,advancd里PASV port range填写你想使用的端口范围,比如8022-8030之类,不要把ftp服务器的端口也写进去,比如ftp服务器的端口设定的是2121,那就不好写成2121-xxxx这样子.
数据传输用的端口就这样设定了,然后端口映射的时候就只要映射FTP服务器的端口和这些在pasv port range下的端口就可以了。
FTP
举报
范堡
发帖于9年前 0回/5K+阅
顶部