自从我开始接触了linux我对stallman的GNU的工程中规则很是佩服,由衷的想到了共享对IT产业的一种发展,人类科技发展到今天,科技进驻了商业,商业同事也促动了科技,但是眼下的商业在我看来就是对一叠叠的废纸的堆砌,完全忘却了最初商业是为科技奠定基础,现在的商业中充满了尔虞我诈的竞争,抹杀了很多能够很好的促进现代科技发展的机会,比尔盖茨是有钱了,microsoft是强大了,可是他们带个科技的又是什么呢,我发现除了去想法把别人的钱袋弄扁以外好像也没有什么太大的进步,所现有的作用也是对winxp的发布,现在的vista看看漏洞摆出,软件兼容性差,硬件要求高,在我的感觉中完全利欲化了,怎么赚钱怎么干。IT应该是推动整个人类社会的发展,那一叠叠的废纸有什么用呢。所以我比较赞同stallman的GNU,很多的东西拿出来大家共享,很多的事情大家拿出来商讨,这样我在想IT产业不会想现在这样的进步缓慢吧。有时候跟同学聊天都在大骂做程序员真垃圾,工资再也没有向从前那样的高了,现在仍一块砖头到马路上能拍死几個都是在找计算机工作的。
我承认这是一种对IT的悲观想法,我不认同可能是我接触的太少了,对IT产业我根本就不了解的缘故吧在我看来只要能够讲技术运用到实际,技术不断地突破前进这就是IT人的最终目标,IT可以让人发财,但是会把一个人技术前进的灵魂给玷污,我主张要所有的软件要共享化,由每一个人的参与大家一块的研究商讨,自私性自古有之,作为一名IT的小小程序员我不甘于整天对着那些重复的代码,自己上了这么多年的大学,不能够做这种机械式的代码复制,要做就要做一个用头脑去吃饭,有头脑去创造的精英IT。
以上的言语纯属是自己一时的感概,如果您不认同看看就好不要鄙视我,也不要扔砖头,人人不一样,如果您赞同我的想法,也不需要您赞美我几句,希望大家能够通过csdn这个平台相互学习讨论,把自己的程序和想法共享。促进你我,共同发展是我的梦想,愿能结识志同道合的朋友。
说了这么多正事还没有呵呵,您别生气,现在马上开始下面是我自己写得一个脚本shell这里因为是对后台的conf文档的读取,根据后台conf文档的ip来进行设定,您可以将带有$符号的地方改成所要限制的ip就可以,前面对conf文档读取您可以看一下,这个应该是因程序而异。
#!/bin/sh
iptables -P INPUT ACCEPT
#########################################
## check ddos whether enable ####
#########################################
CONF_DIR="/var/www/conf/app_ddos_setting.conf"
var=`cat ${CONF_DIR} | grep "DDOS_CHECK"`
ddo=`echo $var | cut -f2 -d' '`
dos=`echo $ddo | cut -f2 -d'='`
echo "ddos=$dos"
############################################
#Define DIR####################
CONF_DIR1="/var/www/conf/app_ip_filter_setting.conf"
var1=`cat ${CONF_DIR1} | grep "STATUS"`
aa=`echo $var1 | cut -f2 -d' '`
temp1=`echo $aa | cut -f2 -d'='`
echo "ipfilter=$temp1"
##########################
CONF_DIR2="/var/www/conf/default_ip_filter.conf"
var2=`cat ${CONF_DIR2}`
bb=`echo $var2`
echo "bb=$bb"
#################
CONF_DIR3="/var/www/conf/ip_filter.conf"
if [ $temp1 = "on" ]
then
iptables -F
if [ $dos = "on" ]
then
iptables -A INPUT -p icmp -m length --length :4096 -j ACCEPT
if [ $bb != " " ]
then
iptables -A INPUT -s $bb -j ACCEPT
fi
{
while read _line
do
echo $_line
iptables -A INPUT -s $_line -j ACCEPT
done
} < ${CONF_DIR3}
iptables -A INPUT -s 10.88.100.252 -j ACCEPT
iptables -P INPUT DROP
fi
if [ $dos = "off" ]
then
if [ $bb != " " ]
then
iptables -A INPUT -s $bb -j ACCEPT
fi
{
while read _line
do
echo $_line
iptables -A INPUT -s $_line -j ACCEPT
done
} < ${CONF_DIR3}
iptables -A INPUT -s 10.88.100.252 -j ACCEPT
iptables -P INPUT DROP
fi
fi
if [ $temp1 = "off" ]
then
iptables -F
if [ $dos = "on" ]
then
iptables -A INPUT -p icmp -m length --length :4096 -j ACCEPT
iptables -A INPUT -p tcp -j ACCEPT
iptables -A INPUT -p udp -j ACCEPT
iptables -A INPUT -s 10.88.100.252 -j ACCEPT
n=`netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
echo $n
if [ $n -ge "8" ]
then
iptables -D INPUT -p tcp -j ACCEPT
iptables -D INPUT -p udp -j ACCEPT
x=`netstat -a |grep www|awk '{print $5}'|cut -d":" -f1|sort|uniq|tr -d "*"`
echo $x
tt=$x
for number in $tt
do
echo "$number"
iptables -A INPUT -i eth0 -s $number -j ACCEPT
done
fi
q=`netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
echo $q
if [ $q -ge "8" ]
then
iptables -D INPUT -i eth0 -p tcp -j ACCEPT
iptables -D INPUT -i eth0 -P udp -j ACCEPT
w=`netstat -a |grep rtsp|awk '{print $5}'|cut -d":" -f1|sort|uniq|tr -d "*"`
echo $w
yy=$w
for num in $yy
do
echo "$num"
iptables -A INPUT -i eth0 -s $num -j ACCEPT
done
fi
iptables -P INPUT DROP
else
iptables -F
iptables -P INPUT ACCEPT
fi
fi