只能通过命令提示符进行FTP连接

突然,用户无法使用FileZilla进行ftp,只通过命令提示符进行了ftp连接。 当我search这个问题时,在serverfault面临这个问题时,我发现了一些问题,答复是因为命令行使用主动模式,解决scheme是将filezilla中的传输模式从被动变为主动,这实际上是工作的。 我需要知道之所以发生这种情况的原因,因为它以前被动模式正常工作,这是从服务器configuration,而不是使所有客户端更改其传输模式。 我们在IIS 6上使用FTP服务器。

提前致谢

很可能是由于从客户端到服务器的数据通道的随机高端口现在被防火墙阻止。

通过Passive FTP,客户端build立控制通道和数据通道。 数据通道从客户端build立到服务器上的随机高端口。 如果这些随机高端口被阻塞,被动模式将失败。

从服务器端防火墙的angular度来看,要支持被动模式FTP,需要打开以下通信通道:

  • FTP服务器的端口21从任何地方(客户端启动连接)
  • FTP服务器的端口21到端口> 1023(服务器响应客户端的控制端口)
  • FTP服务器端口> 1023(客户端启动数据连接到服务器指定的随机端口)
  • FTP服务器的端口> 1023到远程端口> 1023(服务器发送ACK(和数据)到客户端的数据端口)

更多信息:

https://stackoverflow.com/questions/1699145/what-is-the-difference-between-active-and-passive-ftp

主动FTP与被动FTP,一个明确的解释
http://slacksite.com/other/ftp.html#passive