Connection

瀏覽器和 Linux 伺服器之間的隨機連接重置 - MTU 錯誤或 ICMP 未通過?

  • February 28, 2018

當我嘗試在執行 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 Retransmission $$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 正常,防火牆已關閉。

成功和不成功的表單送出和 ping 的wireshark pcap 在這裡(您不需要 OneDrive 帳戶,只需以訪客身份下載)。 https://1drv.ms/u/s!AvycuEtEj-isleIZMh8w_SHuoqYcoQ

如果有人可以幫助闡明正在發生的事情,我將不勝感激。 發生錯誤時來自 Wireshark 的快照

回答我自己的問題 - 我修改了我的客戶端(PC、筆記型電腦、手機)的 MTU 大小,這可靠地解決了問題。我還確認如果 MTU 重置為預設值 1500,問題會再次出現。

一個更新的“智能集線器”現在已經到來,使用它時問題不再存在(即使 MTU 重置),所以我很確定我的診斷是正確的,原來的 Home Hub 3 有故障。我懷疑這是由於 ICMP 數據包被抑制,因為我知道它不會響應 ping(恕我直言不明智)。這個問題一定造成了很多痛苦,因為那是一個非常受歡迎的樞紐。

引用自:https://serverfault.com/questions/890806