我在使用 Vstpd 时遇到了一些问题,不知道它们是否相关。
一个问题是 FireFTP 无法通过目录列表阶段 - 它只是永远卡在那里,没有错误消息。Filezilla 可以工作,但有时也会卡住。特别是有些文件就是无法上传 - 它们也会永远卡住,有时只能上传几个字节;这里也是,服务器端没有错误消息,客户端只是超时。其他客户端似乎完全不受影响(特别是 Windows 上的 Cyberduck 和 Mac 上的 Transmit 始终运行正常)。
使用 FileZilla,我尝试上传的文件将在服务器上创建为零字节大小,但不会上传任何内容。如果文件已经存在,它将被清空。我还可以将其他文件上传到同一目录,因此这不是权限问题。
我的配置有问题吗?我使用的版本是否过时了?(Ubuntu 10.04)。这是 vsftpd.conf。使用自签名证书。
也许这是Linux的问题???使用Ubuntu 12.04作为客户端操作系统。
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
dual_log_enable=YES
xferlog_std_format=NO
xferlog_file=/var/log/vsftpd.log
session_support=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
require_ssl_reuse=NO
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_ciphers=HIGH
答案1
它与被动 FTP 或 FTPS 相关。100%
它无法安全地用于 FTPS - 然后您将需要在防火墙中手动调整并打开更高的端口,并在 vsftpd.conf 中使用pasv_min_port
&设置固定范围。pasv_max_port
对于非 SSL:
http://slacksite.com/other/ftp.html
确保加载 ip_nat_ftp(如果您在此服务器上使用 NAT)和 ip_conntrack_ftp 模块
在 FTP 的 iptables 配置中使用“ftp helper”:
-m helper --helper ftp
对于 RHEL/Fedora/Centos,你可以在模块中找到特殊字符串,/etc/sysconfig/iptables-config
并在规则中添加帮助程序/etc/sysconfig/iptables
任何情况都是如此。
如果您位于 NAT/防火墙后面 - 它应该支持并跟踪 FTP 连接。
答案2
事实证明,问题出在客户端,而不是服务器上!
我进一步调查,发现最可能的罪魁祸首是格努特尔斯安装在客户端机器上的版本(它是 Ubuntu 12.04,GnuTLS 2.12.14)。
为了验证这一点,我下载了 Windows 版 FileZilla(静态链接到 2.10 版本),并使用 Wine 运行它。成功了!
挖掘 FileZilla 的 bugtracker 我终于得到了确认:http://trac.filezilla-project.org/ticket/7837