需求:误操作用iptables规则把sshd端口22给封掉了,结果不能远程登陆,要想解决这问题,还要去机房,登陆真机去删除这规则。 问题来了,要写个监控脚本,监控iptables规则是否封掉了22端口,如果封掉了,给打开。 写好脚本,放到任务计划里,每分钟执行一次。
1
2
3
4
5
6
7
8
|
#!/bin/bash
# check sshd port drop
/sbin/iptables
-nvL --line-number|
grep
"dpt:22"
|
awk
-F
' '
'{print $4}'
>
/tmp/drop
.txt
i=`
cat
/tmp/drop
.txt|
head
-n 1|
egrep
-iE
"DROP|REJECT"
|
wc
-l`
if
[ $i -gt 0 ]
then
/sbin/iptables
-I INPUT 1 -p tcp --dport 22 -j ACCEPT
fi
|
注:临时添加防火墙规则,在/etc/sysconfig/iptables文件没有的,只有/etc/init.d/iptables save,才会有。\
本文转自 boy461205160 51CTO博客,原文链接:http://blog.51cto.com/461205160/1744620