我们从 dmesg 得到以下输出:
__ratelimit: 33491 callbacks suppressed
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
我们还有以下设置:
cat /proc/sys/net/ipv4/tcp_max_tw_buckets
524288
我们正遭受某种攻击,但却无法检测出导致此问题的原因是什么?
答案1
尝试以下命令来确定您是否有大量来自一个地址的连接,或者您是否受到分布式攻击。
netstat -nt | cut -c 40- | cut -d: -f1 | sort | uniq -c | sort -n
netstat -nt | cut -d: -f2 | sort | uniq -c | sort -n
如果来自少数 IP 地址的访问量较大,则限制连接会更容易。然后,您可以添加拒绝规则或速率限制规则来iptables
限制来自这些地址的访问。
如果您受到攻击,您可能需要让您的 ISP 介入,因为他们可以在攻击到达您之前限制连接。
答案2
我还会使用 tcpdump 和嗅探接口来查看那里发生了什么。在那里,您将能够看到实际发生的情况以及向您发送的内容。
如果你以前没有使用过它,这里也简单解释一下它的工作原理: