1GB下载后连接超时

我有几个我的服务器有一个非常奇怪的问题。 似乎这些服务器上的用户,无论是通过FTP(proftpd)还是HTTP(apache2),大文件(大于1GB)下载,下载连接都会在达到1GB的下载数据时丢失。

问题不是随机的,每次都会发生,所有帐户都在1GB左右。 我无法弄清楚是什么原因造成的。

服务器正在运行Ubuntu Linux Oneiric Ocelot

我已经通过ftp,ssh,http下载了大于1 GB(甚至超过100 GB)的文件,并且从未以这种一致的方式遇到过这样的问题。 但是在其他情况下,我们已经观察到并偶然发现了可疑的tcp-rst数据包。 在正常情况下不应该发生,几乎总是一个不正常的事件,值得一些健康的怀疑。

事实是如此一致,连接重新设置,而不是正确closures,这是一个迹象,在我看来有点可疑。 防火墙和路由器(configuration不好,或者刚刚坏掉)可能会这样做。 你可以运行tcpdump,而这样的下载正在进行并研究输出。

我的猜测是你的ISP可能会造成这种情况,不情愿也许是由于路由器或防火墙损坏。

有时我一直在试图找出一些神秘的TCP重置我自己,并使用tcpdump这个:

我会说,在980 MB的标记周围,tcpdump所有文件:

tcpdump -w name.dump -i any -nnvvXSs 65535 tcp port XXX 

然后使用tcpdump来find重置的数据包:

 tcpdump -nnvvXSs 65535 -r name.dump 'tcp[tcpflags] & tcp-rst != 0 and tcp[tcpflags] & tcp-ack != 0' and tcp port XXX 

然后再次使用tcpdump和grep来查看可能给出线索的任何事情的时间戳。 -A和-B选项将在grepped行之前和之后输出200行。

 tcpdump -nnvvXSs 65535 -r name.dump | grep -A 200 -B 200 "timestamp of tcp-rst packet" 

Ar使用不同的ISP发生这种情况的服务器? 还是单独的路由器或防火墙? 你能证实这不会发生在使用相同的ISP,路由器和防火墙的其他服务器?

检查防火墙。 在某些情况下,协议超时是问题….