SSH 会话突然终止并显示消息:输入时 MAC 损坏。断开连接:数据包损坏

rch*_*hhe 7 ssh centos6

我们有一台运行 CentOS 6.0 64 位和 2GB ECC 内存的 Dell PowerEdge 840 服务器。当任何用户 ssh 进入时,一段时间后会话会因输出而终止:

Corrupted MAC on input. Packet Corrupt
Run Code Online (Sandbox Code Playgroud)

这总是发生。ssh 会话可能会工作一段时间,但最终会失败。我注意到当我使用 X-forwarding 时它更频繁。

谷歌搜索答案后,我相信服务器存在硬件问题(可能是内存)。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)
Run Code Online (Sandbox Code Playgroud)

我运行了 memtest86+,它没有返回任何错误。我还重新安装了内存,将内存模块移到不同的插槽中,甚至将交换空间增加到 4GB。服务器是一个测试服务器,它在不同的端口上运行一个预配置的 Apache 服务器(从源代码编译)。由于每个开发人员都有自己特定的 httpd.conf 和测试环境,因此可以运行多个 Apache 服务器。

我还检查了 syslog 是否有任何错误消息,但找不到任何有趣的信息。即使在要求每个人停止使用服务器(内存使用最少)之后,我仍然收到相同的错误消息,并且我的 ssh 会话以我上面指出的错误消息终止。

我接下来的故障排除步骤应该是什么?

rch*_*hhe 14

感谢发送更多信息,

看来 TCP 校验和是罪魁祸首。我禁用了 TCP 校验和卸载:

ethtool -K eth0 tx off rx off 
Run Code Online (Sandbox Code Playgroud)

它又开始工作了。