我已经安装并配置了 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 流量的问题。
您在 UFW 中打开了两个单端口 10090 和 10100。这需要更改。删除 UFW 中的这 4 个单端口规则。然后改为打开整个端口范围 10090:10100/tcp,并重新启动 UFW。
我没有在您的 vstfpd.conf 文件中看到相应的被动端口范围设置。请将以下行添加到您的 vsftpd.conf 文件中:
pasv_enable=YES pasv_min_port=10090 pasv_max_port=10100
如果仍然遇到连接问题,请检查互联网路由器和本地计算机防火墙中的端口转发。