启用 Ubuntu 防火墙后,FTPS 有时会超时

启用 Ubuntu 防火墙后,FTPS 有时会超时

我已经安装并配置了 vsftpd 来使用 SSL。

它正在连接,但如果启用防火墙,连接有时会失败(超时)

我在 FileZilla 上收到此错误:

Retrieving directory listing of "/userFolder"..
Command:    PWD
Response:   257 "/userFolder" is the current directory
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode (IP,IP,IP,IP,38,86).
Command:    LIST

Error:          The data connection could not be established:
 ETIMEDOUT - Connection attempt timed out

有时它可以工作(这让我对防火墙感到困惑)。

但是当我禁用 ubuntu 防火墙(sudo ufw disable)时,它运行正常。

我想我已经允许或要求端口:

To                         Action      From
--                         ------      ----
8080                       ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
20/tcp                     ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
990/tcp                    ALLOW       Anywhere
40000:50000/tcp            ALLOW       Anywhere
20                         ALLOW       Anywhere
2000                       ALLOW       Anywhere
2001                       ALLOW       Anywhere
10100                      ALLOW       Anywhere
10090                      ALLOW       Anywhere
21                         ALLOW       Anywhere
8080 (v6)                  ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
20/tcp (v6)                ALLOW       Anywhere (v6)
21/tcp (v6)                ALLOW       Anywhere (v6)
990/tcp (v6)               ALLOW       Anywhere (v6)
40000:50000/tcp (v6)       ALLOW       Anywhere (v6)
20 (v6)                    ALLOW       Anywhere (v6)
2000 (v6)                  ALLOW       Anywhere (v6)
2001 (v6)                  ALLOW       Anywhere (v6)
10100 (v6)                 ALLOW       Anywhere (v6)
10090 (v6)                 ALLOW       Anywhere (v6)
21 (v6)                    ALLOW       Anywhere (v6)

我是否忘记允许某些端口?此外,是否可以知道特定应用程序所需的端口?

附加信息

我正在使用“root”用户名进行远程连接,并且我允许root用户访问。

这是我的 /etc/vsftpd.conf 文件

listen=YES
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=root
ascii_upload_enable=YES
ascii_download_enable=YES
ssl_enable=YES
rsa_cert_file=/etc/mypath
rsa_private_key_file=/etc/mypath
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
require_ssl_reuse=NO
ssl_ciphers=HIGH
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

答案1

无法建立被动模式连接。最有可能是 ftp 客户端和 ftp 服务器之间的被动模式端口无法发送/接收 tcp 流量的问题。

  1. 您在 UFW 中打开了两个单端口 10090 和 10100。这需要更改。删除 UFW 中的这 4 个单端口规则。然后改为打开整个端口范围 10090:10100/tcp,并重新启动 UFW。

  2. 我没有在您的 vstfpd.conf 文件中看到相应的被动端口范围设置。请将以下行添加到您的 vsftpd.conf 文件中:

    pasv_enable=YES
    pasv_min_port=10090
    pasv_max_port=10100
    
  3. 如果仍然遇到连接问题,请检查互联网路由器和本地计算机防火墙中的端口转发。

相关内容