学院首页>冲浪宝典>网管知识>内网用户使用port模式ftp指南

内网用户使用port模式ftp指南

作者: 来源: 添加时间:2006-5-24 15:04:39

很多内网用户会碰到一些ftp能登陆, 但是不能list的情况, 这一般都是因为这个ftp不能使用pasv(被动)模式传输数据, 只能用port(主动)模式.

先简单解释一下pasv和port模式的区别:
pasv就是服务器告诉你服务器的数据传输地址加端口, 你去连.
port(active)是你告诉服务器你的地址和端口, 让服务器来连你.

这里都以ftprush举例说明:
一般ftprush默认先尝试pasv连接,

引用[2] PASV
[2] 227 Entering Passive Mode (12,123,40,33,13,18)
[2] Opening data connection IP: 12.123.40.33 PORT: 3346
[2] Unable connect to 12.123.40.33:3346 (Connection Refused(10061))

从这里可以看出, rush尝试连接ftp server的3346端口, 但是尝试的结果是拒绝连接, 说明这个ftp不能用pasv模式连.

pasv不行,rush就开始尝试用port(主动)模式,

引用[2] Listening at IP: 192.168.0.101 PORT: 2078 for data connecting
[2] PORT 192,168,0,101,8,30
[2] 200 PORT Command successful.
[2] LIST
[2] 150 Opening ASCII mode data connection for /bin/ls.

结果port command是成功了,但是rush也就死那里了, =,
原因在这里--Listening at IP: 192.168.0.101 PORT: 2078 ,
rush告诉ftpserver." 我这里(192.168.0.101) 的端口2078打开了,你来连我吧"
但是这个ip是内网ip, 在外网的ftpserver是不可能连这个ip的.

解决的办法就是让rush告诉server外网ip. 同时打开一定数量的端口.

首先设置Ftprush, 如下图
option-> connection.

 

设置你要绑定的外网ip,和打开的端口.外网ip可以直接是ip,也可以是动态域名.打开的端口最好大于10个, 因为每次list都会用不同的端口.然后设置网关的防火墙, 如下图

打开相应的端口,就行了

引用[2] Listening at IP: 24.123.123.123 PORT: 2079 for data connecting
[2] PORT 24,123,123,123,123,31
[2] 200 PORT Command successful.
[2] LIST
[2] 150 Opening ASCII mode data connection for /bin/ls.
[2] 226 Transfer complete.
[2] List Complete: 316 bytes in 1.00 seconds (0.00KB/s)

大功告成, 快下载吧. =D

但是, 如果你无法设置网关, 好像就没有办法连这个ftp了, 如果有哪位大侠知道,还望指教.

站内搜索