[20071015]【转】内网用户Fxp
很多内网用户会碰到一些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了, 如果有哪位大侠知道,还望指教.

UPDATE:
新版的ftprush(1.0.0524) 已经开始支持UPnP, 所以当你的防火墙(或者router)支持UPnP, 一切都简单了, 直接enable UPnP(options-> general -> UPnP), 剩下的事就都由RUSH来搞定了.
先简单解释一下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)) |
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. |
原因在这里--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了, 如果有哪位大侠知道,还望指教.

UPDATE:
新版的ftprush(1.0.0524) 已经开始支持UPnP, 所以当你的防火墙(或者router)支持UPnP, 一切都简单了, 直接enable UPnP(options-> general -> UPnP), 剩下的事就都由RUSH来搞定了.