FTPS使用Vsftp困境

我有一些Vstpd的问题,我不知道他们是否有关系。

一个问题是,FireFTP无法通过目录列表阶段 – 它只是永远在那里,没有错误信息。 Filezilla的工作,但它有时也卡住了。 特别是有一些文件只是不能上传 – 它们也永远被卡住,有时只有几个字节; 在这里,服务器端也没有错误消息,只是客户端超时。 其他客户端似乎完全不受影响(特别是Windows上的Cyber​​duck和Mac上的传输)始终完美无缺。

使用FileZilla,我试图上传的文件将在零字节大小的服务器上创build,但是没有任何内容会被上传。 如果文件已经在那里,它将被清空。 我也可以上传其他文件到同一个目录,所以这不是一个权限问题。

我的configuration有问题吗? 我使用过时的版本吗? (这是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 

这与被动FTP或FTPS有关。 100%

它不能安全地用于FTPS – 那么你将需要在防火墙中手动调整和打开更高端口,并在vsftpd.conf中设置pasv_min_portpasv_max_port固定范围。

对于非SSL:

http://slacksite.com/other/ftp.html

  1. 一定要加载ip_nat_ftp(如果你在这个服务器上使用NAT)和ip_conntrack_ftp模块

  2. 在FTP的iptablesconfiguration中使用“ftp helper”:

    -m helper --helper ftp

在RHEL / Fedora / Centos的情况下,可以在/etc/sysconfig/iptables-configfind模块的特殊string,并在/etc/sysconfig/iptables-config规则中添加助手

这是无论如何。

如果你在NAT /防火墙后面 – 它应该支持和跟踪FTP连接。

原来,问题是在客户端,而不是在服务器上!

我进一步调查,发现最可能的罪魁祸首是安装在客户端机器上的gnutls版本(它是Ubuntu 12.04,GnuTLS 2.12.14)。

为了validation这一点,我下载了FileZilla的Windows版本,该版本静态链接到2.10版本,并使用Wine运行。 有用!!

挖掘FileZilla的bugtracker我终于喜欢确认: http : //trac.filezilla-project.org/ticket/7837