浏览器和 Linux 服务器之间的随机连接重置-MTU 错误或 ICMP 无法通过?

浏览器和 Linux 服务器之间的随机连接重置-MTU 错误或 ICMP 无法通过?

当我尝试在运行 Ubuntu 16.04 LAMP 的远程 Linux 服务器上编辑网页时,我的浏览器(在不同机器上运行的 Chrome、Firefox 或 Edge,Windows 10 1709)中出现了随机的 ERR_CONNECTION_RESET 错误。很难确定原因,但似乎主要发生在通过 SSL 连接提交大型表单时,这让我抓狂,因为我一直在丢失工作。

错误日志中没有任何内容,机器之间的 ping 或 tracert 没有问题,两端的防火墙都已禁用。它具有网络问题的所有症状,但我不能确定,因为它是如此断断续续。

我怀疑它与 MTU 有关,但当我去年提出这个问题时,有人大声呵斥我,并告诉我现代操作系统和路由器应该能够应对任何数据包大小,问题一定出在别处。

我今天启动了 Wireshark,看到了这样的重复行,我认为这与问题一致:

694 47.224124 192.168.1.90 149.210.138.83 TCP 1514 [TCP 重传] 53732 → 443 [ACK] Seq=3867 Ack=33955 Win=64512 Len=1460

192.168.1.90 是 Windows 计算机(浏览器),149.210.138.83 是 Linux 服务器。数据包大小为 1514,我知道这比我的路由器(BT homehub 3)可以传递的数据包大。已设置“不分段”位。我期望看到 ICMP 数据包协商分段,但我没有看到。然而 ping 正常,防火墙已关闭。

这里有成功和不成功的表单提交的 wireshark pcap 和 ping(您不需要 OneDrive 帐户,只需以访客身份下载即可)。 https://1drv.ms/u/s!AvycuEtEj-isleIZMh8w_SHuoqYcoQ

如果有人能帮助阐明发生了什么,我将不胜感激。 发生错误时 Wireshark 的快照

答案1

回答我自己的问题 - 我修改了客户端(PC、笔记本电脑、手机)中的 MTU 大小,这可靠地解决了问题。我还确认,如果将 MTU 重置为默认值 1500,问题会再次出现。

更新后的“智能集线器”现已到货,使用时问题不再存在(即使重置了 MTU),所以我很确定我的诊断是正确的,原来的 Home Hub 3 有问题。我怀疑这是由于 ICMP 数据包被抑制,因为我知道它不会响应 ping(在我看来这是不明智的)。这个问题一定造成了很大的困扰,因为这是一个非常受欢迎的集线器。

相关内容