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

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

突然间,用户无法使用 FileZilla 进行 ftp,只能通过命令提示符进行 ftp 连接。当我搜索此问题时,我在 serverfault 中发现了几个面临此问题的问题,答复是因为命令行使用主动模式,解决方案是将 filezilla 中的传输模式从被动模式更改为主动模式,这确实有效。我需要知道发生这种情况的原因,因为之前它在被动模式下工作正常,这是需要从服务器配置的,而不是让所有客户端都更改其传输模式。我们在 IIS 6 上使用 FTP 服务器。

提前致谢

答案1

最有可能的原因是客户端到服务器的数据通道的随机高端口现在被防火墙阻止了。

使用被动 FTP,客户端会建立控制通道和数据通道。数据通道是从客户端到服务器上的随机高端口建立的。如果这些随机高端口被阻止,被动模式将失败。

从服务器端防火墙的角度来看,为了支持被动模式 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

相关内容