Linux

Linux TCP 連接超時長度不一致

  • July 14, 2010

在託管我正在處理的應用程序的 Linux 機器上,我們已經開始看到一個問題,即針對遠端主機上的埠的連接嘗試有時需要更長的時間才能返回。

作為測試,設置了一個簡單的腳本,它只是嘗試在無限循環中對不存在的遠端埠進行遠端登錄。

在大多數連接嘗試中,我們會立即得到以下內容:

telnet remoteHost 12345
Trying 192.168.1.1...
telnet: connect to address 192.168.1.1: Connection refused

但是,在相當固定的時間間隔內,連接似乎會掛起幾秒鐘,然後繼續進行下一次連接嘗試,這將回到接近即時的狀態。它只會處於“嘗試”階段:

telnet remoteHost 12345
Trying 192.168.1.1...

通常這不是什麼大問題,但是在一個每秒在大約 100 台伺服器之間執行數千件事情的應用程序中,這些隨機的減速開始成為一個問題。有誰知道是什麼驅動了這個長度或時間,或者為什麼它可能不一致?

如果它很重要,這裡有一些系統資訊:

uname -r           -> 2.6.16.60-0.39.3-smp
uname -m           -> x86_64
cat /etc/*-release -> SUSE Linux Enterprise Server 10 (x86_64)
                    VERSION = 10
                    PATCHLEVEL = 2

聽起來您的掃描技術類似於埠掃描,那麼伺服器是否可能配置為丟棄 SYN 數據包以響應感知到的埠掃描?伺服器上的任何防火牆設置類似於10 條 iptables 規則中的第 8 條,以幫助保護您的 Linux 機器

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