Day 3158 被动模式FTP服务器在Windows 2008 R2下数据传输缓慢以致断线的问题改进方法

单位从2013年使用自管服务器以来,一直使用FileZilla Server作为FTP服务器。由于单位处于一个大的内网之下,必须使用PASV模式连接公网上的FTP服务(顺便吐槽一下集团的网络中心,只给内网服务器开20、21却不给留几个PASV模式的端口,提出来还被吐槽说我比你懂得多,这台服务器又在配置上与内网隔离,害得我们只能用其它协议向上发送文件),所以将某个范围开启为PASV的预留端口,并在防火墙上打开了20、21和PASV的端口范围,同时允许了服务器主程序与公网通讯。

但问题来了,约两年的时间以来,FTP服务器一直不太好用,尤其是在下载大批小文件的情况下,传上十几二十几个文件数据连接就会开始反应缓慢,掉到没有速度,直到服务器超时自动断开,甚至在绕过防火墙后问题依旧,百思不得其解。

最近在查看FileZilla的Wiki时,发现其中有一个章节「Network Configuration」[1]中提到:

Open a command prompt with administrative rights and execute the following command: netsh advfirewall set global StatefulFTP disable

试之,连接情况有所改善,虽然距离问题解决还有相当的距离(掉线依旧频繁)。

后经查询资料[2]得知,以上命令的作用为:

If you disable the StatefulFTP, the firewall will not inspect any FTP traffic. Any FTP traffic will pass the firewall because of the rule which I mentioned above.

虽然不是很明白为什么允许了FTP服务器的端口范围和程序还是会被过滤。

参考资料:

[1] https://wiki.filezilla-project.org/Network_Configuration

[2] http://social.technet.microsoft.com/Forums/windowsserver/en-US/4ee550ad-3880-49b3-a537-402a52c3d37b/netsh-advfirewall-set-global-statefulftp-disable?forum=winserverNIS

 

2014-09-28追加:

这件事最终得以解决的方法是在服务器上建立了威批恩服务,然后Tunnel到服务器上再进行下载,速度刷刷的。

被动明文FTP真难用啊。

2014-10-22追加:

威批恩服务(L2TP/IPSec模式)虽好,但出现了难以拨入的情况(不过只要成功拨入一次就能数小时不断线),经抓包检查发现服务器和客户端两边在开始阶段都没有问题,但一旦进入Key Exchange阶段服务器就会失去响应(服务器收到了Key Exchange包,但并没有回应任何数据)。目前此问题尚未解决,而上文提到的FTP已通过SSH SFTP-FTP Bridge解决。

注:所有评论将在审核通过后显示,请不要在评论内容的任何位置出现链接,否则您的评论将被自动移入回收站,且永远不会被复审。

All comments will be available after being manually reviewed, please do not include any links anywhere in your comment, otherwise your comment will be automatically deleted and are not eligible for review.

4 条评论

    1. 主动在现在这种遍地NAT的环境下基本已经死了,但某采集软件的被动模式就是工作不正常,我也没办法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注