如何为 FTP 服务器配置 Windows 防火墙

如何为 FTP 服务器配置 Windows 防火墙

我需要打开哪些端口才能访问 Windows FTP 服务器(在 Server 2008 上运行)以进行主动和被动 FTP?单独打开 21 个端口是不够的。

答案1

取决于您使用的是主动还是被动 ftp。以下是来自本网站从端口角度对差异进行了很好的解释:

 Active FTP :
     command : client >1023 -> server 21
     data    : client >1023 <- server 20

 Passive FTP :
     command : client >1023 -> server 21
     data    : client >1023 -> server >1023

所以:

  • 主动 FTP - 防火墙必须允许 TCP/21 上的传入连接和 TCP>1023 上的传出连接。
  • 被动 FTP - 防火墙必须允许 TCP/21 和 TCP>1023 上的传入连接

如果您要使用被动 ftp,最好的办法是配置 ftp 服务器以使用特定(有限)的端口范围,以便客户端连接数据流,然后在防火墙上打开该范围。

答案2

如果您使用真正的防火墙,它将能够查看PASVFTP 控制通道 (TCP/21) 内的命令并相应地打开数据端口。因此,您只需打开 TCP/21,防火墙会处理其余的事情。

当然,通常的 SOHO 路由器(和软件防火墙)不会为您做到这一点。在这种情况下,您应该坚持使用squillman推荐的定义端口范围(每个并发用户约 3 个端口)。

答案3

我遇到了类似的奇怪问题,即 Windows 防火墙 (server 2003) 中的所有端口 (21、20 和 pasv 的 5500) 都处于打开状态,但 telnet 证明防火墙打开时甚至 21 也被阻止。只要防火墙关闭,一切都会正常工作。最重要的是,一天中的某些时间 (完全随机) 无论如何它都会正常工作。直到它不工作为止。当它不工作时,关闭 Windows 防火墙可以解决问题。这不是 FTP 服务器的问题,它甚至没有记录连接尝试。

相关内容