CentOS 5/RHEL 5 Linux中iptables防火墙的配置

jackxiang 2010-9-30 21:30 | |
设置防火墙对于你的Linux服务器来说非常重要。但是默认情况下CentOS的设置通常不能满足我们的需要。你可以通过如下步骤简单设置iptables防火墙:
首先要禁用掉SELinux,通常来说SELinux没有什么特别大的用处。用root用户打开/etc/selinux/config:
vi /etc/selinux/config
将其中的SELINUX=enforcing删除并用下面一行字替换:
SELINUX=disabled
之后我们来修改iptables的设置,打开iptables的配置文件:

vi /etc/sysconfig/iptables redhat
vi /etc/rc.d/iptables suse
下面是一个iptables的示例:

# *filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

需要注意的是,你必须根据自己服务器的情况(比如开放哪些服务来修改这个文件)。举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
全部修改完之后重启iptables:
service iptables restart
你可以验证一下是否规则都已经生效:
iptables -L
系统会打印出目前已经生效的规则
来源:http://www.net527.cn/a/caozuoxitong/Linux/9145.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/3575/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2010-11-2 15:39
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]