壹次网首页 | 工具源码首页 | 技术文章首页 | 文章分类 | | |

文章搜索: 分类 关键字
您的位置:首页网络技术防火墙 → 一个简单的redhat linux防火墙脚本
一个简单的redhat linux防火墙脚本
添加日期:2006-10-2 11:24:46     [ ]
文章作者:Goldberg [安全矩阵](www.smatrix.org)
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

注意:此文首发于邪恶八进制(www.eviloctal.com)

今天下午给自己的工作机器(redhat linux9 内核2.4.20-8)编写了一个简单的防火墙脚本,我的机器双网卡(eth0联内网 eth1联外网)并有个固定的IP:221.226.x.x
WWW,DNS,DHCP,MIAL等服务都做起来了 于是组了个小局域网 带几台机器
防火墙脚本在 /etc/rc.d/init.d/firewall
边编写防火墙脚本边听这个歌曲:那些花儿,嘿,感觉真好,一会就写好了,嘎嘎.
规则写的比较少 也比较简单 让各位大牛们见笑了 有兴趣的可以跟帖讨论一下
具体脚本如下:
echo "firewall start! let us go!"
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/ip_dynaddr
echo 1 > /proc/sys/net/ipv4/tcp_ecn
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#start kernel modules
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_state
/sbin/modprobe ipt_multiport

#clear chains rules
/sbin/iptables -F
/sbin/iptables -t nat -F

#clear packets counts
/sbin/iptables -Z
/sbin/iptables -t nat -Z

#set default methods:DROP
#/sbin/iptables -P INPUT DROP
#/sbin/iptables -P FORWARD DROP
#/sbin/iptables -P OUTPUT DROP

#allow local connect
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT

#allow ping proxy
/sbin/iptables -A INPUT -p icmp --icmp-tye echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

#allow DNS
/sbin/iptables -A OUTPUT --dport 53 -j ACCEPT
/sbin/iptables -A INPUT --sport 53 -j ACCEPT

#let us begin forward rules
/sbin/iptables -A FORWARD -p tcp -m multiport --dport 135,137,138,139,445 -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 120 -j ACCEPT

#let us begin NAT rules
#NAT for HTTP
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 80-j DNAT --to-destination 192.168.5.16:80
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 80-j SNAT --to-source 221.226.x.x

#NAT for FTP
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 21 -j DNAT --to-destination 192.168.5.16:21
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 21-j SNAT --to-source 221.226.x.x:21
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 20-j DNAT --to-destination 192.168.5.16:20
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 20-j SNAT --to-source 221.226.x.x:20

#NAT for HTTPS
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 443 -j DNAT --to-destination 192.168.5.16:443
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --dport 443 -j SNAT --to-source 221.226.x.x:443

#NAT for SMTP and POP3
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 25-j --to-destination 192.168.5.16:25
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 25-j --to-source 221.226.x.x:25
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 110 -j --to-destination 192.168.5.16:110
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 110 -j --to-source 221.226.x.x:110
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 143 -j --to-destination 192.168.5.16:143
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 143 -j --to-source 221.226.x.x:143

#NAT for TELNET
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 23-j --to-destination 192.168.5.16:23
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 23-j --to-source 221.226.x.x:23

#NAT for SSH
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 -d 221.226.x.x --dport 23-j --to-destination 192.168.5.16:22
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.5.16 --sport 22-j --to-source 221.226.x.x:22

#IP MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
出处:邪恶八进制 作者:Goldberg 点击:
 热点文章
·photoshop制作香烟、烟头、烟雾
·photoshop图片卷角、翻页效果的制作
·用U盘或移动硬盘装《深山红叶袖珍系统Win PE启动..
·photoshop经典恐怖片海报效果教程
·ghost.pif最新变种手动查杀,ARP欺骗挂马+KAV让..
·photoshop制作3D立体小人和字体
·photoshop水晶球质感表现 - 关于光影的细节
·关于zend解密的程序
·王晨昀:谁来拯救中小网站?
·photoshop泛黄、陈旧纸张效果的制作
 推荐文章
·如何彻底删除一个不需要的系统服务
·模仿QQ和MSN消息提示的效果
·CC攻击的思路及防范方法
·广告联盟的一些评价
Powered by yici.net
CopyRight (C) 2006-2012 版权所有   [ 依次网 ];未经授权,任何人不得抄袭、仿冒本站
ICP备案:苏ICP备05011771号 证书下载 ICP证号:苏ICP证040301
仪征广目网络信息服务有限公司 版权所有