Linux
Linux TCP 連接超時長度不一致
在託管我正在處理的應用程序的 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 機器?