很多内网用户会碰到一些ftp能登陆, 但是不能list的情况, 这一般都是因为这个ftp不能使用pasv(被动)模式传输数据, 只能用port(主动)模式.
先简单解释一下pasv和port模式的区别:
pasv就是服务器告诉你服务器的数据传输地址加端口, 你去连.
port(active)是你告诉服务器你的地址和端口, 让服务器来连你.
这里都以ftprush举例说明:
一般ftprush默认先尝试pasv连接,
从这里可以看出, rush尝试连接ftp server的3346端口, 但是尝试的结果是拒绝连接, 说明这个ftp不能用pasv模式连.
pasv不行,rush就开始尝试用port(主动)模式,
结果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都会用不同的端口.然后设置网关的防火墙, 如下图
打开相应的端口,就行了
大功告成, 快下载吧. =D
但是, 如果你无法设置网关, 好像就没有办法连这个ftp了, 如果有哪位大侠知道,还望指教.