在日常的工作中,总会碰到异常IP创建大量的TCP连接,导致服务器响应速度慢或者无法访问;
此时可以利用脚本将这些异常的IP加入iptables黑名单;
统计异常IP并加入黑名单脚本:
1
2
3
4
5
6
7
|
#!/bin/bash
netstat
-na |
grep
ESTAB |
awk
'{print $5}'
|
awk
-F:
'{print $1}'
|
egrep
-
v
'192.168|127.0'
|
uniq
-c |
awk
'{if($2!=null && $1>1){print $2}}'
>
/root/dropip
.txt
for
i
in
$(
cat
/root/dropip
.txt)
do
/sbin/iptables
-A INPUT -s $i -j DROP
echo
"$i"
>>
/root/dropip
.log
done
|
结合任务计划每隔3分钟自动执行:
1
2
3
|
[root@lvs02 account_tcp]
# crontab -l
#tcp connection is limit
*
/3
* * * *
/root/account_tcp/drop_ip
.sh %>
/dev/null
|
本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1909535如需转载请自行联系原作者
weilovepan520