简介
Firewalld
是一种提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具,它自身并不具备防火墙的功能,而是和iptables
一样需要通过内核的netfilter
来实现,数据包过滤机制(Netfilter
)有两个软件:firewalld
与iptables。
也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样。,firewalld的配置方法大致可以分为图形化和命令行以及编辑配置文件三种。
有关防火墙的分类在这里我们不再进行介绍,大家可以参照iptables基本概念这篇文章。
firewalld架构
firewalld采用两层设计:核心层和顶层的D-Bus层。核心层负责处理配置和后端,如iptables、ip6tables、ebtables、ipset和模块加载器。
firewalld D-Bus 接口:
- D-Bus 是一种消息总线系统,允许应用程序之间进行通信。
- 对于
firewalld
,D-Bus 接口是其主要方式,用于改变和创建防火墙配置。 - 这意味着当您使用如
firewall-cmd
、firewall-config
和firewall-applet
等在线工具时,它们实际上是通过 D-Bus 接口与firewalld
进行通信的。
firewall-cmd, firewall-config, firewall-applet:
- 这些是
firewalld
提供的在线工具,允许用户实时地查看和修改防火墙规则。 - 它们通过 D-Bus 接口与
firewalld
守护进程进行通信。
firewall-offline-cmd:
- 这不是一个常规的
firewalld
工具,但它是一个直接修改firewalld
配置文件的工具。 - 它不使用 D-Bus 接口,而是直接操作
firewalld
的配置文件和核心组件。 - 尽管
firewalld
在运行时可以使用firewall-offline-cmd
,但通常不推荐这样做,因为它只能修改永久配置,并且这些更改在firewalld
重新加载配置之前(大约五秒后)才会生效。
建议:<