
情況如下:
我們辦公室有幾台計算機,但只有兩台計算機在連接我們公司網站時出現問題。兩者都運行 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% x OK
這是在(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- 瀏覽器刷新幾次後它停止工作,每次
答案1
嘗試在介面上設定較小的 MTU:
sudo ifconfig eth1 mtu 1492
我遇到了同樣的問題,更改 MTU 大小可以解決此問題。