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

请注意:本页内容发布于 3704 天前,内容可能已经过时,请注意甄别。

单位从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解决。

Comments

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

发表回复

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

 剩余字数 ( Characters available )

Your comment will be available after auditing.
您的评论将在通过审核后显示。

Please DO NOT add any links in your comment, otherwise it would be identified as SPAM automatically and never be audited.
请不要在评论中插入任何链接,否则将被自动归类为垃圾评论,且永远不会被提交给博主进行复审。

*