首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何终止CLOSE_WAIT连接?

如何终止CLOSE_WAIT连接?
EN

Server Fault用户
提问于 2013-10-12 14:04:23
回答 1查看 2K关注 0票数 0

我的一台服务器正在进行DOS--在CLOSE_WAIT状态下有大量连接,这些连接正在阻止合法用户连接到系统。

那么,是否有任何方法可以在不杀死底层服务器进程的情况下关闭CLOSE_WAIT连接?终止这个过程会导致我想要避免的停机时间。

还有别的办法吗?

EN

回答 1

Server Fault用户

发布于 2013-10-12 17:25:31

据我所知,在不终止进程的情况下,无法关闭CLOSE_WAT连接。

也许您可以使用iptables及其最近的模块在短时间内停止对同一个TCP服务器端口和来自同一个IP的多个连接尝试。

这里有一个示例(为您的网络接口更改eth0或只删除它):

代码语言:javascript
复制
iptables -N LOGDOS
iptables -A LOGDOS -m limit --limit 5/minute --limit-burst 5 -j ULOG --ulog-nlgroup 1 --ulog-prefix "LOGDOS" --ulog-cprange 0 --ulog-qthreshold 1
iptables -A LOGDOS -j DROP
iptables -A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 27015 -m state --state NEW -m recent --set --name cssdos
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 27015 -m state --state NEW -m recent --update --name cssdos --seconds 60 --hitcount 4 -j LOGDOS
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 27015 -j ACCEPT

简短解释:

  1. 前3行将由ulogd使用。它使我们能够记录掉的流量。我们正在创建一个名为LOGDOS的新iptables链。
  2. 第四行接受已建立的连接。
  3. 最近的模块将使用第5行来跟踪新的连接。
  4. 第6行将由最近的模块使用。如果在不到60秒内有超过3个来自同一个IP的新连接,它将被发送到LOGDOS链。
  5. LOGDOS链将使用ulogd守护进程编写日志(例如,在/var/ log / ulog /syzabemu.log中,它都取决于ulog配置),默认情况下它将删除连接。

希望这对你有用。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/545588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档