centos7之firewalld概述及拓扑(一)

一、学习目标

由于博主最近考取了RHCE,接触到RedHat7的防火墙,默认安装的防火墙就是firewalld,取代了原来的iptables。firewalld是RedHat7中用于管理主机级别防火墙的默认方法,这吸引了我的兴趣。由于centos与Redhat差不多,所以centos的环境来学习。

二、firewalld概述

firewalld是通过firewalld.service systemd 服务来启动的,可以使用低级别的iptables、ip6tables和ebtables命令来管理Linux内核netfilter子系统。

firewalld防火墙原理拓扑:

centos7之firewalld概述及拓扑(一)

防火墙的主要作用:用来控制那些主机可以访问本地的那些服务。

特别注意:

iptables服务与firewalld服务都不是真正的防火墙,他们都只是用来定义防火墙规则功能的“防火墙管理工具”。

由netfilter即网络过滤器来读取,从而真正实现防火墙功能。

firewalld与iptables是冲突。如果使用firewall-cmd,应该把iptables和其他防火墙服务屏蔽。

三、firewalld优劣

firewalld的特点是拥有运行时配置(RunTime)永久配置(Permanent)选项且能够支持动态更新以及“zone”的区域功能概念。

相比iptables,firewalld的使用效能更高,处理速度更快,对用户透明,而且跟加稳定。

irewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

四、firewalld的工作过程

firewalld将所有传入流量划分区域,每个区域都有自己的一套规则。为检查哪个区域用于传入连接。firewalld使用以下逻辑,第一个匹配规则胜出:

1、传入包的源地址与区域的某个源规则设置匹配,该包将通过该区域进行路由。

2、包的传入接口与区域的过滤器设置匹配,则将使用该区域。

3、否则将使用默认区域。默认区域不是单独的区域,而是指向系统上定义的某个其他区域。

除非管理员NetworkManager配置所覆盖,否则,任何新网络接口的默认区域都将设置为public区域。

firewalld工作流程图:

centos7之firewalld概述及拓扑(一)

五、区域概念与作用

防火墙的网络区域定义了网络连接的可信等级(共9个区域),我们可以根据不同场景来调用不同的firewalld区域,区域规则如下:

centos7之firewalld概述及拓扑(一)

六、总结

就个人而言,我挺喜欢使用firewalld,主要是相对iptables来说,方便了很多。

待会再补充些规则详解,链接如下:centos7之firewalld规则详解(二)