用菜单方式控制Linux防火墙的代码问题(未解决)


用菜单方式控制Linux防火墙的代码问题(未解决)
 
#!/bin/bash
echo "
##########################################################################
防火墙设置规则
你可以在这里设置防火墙的规则,以达到你的需要。
##########################################################################
"
set $i=1
while [ $i=1 ]
do
echo "
1.Firewill Condition(防火墙状态)
2.start(开启防火墙)
3.stop(关闭防火墙)
4.Add New Rule(添加新规则)
5.Del One Rule(删去一条规则)
6.Del All Rule(删除全部规则)
7.手动增加规则
8.return(返回)
"
read ro
if [ "$ro" = "3" ];then
service iptables stop
echo "防火墙服务已关闭!"
elif [ "$ro" = "2" ];then
service iptables start
echo "防火墙服务已开启!"
elif [ "$ro" = "1" ];then
iptables -L -n > fo.txt
echo "
###############################################################################
防火墙运行状态"
cat fo.txt
echo "
###############################################################################
"
elif [ "$ro" = "4" ];then
echo "add"
read add
elif [ "$ro" = "5" ];then
echo "del"
read del
elif [ "$ro" = "6" ];then
echo "现在将清除全部规则,中间可能会使你断线,请稍后........"
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
echo "
已经清除完毕!"
elif [ "$ro" = "7" ];then
echo "手动输入更有灵活性,现在你可以输入一条规则!"
read ku
elif [ "$ro" = "8" ];then
cd ..
sh index.sh
exit
fi
done

帮忙看看上面的代码
主要是输入4、5、7这几个选项不行。
比如输入:iptables –A INPUT –p TCP –i eth0 -–dport 110 –j ACCEPT 可是添加不进INPUT表里
懂的朋友帮忙看看。是不是我代码写错了,还是添加规则的命令错了!

相关内容