标题:iptables在web服务器的示例 出处:沧海一粟 时间:Thu, 30 Dec 2010 07:10:59 +0000 作者:jed 地址:http://www.dzhope.com/post/725/ 内容: 新建一个shell脚本 vi firewall.sh 将下面的内容,从“内容开始”至“内容结束”全部复制添加到上面的脚本文件中。 注意将下面内容中的一个内容替换--{你的源IP} 替换成你的源IP。如果你的源IP是动态的,建议将开放80那样开放它。 ------------------------------------------内容开始 #!/bin/sh /sbin/modprobe ip_tables /sbin/modprobe iptable_filter /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp #以上命令为载入模块 iptables -P INPUT DROP iptables -F INPUT iptables -P OUTPUT ACCEPT iptables -F OUTPUT iptables -P FORWARD DROP iptables -F FORWARD iptables -t nat -F #以上命令为设置默认规则----禁止所有,注意会清空原有规则,请注意原有规则的保存备份。 ################################add tointernet########################## iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A INPUT -p udp --sport 123 -j ACCEPT iptables -A INPUT -p tcp --sport 20 -j ACCEPT iptables -A INPUT -p tcp --sport 21 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 443 -j ACCEPT iptables -A INPUT -p tcp --sport 8080 -j ACCEPT ################################add tointernet########################## #以上规则的意思是,开放你服务器对外访问的回程允许,如果你的服务器不需要对外访问,请删除 # # ################################add manager############################# iptables -A INPUT -s 127.0.0.1 -j ACCEPT iptables -A INPUT -s {你的源IP} -p 0 -j ACCEPT ################################add manager############################# #以上的规则的意思是,开放你的管理客户端的所有通讯(当然包括22端口啦),但除了这个源IP外,其它任何IP都访问该服务器的22端口了 # # ################################add 80################################## iptables -A INPUT -p tcp --dport 80 -j ACCEPT ################################add 80################################## #开放外网所有访问你的80 #如果你的MYSQL或其它服务需要对外开放,请按上面的格式添加 # # /etc/rc.d/init.d/iptables save /etc/rc.d/init.d/iptables restart ------------------------------------------内容结束 保存shell脚本文件。 通过下面的命令,将脚本执行 /bin/sh firewall.sh 看到OK状态后,通过下面的命令检查IPTABLES状态 iptables -L -n Generated by Bo-blog 2.1.1 Release