在我的ubuntu系统中我写了三个小的脚本互相调用,用与内网的防火墙,由于我是在内网中,而不是ADSL拨号上网的,请谨慎参考。
一共有三个脚本,
1.iptables.basicrule.sh这个是用于制定基本的规则的
2.iptables.allow.sh这个是允许通过的ip地址。
3.iptables.deny.sh这个是拒绝的ip地址。
现在在这里贴出我的脚本给朋友们参考,并且欢迎提出你的意见。(msn:jackning@live.com)
iptables.basicrule.sh
#!/bin/bash
#针对本机的防火墙配置
#1.设置内核的功能
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #防止死亡之ping
#2.清空规则,设置默认规则,开放loop口
IPT="/sbin/iptables"
$IPT -F
$IPT -X
$IPT -Z
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#3.启动额外的防火墙模块
if [ -f /usr/local/ninglinux/iptables/iptables.deny.sh ]; then
sh /usr/local/ninglinux/iptables/iptables.deny.sh
fi
if [ -f /usr/local/ninglinux/iptables/iptables.allow.sh ]; then
sh /usr/local/ninglinux/iptables/iptables.allow.sh
fi
if [ -f /usr/local/ninglinux/httpd-err/iptables.http ]; then
sh /usr/local/ninglinux/iptables/httpd-err/iptables.http
fi
#4.允许某些类型的icmp进入
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
#5.允许某些服务的进入
$IPT -A INPUT -p tcp --sport 21 --dport 1024:65534 -j ACCEPT #FTP
$IPT -A INPUT -p tcp --sport 20 --dport 1024:65534 -j ACCEPT #FTP
$IPT -A INPUT -p tcp --sport 25 -j ACCEPT #SMTP
$IPT -A INPUT -p tcp --sport 53 --dport 1024:65534 -j ACCEPT #DNS
$IPT -A INPUT -p udp --sport 53 --dport 1024:65534 -j ACCEPT #DNS
$IPT -A INPUT -p tcp --sport 80 -j ACCEPT #WWW
$IPT -A INPUT -p tcp --sport 110 -j ACCEPT #POP3
$IPT -A INPUT -p tcp --sport 443 -j ACCEPT #HTTPS
$IPT -A INPUT -p tcp --sport 22 -j ACCEPT #SSH
转载于:https://blog.51cto.com/ninglinux/1107065