如何在Linux(Ubuntu服务器)上查找TCP RST的原因

如何在Linux(Ubuntu服务器)上查找TCP RST的原因

在我的邮件服务器中,我在工作时间之间收到高 TCP 重置发送,如下图所示:

SNMP 图形 TCP 错误

这是 tcp-rst 对服务器流量过滤器的捕获:

在此输入图像描述

当我运行“netstat -i”时,我得到:

Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0  3169579734      0     30 0      2277279957      0      0      0 BMRU
lo        65536 0   2035030      0      0 0       2035030      0      0      0 LRU

在这个TCP重置的同时,服务器的“平均负载”上升到150-200,这个高负载有可能与那些TCP RST有关吗?另外,我如何调查 Linux 中此重置的来源?

问候!

答案1

您突出显示的打包是从某个客户端通过端口 443 发送到您的服务器。由于它是由客户端发送的,因此您必须在客户端中进行调查。

另一方面,您提到了 150-200 的负载,因此可以安全地猜测,您的服务器无法在客户端超时之前将内容传递给客户端,因此客户端会重置连接。

您应该找出导致高负载的原因。您可以运行top以显示消耗 CPU 最多的进程。可能的候选者是 Apache 本身、MySQL 之类的数据库或 PHP 之类的脚本语言。

相关内容