Ubuntu

啟用 ubuntu 防火牆時,FTPS 有時會超時

  • February 14, 2018

我已經安裝並配置了 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

無法建立被動模式連接。很可能存在 tcp 流量沒有通過 ftp 客戶端和 ftp 伺服器之間的被動模式埠發送/接收的問題。

  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
  1. 如果您仍然遇到連接問題,請檢查 Internet 路由器和本地電腦防火牆中的埠轉發。

引用自:https://serverfault.com/questions/897119