我的一台服务器正在进行DOS操作 – 在CLOSE_WAIT状态下有大量连接阻止合法用户连接到系统。
那么有什么办法可以closuresCLOSE_WAIT连接而不会造成底层的服务器进程? 杀死这个过程会导致我想避免的停机时间。
有没有其他的方法?
据我所知,没有办法closuresCLOSE_WAT连接而不杀死进程。
也许你可以使用iptables及其最近的模块,在短时间内停止多个连接尝试到相同的TCP服务器端口和相同的IP。
这里有一个例子(改变你的networking接口的eth0或只是删除它):
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
简短的解释:
希望这会为你工作。