FirewallD是RHEL/CentOS 7+的一个防火墙服务的守护进程,对应系统的firewalld.service。其与iproute2软件包的iptables/ip6tables的关系如下,实质上都是通过iptables模块配置内核的netfilter模块:
在RHEL/CentOS 7中,iptables.service/ip6tables.service已经被firewalld.service所替代。
FirewallD引入zone和service的概念以方便进行网络流量的管理。一个zone就是一个预定义的规则集,定义了网络连接及涉及的网卡的可信任等级。一个service就是一种预定义的规则(可能包含一系列操作),只有被加入到一个zone中时,service中的规则才会虽则zone而生效。
FirewallD可以通过NetworkManager GUI工具操作Zones。设置一个网卡归属于一个Zone,可以使用NetworkManager,也可以使用firewall-config GUI工具或firewall-cmd命令。事实上,firewall-config或firewall-cmd命令也是在操作NetworkManager的配置文件,所以也就是使用NetworkManager。对于新加入到NetworkManager的网卡,其从属于默认Zone(即public)。
1. Zones
Zones是若干个预定义的规则集。可以将若干个网卡和sources端口纳入一个Zone。根据用户对网卡连接的网络的信任等级,将网卡或sources端口划分到不同的Zones。通过任何一个网卡的