TCP 重传到一台服务器,仅在 ubuntu 上

TCP 重传到一台服务器,仅在 ubuntu 上

情况如下:

我们办公室里有几台电脑,但只有两台无法连接到我们公司的网站。两台都运行 Ubuntu。

总是这样:我可以正常连接到网站 3-4 次,然后所有 TCP 数据包都重新传输,但没有成功(见屏幕截图)。几分钟后,我无法连接到任何与 TCP 相关的东西。然后我可以连接。然后再次出现错误,循环。

FTP 发生了相同的错误 - 我可以连接到 FTP,它执行前几个命令时运行正常,但几分钟后就死机了。

我可以持续 ping 服务器而没有任何问题,我们更换了路由器,联系了 ISP,一切都正常。

这个问题很奇怪,因为有以下症状:

  • 仅该网站出现问题多年来,互联网上的所有内容都运行良好,但另一方面,该网站在任何地方都可以运行,即使是在装有 Windows 的同一台计算机上也是如此。
  • 当我连接到 SSH 时,我可以永远保持连接。即使我稍后收到重传错误...
  • 但是如果我在连接到 SSH 之前收到重传错误,我就无法再连接到 SSH!
  • Ping 总是很好,所以 traceroute/mtr
  • 在 CentOS 服务器和办公室的 Windows 计算机上运行良好
  • 在启动 Windows 时,在相同的 Ubuntu 机器上运行良好
  • 我断开了除工作用的 Ubuntu 笔记本电脑之外的所有设备,试过了,问题仍然存在

这是我编写的用于检查是否存在问题的脚本:

#!/bin/bash

while :
do
    if ! [ $(curl --silent --connect-timeout 1 "our-website.com" | wc -l) -eq 12 ]; then
        echo "ERR"
    else 
        echo "OK"
    fi;

    sleep 1
done

上次使用全新路由器进行测试时,结果为 648 x OK,562 x ERR

我们的 CentOS 服务器 100% 正常

这是在(Ubuntu 14.04.2 LTS)上测试的:

Linux 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Linux 3.16.0-41-generic #57~14.04.1-Ubuntu SMP Thu Jun 18 18:01:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

一台计算机使用默认网络管理器,另一台计算机使用 wicd 网络管理器。

我尝试了其他内核但没有成功。

我也尝试过改变

sysctl net.ipv4.tcp_sack
sysctl net.ipv4.tcp_syn_retries
/proc/sys/net/ipv4/tcp_retries1

但没有成功。这听起来像是服务器故障的问题,但错误只发生在 Ubuntu 上,所以我在这里提问。

您可能会说这是托管问题,但事实并非如此,我与托管方谈了很多,但都没有得到帮助。我们使用共享托管,他们的客户都没有遇到类似问题,而且我还可以确认它在其他地方都有效。

请帮忙。

我模糊了服务器的 IP 地址,但我决定发布服务器的 IP/URL,如下所示: http://88.198.241.36:2222- 浏览器刷新几次后就停止工作,每次

Wireshark

答案1

尝试在您的接口上设置较少的 MTU:

sudo ifconfig eth1 mtu 1492

我遇到了同样的问题,并且 MTU 大小的改变可以解决这个问题。

相关内容