我们都清楚Net-filter是Linux的一种防火墙机制。而Firewalld是一个在网络区域(networks zones)的支持下动态管理防火墙的守护进程。早期的RHEL版本和CentOS 6使用iptables这个守护进程进行数据包过滤。而在RHEL/CentOS 7和Fedora 21中,iptables接口将被firewalld取代。
由于iptables可能会在未来的版本中消失,所以建议从现在起就使用Firewalld来代替iptables。话虽如此,现行版本仍然支持iptables,而且还可以用YUM命令来安装。不过可以肯定的是,在同一个系统中不能同时运行Firewalld和iptables,否则可能引发冲突。
在iptables中需要配置INPUT、OUTPUT和FORWARD CHAINS。而在Firewalld中新引入了区域(Zones)这个概念。默认情况下,firewalld中就有一些有效的区域(zones),这也是本文将要讨论的内容。
基础区域如同公共区域(public zone)和私有区域(private zone)。为了让作业在这些区域中运行,需要为网络接口添加特定区域(specified zone)支持,好让我们往firewalld中添加服务。
默认情况下就有很多生效的服务。firewalld最好的特性之一就是,它本身就提供了一些预定义的服务,而我们可以以这些预定义的服务为模版,复制之以添加我们自己的服务。
Firewalld还能很好地兼容IPv4、IPv6和以太网桥接。在Firewalld中,我们可以有独立的运行时间和永久性的配置。接下来让我们看看如何在区域(zones)中作业、创建我们的服务以及更好的利用firewalld这个防火墙机制吧。
测试环境如下:
Operating System :CentOS Linux release 7.0.1406 (Core)
IP Address:192.168.0.55
Host-name:server1.tecmintlocal.com
步骤1:安装Firewalld组件
1.Firewalld组件在RHEL/CentOS 7和Fedora 21默认已经安装了。如果没有可以使用如下YUM命令进行安装。
# yum install firewalld -y
2.安装完毕,查看一下iptables是否正在运行。如果是,你需要用以下命令来stop和mask(不再使用)iptables。
# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables
步骤2:Firewalld组件的讨论
3.在进行firewalld配置之前,我想来讨论一下区域(zones)这个概念。默认情况就有一些有效的区域。我们需要网络接口分配区域。区域规定了区域是网络接口信任或者不信任网络连接的标准。区域(zone)包含服务和端口。接下来让我们讨论Firewalld中那些有用的区域(zones)。
现在你对区域有个很好的认识了,让我们使用以下的命令来找出有用的区域、默认区域以及列出所有的区域吧。
# firewall-cmd –get-zones
# firewall-cmd –get-default-zone
# firewall-cmd –list-all-zones
注意:以上命令的输出不仅仅只有单页,因为它将会列出每种区域如block、dmz、drop、external、home、internal、public、trusted以及work。如果区域还有其它详细规则(rich-rules)、启用的服务或者端口,这些区域信息也会分别被罗列出来。
翻译:sogreen 想了解作者请访问linux公社
Linux公社原创翻译频道:?tid=15
更多详情见请继续阅读下一页的精彩内容:
,人生谁无少年时,甜苦酸辛各自知。