Ssh

SSH 會話突然終止並顯示消息:輸入的 MAC 損壞。斷開連接:數據包損壞

  • September 1, 2021

我們有一台執行 CentOS 6.0 64 位和 2GB ECC 記憶體的 Dell PowerEdge 840 伺服器。當任何使用者 ssh 進入時,會話會在一段時間後終止並輸出:

Corrupted MAC on input. Packet Corrupt

這總是發生。ssh 會話可能會工作一段時間,但最終會失敗。我注意到當我使用 X-forwarding 時它更頻繁。

Google搜尋答案後,我認為伺服器存在硬體問題(可能是記憶體)。lshw(記憶體)的輸出。

         capabilities: internal write-back unified
*-memory
     description: System Memory
     physical id: 1000
     slot: System board or motherboard
     size: 2GiB
   *-bank:0
        description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
        product: 72T64000HU3SB
        vendor: 7F7F7F7F7F510000
        physical id: 0
        serial: 09022F17
        slot: DIMM1_A
        size: 512MiB
        width: 64 bits
        clock: 667MHz (1.5ns)
   *-bank:1
        description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
        product: 72T64000HU3SB
        vendor: 7F7F7F7F7F510000
        physical id: 1
        serial: 09022E13
        slot: DIMM1_B
        size: 512MiB
        width: 64 bits
        clock: 667MHz (1.5ns)
   *-bank:2
        description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
        product: 72T64000HU3SB
        vendor: 7F7F7F7F7F510000
        physical id: 2
        serial: 09030910
        slot: DIMM2_A
        size: 512MiB
        width: 64 bits
        clock: 667MHz (1.5ns)
   *-bank:3
        description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
        product: 72T64000HU3SB
        vendor: 7F7F7F7F7F510000
        physical id: 3
        serial: 09030B13
        slot: DIMM2_B
        size: 512MiB
        width: 64 bits
        clock: 667MHz (1.5ns)

我執行了 memtest86+,它沒有返回任何錯誤。我還重新安裝了記憶體,將記憶體模組移動到不同的插槽中,甚至將交換空間增加到 4GB。該伺服器是一個測試伺服器,它在不同的埠上執行一個預配置的 Apache 伺服器(從原始碼編譯)。由於每個開發人員都有自己特定的 httpd.conf 和測試環境,因此可以執行多個 Apache 伺服器。

我還檢查了 syslog 是否有任何錯誤消息,但找不到任何有趣的東西。即使在要求所有人停止使用伺服器(記憶體使用量最少)之後,我仍然會收到相同的錯誤消息,並且我的 ssh 會話以我上面指出的錯誤消息終止。

故障排除的下一步應該是什麼?

感謝發送更多資訊,

看來 TCP 校驗和是罪魁禍首。我禁用了 TCP 校驗和解除安裝:

ethtool -K eth0 tx off rx off 

它又開始工作了。

正如Linux 伺服器上通過 SSH、SCP 和 FTP 進行文件傳輸的“輸入 MAC 損壞。數據包損壞”中所建議的那樣,TCP 解除安裝可能是一個問題。使用 ethtool 檢查和配置它。

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