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

CentOS admin 2899℃ 0评论

最近在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配置文件:

1
#vi /etc/sysconfig/iptables

添加下面的行,对于INPUT规则务必要添加到”LOG“,”FORWARD“和”DROP”行的前面:
##允许任何人访问80和443端口

1
2
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCET
-A INPUT -m state --state NEW -p tcp --dport 443 -j ACCET

保存并退出编辑的文件,重新启动IPv4防火墙服务:

1
#service iptables start

编辑IPv6的防火墙配置文件/etc/sysconfig/ip6tables:

1
#vi /etc/sysconfig/ip6tables

添加下面的行,对于INPUT规则务必要添加到”LOG“,”FORWARD“和”DROP”行的前面:

1
2
3
##允许任何人访问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

保存并退出编辑的文件,重新启动IPv6防火墙服务:

1
#service ip6tables restart

方法二:防火墙配置GUI工具(初学者使用)

system-config-firewall命令是一个设置基本的防火墙规则的图形化用户接口。系统必须安装了KDE或Gnome GUI程序。打开终端输入下面的命令:

1
#system-config-firewall

命令输出界面如下:

选择启用WWW,SSH,HTTPS服务,然后点击“应用”按钮这个工具将会重写/etc/sysconfig/iptables 配置:

方法三:/sbin/iptables 命令行工具(高级用户使用)

在root用户输入下面的iptables命令打开80和443端口

1
2
3
4
5
6
7
8
9
10
11
##打开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

防火墙示例:
1.只允许特定网段(172.16.1.0/24)访问80和443端口

1
2
3
4
5
6
7
8
9
10
11
12
##开放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

2.通过iptables设置禁止10.0.0.1访问80端口

1
2
3
4
5
##禁止访问80端口
iptables -A INPUT -s 10.0.0.1 -p tcp --dport 80 -j DROP

##保存最新添加的防火墙规则
/sbin/service iptables save

转载请注明:osetc.com » 三种配置Linux iptables 防火墙的方法

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址