--> 这个小脚本出自<LINUX SERVER HACKS>的"网络"一章,非常方便个人定制简单的包过滤策略。以下是稍作更改后的脚本,添加了两个判断,不过好象没有必要,呵呵!
#!/bin/sh
WHITELIST=./white
BLACKLIST=./black
ALLOWED='80 22'
#清空所有规则
iptables -F
#允许白名单内的主机访问
if [ -f $WHITELIST ]; then
for x in `grep -v ^# $WHITELIST |awk '{print $1}'`;do
echo "Peritting $x"
iptables -A INPUT -t filter -s $x -j ACCEPT
done
fi
#拒绝黑名单内主机的访问
if [ -f $BLACKLIST ]; then
for y in `grep -v ^# $BLACKLIST |awk '{print $1}'`;do
echo "Blocking $y..."
iptables -A INPUT -t filter -s $y -j DROP
done
fi
#允许可信端口访问
for port in $ALLOWED ;do
echo "Accepting port $port..."
iptables -A INPUT -t filter -p tcp --dport $port -j ACCEPT
done
#拒绝所有其他数据包
iptables -A INPUT -t filter -p tcp --syn -j DROP
注意下划线部分,根椐自己的实际情况更改。

发表评论