FTP(文件传输协议)服务器通常使用两种协议来实现文件传输功能:FTP协议(默认使用TCP端口21)和数据连接协议(默认使用TCP端口20)。因此,在设置FTP服务器时,需要放行以下端口:
TCP端口21:用于FTP协议的控制连接。当客户端发起FTP连接时,它将使用TCP端口21与服务器建立控制连接。在这个连接上,客户端发送命令(如列出目录、上传文件等)并接收服务器的响应。
TCP端口20:用于数据连接。当需要传输文件时,FTP客户端会使用TCP端口20与服务器建立数据连接。数据连接用于实际传输文件和文件夹。
除了上述默认的FTP端口外,还有一些可选的FTP协议的扩展端口,这些扩展端口用于支持特定的功能或安全性。根据具体的配置,可能需要放行以下一些扩展端口:
TCP端口989和990:用于FTP的隐式SSL / TLS加密连接。在隐式SSL / TLS模式下,客户端和服务器使用TCP端口989和990进行控制和数据连接,以确保传输的安全性。
TCP端口1024到65535:用于FTP的主动模式数据连接。在主动模式下,服务器使用TCP端口20监听数据连接,而客户端则通过随机选择的TCP端口发送连接请求。因此,需要在服务器防火墙中放行1024到65535范围的端口。
TCP端口40000到49999:用于FTP的被动模式数据连接。在被动模式下,服务器使用指定的TCP端口范围(通常在40000至49999之间)监听数据连接,而客户端则通过控制连接获取服务器的IP地址和端口。
总结起来,在设置FTP服务器时,需要放行TCP端口21和20,用于控制连接和数据连接。如果使用SSL / TLS加密连接,则还需要放行端口989和990。而对于主动模式和被动模式,还需要根据具体配置放行相应的端口范围。