免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 834 | 回复: 0
打印 上一主题 下一主题

iptables  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-11 11:21 |只看该作者 |倒序浏览
#!/bin/bash
#开启内核转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward

#定义外部接口变量
INET_IFACE="eth1"
INET_IP="172.18.54.189"

#定义局域网相关变量
LAN_IFACE="eth0"
LAN_IP="172.18.54.188"
LAN_IP_RANGE="172.18.54.0/24"

IPT="/sbin/iptables"

#整理内核所支持的模块
/sbin/depmod -a

#加载所用的模块

#/sbin/modprobe ipt_ipp2p
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG

#定义与内部服务器相关的变量
WWW_IP_RANGE="192.168.1.10-192.168.1.12"
FTP_IP="192.168.1.11"
EMAIL_IP="192.168.1.12"
PCAW_IP="192.168.1.12"
HTTP="80"
HTTPS="443"
FTP="21"
FTP_DATA="20"
SMTP="25"
POP3="110"
PCAW_TCP="5631"
PCAW_UDP="5632"

#清除已设置的放火墙规则

$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT

for TABLE in filter nat mangle ; do

$IPT -t $TABLE -F
$IPT -t $TABLE -X

done

#准备工作

$IPT -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPT -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

#开启SSH服务连接

$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 22 -j ACCEPT

# 允许所有已经初始化了的回应数据包

$IPT -A INPUT -m state --state ESTABLISHED -j ACCEPT

#允许DNS 服务器进入防火墙

for DNS in $(grep ^n /etc/resolv.conf | awk '{print $2}'); do
$IPT -A INPUT -p udp -s $DNS --sport domain -j ACCEPT

done



#允许访问开放的服务

$IPT -A INPUT -p tcp --sport $HTTP -j ACCEPT
$IPT -A INPUT -p tcp --sport $HTTPS -j ACCEPT
$IPT -A INPUT -p tcp --sport $FTP -j ACCEPT
$IPT -A INPUT -p tcp --sport $SMTP -j ACCEPT
$IPT -A INPUT -p tcp --sport $POP3 -j ACCEPT
$IPT -A INPUT -p tcp --sport $PCAW_TCP -j ACCEPT
$IPT -A INPUT -p tcp --sport $PCAW_UDP -j ACCEPT


#创建用户自定义链 LOGDENY
#拒绝所有(除了IO接口)新建立或无效的连接请求都将写入LOGDENY

#$IPT -A INPUT -p icmp -j DROP
$IPT -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
$IPT -N LOGDENY
$IPT -A LOGDENY -j LOG --log-prefix "iptables"
$IPT -A LOGDENY -j DROP
$IPT -A INPUT -i ! io -m state --state  NEW,INVALID -j LOGDENY

#根据接口决定使用SNAT 或者 IP 伪装

if [ "$INET_IFACE" = PPP0 ] ; then
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
else
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to  $INET_IP
fi

#对外放火墙服务请求定向到局域网内部

$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $HTTP -j DNAT --to $WWW_IP_RANGEHTTP
$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $HTTPS -j DNAT --to $WWW_IP_RANGEHTTPS
$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $FTP -j DNAT --to $FTP_IPFTP
$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $SMTP -j DNAT --to $EMAIL_IPSMTP
$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $POP3 -j DNAT --to $EMAIL_IPPOP3
$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $PCAW_TCP -j DNAT --to $PCAW_IPPCAW_TCP
$IPT -t nat -A PREROUTING -p tcp -d $INET_IP --dport $PCAW_UDP -j DNAT --to $PCAW_IPPCAW_UDP

运行后有问提.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP