Skip to content Skip to main navigation Skip to footer

三种配置Linux iptables 防火墙的方法

最近在centos系统上搭建了一个Apache web服务器,就考虑如何通过防火墙配置访问限制,如何来做呢?在RHEL或Centos系统里,如何搭建防火墙呢?
默认情况下,centos系统里的iptables配置是不允许访问被Apache服务器使用的HTTP(端口号80)和HTTPS(端口443)端口。所以你需要通过下面的几种方法去更改配置:
1.编辑/etc/sysconfig/iptables配置文件,设置允许或禁止访问Apache web服务器。另外还需要编辑“/etc/sysconfig/ip6tables”配置文件,设置允许或禁止访问web服务。
2.通过”system-config-firewall-tui”命令 或 “system-config-firewall”(要在GUI界面上运行)。这是个基于图形界面来设置基本的防火墙规则的命令。这个工具将会一直重写“/etc/sysconfig/iptables”文件。
3.使用”/sbin/iptables” 命令:通过该命令可以直接的去更改/追加/添加防火墙规则。访问控制规则通过命令“/sbin/service iptables save”保存”/etc/sysconfig/iptables”文件里。
方法一:配置/etc/sysconfig/iptables 文件(推荐高级用户使用)
编辑IPv4的/etc/sysconfig/iptables配置文件:
[cc lang=”php”] #vi /etc/sysconfig/iptables
[/code] 添加下面的行,对于INPUT规则务必要添加到”LOG“,”FORWARD“和”DROP”行的前面:
##允许任何人访问80和443端口
[cc lang=”php”] -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCET
-A INPUT -m state –state NEW -p tcp –dport 443 -j ACCET
[/code] 保存并退出编辑的文件,重新启动IPv4防火墙服务:
[cc lang=”php”] #service iptables start
[/code] 编辑IPv6的防火墙配置文件/etc/sysconfig/ip6tables:
[cc lang=”php”] #vi /etc/sysconfig/ip6tables
[/code] 添加下面的行,对于INPUT规则务必要添加到”LOG“,”FORWARD“和”DROP”行的前面:
[cc lang=”php”] ##允许任何人访问80和443端口
-A INPUT -m state –state NEW -p tcp –dport 80 -j ACCET
-A INPUT -m state –state NEW -p tcp –dport 443 -j ACCET
[/code] 保存并退出编辑的文件,重新启动IPv6防火墙服务:
[cc lang=”php”] #service ip6tables restart
[/code] 方法二:防火墙配置GUI工具(初学者使用)
system-config-firewall命令是一个设置基本的防火墙规则的图形化用户接口。系统必须安装了KDE或Gnome GUI程序。打开终端输入下面的命令:
[cc lang=”php”] #system-config-firewall
[/code] 命令输出界面如下:
选择启用WWW,SSH,HTTPS服务,然后点击“应用”按钮这个工具将会重写/etc/sysconfig/iptables 配置:
方法三:/sbin/iptables 命令行工具(高级用户使用)
在root用户输入下面的iptables命令打开80和443端口
[cc lang=”php”] ##打开80和443端口
/sbin/iptables -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m state –state NEW -p tcp –dport 443 -j ACCEPT
##保存最新添加的防火墙规则
/sbin/service iptables save
##验证新的防火墙设置
/sbin/iptables -L -n -v
/sbin/iptables -L INPUT -n -v | grep :80
/sbin/iptables -L INPUT -n -v | grep :443
[/code] 防火墙示例:
1.只允许特定网段(172.16.1.0/24)访问80和443端口
[cc lang=”php”] ##开放80和443端口
/sbin/iptables -A INPUT -s 172.16.1.0/24 -m state –state NEW -p tcp –dport 80 -j ACCEPT
/sbin/iptables -A INPUT -s 172.16.1.0/24 -m state –state NEW -p tcp –dport 443 -j ACCEPT
##保存最新添加的防火墙规则
/sbin/service iptables save
##验证新的防火墙设置
/sbin/iptables -L -n -v
/sbin/iptables -L INPUT -n -v
/sbin/iptables -L INPUT -n -v | grep :80
/sbin/iptables -L INPUT -n -v | grep :443
[/code] 2.通过iptables设置禁止10.0.0.1访问80端口
[cc lang=”php”] ##禁止访问80端口
iptables -A INPUT -s 10.0.0.1 -p tcp –dport 80 -j DROP
##保存最新添加的防火墙规则
/sbin/service iptables save
[/code]

0 Comments

There are no comments yet

Leave a comment

Your email address will not be published.