Redhat Enterprise Linux7已默认使用firewalld
防火墙,其管理工具是firewall-cmd
。使用方式也发生了很大的改变。
基于iptables
的防火墙已默认不启动,但仍然可以继续使用。
RHEL7中有这几种防火墙共存:firewalld
、iptables
、ip6tables
、ebtables
。
RHEL7的内核版本是3.10,在此版本的内核里防火墙的包过滤机制是firewalld
,使用firewalld
来管理netfilter
,不过底层调用的命令仍然是iptables
等。
@
***
firewalld
提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的防火墙管理工具,拥有运行时配置
和永久配置
选项。拥有允许服务或应用程序直接添加防火墙规则的接口。
.
以前的system-config-firewall
防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核netfilter
防火墙模块的卸载和新配置所需要模块的装载等。
.
相反,firewall daemon
是动态管理防火墙,应用更改时不必重启整个防火墙,因而也就没有必要重载所有内核防火墙模块。
Firewalld zone
什么是zone(区域)?网络区域定义了网络链接的可信等级。
如上图,数据包若要进入内核,必须经过其中一个zone
。而不同的zone
里定义的规则也不一样(即信任度不一样,过滤的强度也不一样)。
.
可根据网卡所连接的网络的安全性来判断某张网卡的流量使用的是哪个zone。比如上图中来自eth0网卡的流量全部使用zone1的过滤规则,eth1网卡的流量全部使用zone2的过滤规则。一张网卡同时只能绑定到一个zone.
firewalld默认为我们提供了
9
个区域,默认就有一些区域是有效的。这些区域按照不信任到信任的顺序排序,如下。
.
起---------------------------------丢弃区域(Drop Zone)
如果使用丢弃区域,任何进入的数据包都将被丢弃。
这个类似于6.x版本中使用的iptables -j drop
。
使用丢弃规则意味着将不存在响应。
.