iptables透明模式
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-23
/* 一般而言,防火墙的两个网络接口应分属两个不同的网络,根据系统管理员定义的访问规则在两个接口之间转发数据包,或者拒绝、丢弃数据包.实际上,防火墙不单单是访问控制的功能,还充当了路由器的角色.当然,这并非有什么不妥当的地方,但是当你企图把你配置好的防火墙放入运行网络,来保护现有系统安全的时候,你不得不重新考虑和更改你的网络架构.另外一个可能的麻烦是,当防火墙发生意外时,如果没有防火墙的硬件备份的话,那么你将面临巨大的心理压力,防火墙的故障,整个网络瘫痪了.假如你把防火墙配置成透明模式(可称为伪网桥),就无需更改网络架构,即使是防火墙不能工作了,要做的仅仅是拔出网线,把网线直接插在路由器的内部接口就可以让网络正常工作,然后你就有时间慢慢恢复发生故障的防火墙. 为了实现高效的防火墙和网络检测,系统CPU足够的强大和快速.系统需要三块网卡,其中两块网卡支持网桥的实现,另外一块用来实现对防火墙的管理.(至少2块网卡,可以把管理IP配置在桥接设备上). */ #!/bin/bash # BY kerryhu # QQ:263205768 # MAIL:king_819@163.com # BLOG:http://kerry.blog.51cto.com #要让Linux实现网桥功能除了编译支持网桥的内核之外(802.1d Ethernet Bridging),还需要应用软件的支持, 这个软件就是bridge-utils cd /opt wget http://ncu.dl.sourceforge.net/project/bridge/bridge/bridge-utils-1.4/bridge-utils-1.4.tar.gz tar zxvf bridge-utils-1.4.tar.gz cd bridge-utils-1.4 ./configure --prefix=/usr make;make install #brctl该命令的帮助 #1.创建网桥设备: brctl addbr br0 #2.向br0中添加网卡eth0和eth1
brctl addif eth0 brctl addif eth1 #3.从网桥中删除网卡eth0 和eth1 brctl delif eth0 brctl delif eth1 #4.删除网桥br0 brctl delbr br0 #网关: 172.16.16.254 #Web服务器(80、443) 172.16.16.172 #ftp服务器(21、20) 172.16.16.173 #MySQL服务器(3306) 172.16.16.174 #配置网桥接口 ifconfig br0 172.16.16.171 netmask 255.255.255.0 broadcast 172.16.16.255 #配置防火墙策略 # Create the interface br0 /usr/sbin/brctl addbr br0 # Add the Ethernet interface to use with the bridge /usr/sbin/brctl addif br0 eth0 /usr/sbin/brctl addif br0 eth1 # Start up the Ethernet interface /sbin/ifconfig eth0 0.0.0.0 /sbin/ifconfig eth1 0.0.0.0 # Configure the bridge ethernet /sbin/ifconfig br0 172.16.16.171 netmask 255.255.252.0 broadcast 172.16.16.255 # I have added this internal IP to create my NAT # ip addr add 192.168.0.1/24 dev br0 /sbin/route add default gw 172.16.16.254 iptables -F FORWARD iptables -P FORWARD DROP iptables -A FORWARD -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -m state --state INVALID -j DROP iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Limit ICMP iptables -A FORWARD -p icmp -m limit --limit 4/s -j ACCEPT # Match string, a good simple method to block some VIRUS very quickly #iptables -I FORWARD -j DROP -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe" # Allow the 222.11.22.33 connection MySQL server iptables -A FORWARD -p tcp -s 222.11.22.33 -d 172.16.16.174 --dport 3306 -j ACCEPT # Allow HTTP ( 80 ) connections with the WWW server iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 172.16.16.172 --dport 80 -j ACCEPT # Allow HTTPS ( 443 ) connections with the WWW server iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 172.16.16.172 --dport 443 -j ACCEPT
# Allow th |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: CentOS5 socks5代理配置要点下一篇: linux基础命令总结(五)
关于iptables透明模式的所有评论