ufw 允许 FTP 端口 820 的 60000:65000/tcp

ufw 允许 FTP 端口 820 的 60000:65000/tcp

我有点困惑,因为我在本地主机上设置了 FTP 服务器。我使用了“vsftpd”,我的 .conf 文件中有两行:

listen_port=820

ftp_data_port=821

以及来自‘ufw’的记录

To                         Action      From

--                         ------      ----

819:821/tcp                ALLOW       Anywhere 

819:821/tcp (v6)           ALLOW       Anywhere (v6) 

所以......一切看起来都很好,但是当我尝试通过浏览器登录时(ftp://192.168.1.123:820),需要用户/密码,但内容没有显示。

因此我开始了我的 Google 之旅并发现了一些有关防火墙和端口的信息。

我禁用了防火墙 - 它开始工作了,我添加了 TCP 端口范围从 60000 到 65000,它再次工作了......

但我需要知道为什么?

为什么当我的防火墙启动(启用)并且允许 tcp819,820 和 812 时它不工作?

先感谢您。

答案1

使用 FTP,客户端连接到 上的服务器listen_port,即listen_port用作来自客户端的数据的目标端口。数据传输(即目录列表和文件传输)使用单独的 TCP 连接完成,并且传统主动模式和当今常用的被动模式之间的行为有所不同。

在主动模式下,服务器从 连接到客户端ftp_data_port。这意味着:连接在服务器端发起(与控制连接相反),并且ftp_data_port是服务器端的源端口和客户端角度的目标端口。

但是由于主动模式与 NAT 后面的客户端(即家庭或小型办公室中的大多数系统)配合得不好,因此被动模式如今更受欢迎,大多数客户端默认使用该模式。在此模式下,不是服务器连接到客户端,而是客户端连接到服务器。目标端口是动态分配的,服务器在响应PASVPORT命令时告诉客户端使用哪个端口。由于 TCP 的工作方式,为同一客户端的所有数据连接使用一个端口是不够的,因此不会为此使用。相反,将使用和ftp_data_port给出的范围内的端口,如果没有给出这些参数,则pasv_min_portpasv_max_port临时端口将会被使用。

相关内容