内容要点:

  • firewalld概述

  • firewalld和iptables的关系

  • firewalld网络区域

  • firewalld防火墙的配置方法

  • firewalld-config图形工具

一、firewalld概述

firewalld简介:

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具

  • 支持IPv4、IPv6防火墙设置以及以太网桥

  • 支持服务或应用程序直接添加防火墙规则接口

  • 拥有两种配置模式

  • 运行时配置(重启后则设置不再生效)

  • 永久配置(声明于配置文件中)

二、Firewalld和iptables的关系

 netfilter

  • 位于Linux内核中的包过滤功能体系

  • 称为Linux防火墙的“内核态”

Firewalld/iptables

  • CentOS7默认的管理防火墙规则的工具(Firewalld)

  • 称为Linux防火墙的“用户态”


firewalld防火墙概述及字符管理工具_第1张图片


三、网络区域

区域介绍(默认区域为public)

firewalld防火墙概述及字符管理工具_第2张图片

区域如同进入主机的安全门,每个区域都具有不同限制程度的规则

可以使用一个或多个区域,但是任何一一个活跃区域至少需要关联源地址或接口

默认情况下,public区 域是默认区域,包含所有接口(网卡)

firewalld数据处理流程

  • 检查数据来源的源地址

  • 若源地址关联到特定的区域,则执行该区域所指定的规则

  • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则

  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

四、firewalld防火墙的配置方法

运行时配置

  • 实时生效,并持续至Firewalld重新启动或重新加载配置

  • 不中断现有连接

  • 不能修改服务配置

永久配置

  • 不立即生效,除非Firewalld重新启动或重新加载配置

  • 中断现有连接

  • 可以修改服务配置

firewall-config图形工具

  • 运行时配置/永久配置

  • 重新加载防火墙

  • 更改永久配置并生效 

  • 关联网卡到指定区域

  • 修改默认区域

  • 连接状态

    image.png

    firewalld防火墙概述及字符管理工具_第3张图片

    firewalld防火墙概述及字符管理工具_第4张图片

firewalld防火墙概述及字符管理工具_第5张图片

firewalld防火墙概述及字符管理工具_第6张图片

firewall-cmd命令行工具

1、启动、停止、查看firewalld服务

在安装Cent0S7 系统时,会自动安装firewalld 和图形化工具firewall-config。 执行以下命令可以启动firewalld 并设置为开机自启动状态。

[root@localhost ~]# systemctl start firewalld //启动firemal1d
[root@localhost ~]# systemctl enable firewalld //设置firewalld为开机自启动
如果firewalld正在运行,通过systemctl status firewalld 或firewall-cmd 命令可以查看其运行状态。
[root@localhost ~]# systemctl status firewalld
[root@1ocalhost ~]# systemct1 stop firewalld //停止firewal1d
[root@localhost ~]# systemct1 disable firewalld //设置firewalld开机不自启动

2、获取预定义信息

firewall-cmd预定义信息主要包括三种:可用的区域、可用的服务以及可用的ICMP阻塞类型,具体的查看命令如下所示。

[root@localhost ~]# firewall-cmd --get-zones //显示预定义的区域
work drop internal external trusted home dmz public block
[root@localhost ~]# firewall-cmd - get service //显示预定义的服务
RH- Sate1ite-6 amanda-client amanda -k5-client bacul abacula-client cephcephmondhcp dhcpv6 dhcpv6-client dnsdocker- registrx dropbox-lansyncfreeipa-1dap
.......
[root@localhost ~]# firewall-cmd --get-icmptypes //显示预定义的ICMP 类型
destinatian-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solici tati on source- quench time-exceeded timest amp- reply timestamp-request

firewall-cmd --get-icmptypes命令的执行结果中各种阻塞类型的含义分别如下所示。

destination-unreachable:目的地址不可达。
echo-reply: 应答回应(pong) 。
parameter-problem:参数问题。
redirect: 重新定向。
router- advertisement:路由器通告。
router- solicitation:路由器征寻。
source-quench:源端抑制。
time-exceeded::超时。
timestamp-reply::时间戳应答回应。
timestamp-request:时间戳请求。

3、区域管理

firewalld防火墙概述及字符管理工具_第7张图片

firewalld防火墙概述及字符管理工具_第8张图片

4、firewalld端口操作命令

firewalld防火墙概述及字符管理工具_第9张图片

firewalld防火墙概述及字符管理工具_第10张图片

5、firewalld阻塞ICMP操作命令

firewalld防火墙概述及字符管理工具_第11张图片

firewalld防火墙概述及字符管理工具_第12张图片

6、两种配置模式

--reload: 重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置。
--permanent::带有此选项的命令用于设置永久性规则,这些规则只有在重新启动firewalld或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时规则。
--runtime-to-permanent:将当前的运行时配置写入规则配置文件中,使之成为永久性


/etc/firewalld/中的配置文件

  • Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件。

  • /etc/firewalld/ :用户自定义配置文件,需要时可通过从usr/lib/firewalld/中拷贝

  • /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etcfirewalld/中的配置