主动模式和被动模式下的FTP服务器端口

时间:2013-12-26 13:05:13

标签: c++ linux ftp

在活动模式下,FTP将使用端口连接到客户端端口。所以在这种模式下,FTP可以在启动传出连接时使用不同的本地端口(这意味着FTP为所有数据通道提供了不同的本地端口)?

在被动模式下,FTP将通过命令通道向客户端发回端口号,然后侦听此端口号。因此,在这种模式下,FTP是否可以在此模式下向客户端发回相同的本地端口号(例如1234)(这意味着FTP对所有数据通道都有相同的本地端口)?

是否有任何方法可用于为FTP服务器配置此类数据端口?我们假设FTP服务器将在NAT后面工作。

关于FTP活动模式和被动模式,请参阅this postthis article

1 个答案:

答案 0 :(得分:0)

我将假设您使用vsftpd,因为您标记了帖子linux,这是现代Linux计算机上最常用的服务器。

对于活动模式,您可以禁用connect_from_port_20中的vsftpd.conf选项,以使服务器将短暂的本地端口用于活动(PORT)传出数据连接。此选项的默认值为NO,但大多数发行版均为YES。库存配置文件将其设置为YES。如果设置为ftp_data_port,您还可以将pasv_max_port选项设置为使用20以外的固定本地数据端口。

对于被动模式,由于promiscuous connections的可能性,通常不支持此模式。如果服务器允许来自客户端以外的IP地址的传入数据连接,则必须使用自己的本地端口号来跟踪哪些数据连接对应于哪些控制连接。

但是,您可以通过设置pasv_min_port和{{1}}选项来限制服务器用于PASV连接的本地端口的范围

有关所有这些配置选项的详细信息,请参阅the vsftpd documentation