当前位置: > Linux服务器 > iptables >

shell监控iptables规则是否改变

时间:2014-12-12 02:00来源:linux.it.net.cn 作者:IT
最近看了一篇通过nagios实现MD5实时监控iptables状态的文章,就想是否可以用shell也做到监控iptables规则改变,经过实验,就有了下面这个脚本.

系统:centos 5.x

脚本内容:
cat check_iptables.sh
 
01 #!/bin/bash
02 if [ ! -f .count ];then
03   iptables -L -n|md5sum|awk '{print $1}' > ~/.count
04   exit 1
05 else
06   iptables -L -n|md5sum|awk '{print $1}' >~/1.txt
07   difffile=`diff ~/.count ~/1.txt|wc -l`
08   if [[ $difffile = 0 ]];then
09      echo "file is ok!"
10      sleep 1
11      rm -f ~/1.txt
12   else
13      echo "file is no ok!"
14      cat ~/1.txt >~/.count
15      sleep 1
16      rm -f ~/1.txt
17 fi
18 fi

然后丢到crontab里.以每隔3分钟检测一次.
chmod +x /root/check_iptables.sh
*/3 * * * * /bin/sh /root/check_iptables.sh

当然你也可以加上邮件报警来通知iptables规则有改变.
(责任编辑:IT)
------分隔线----------------------------