firewalld 与 iptables - 何时使用哪个

firewalld 与 iptables - 何时使用哪个

TL;DR 在新的 CentOS 服务器安装上我应该使用防火墙还是只是禁用它并重新使用/etc/sysconfig/iptables


Firewalld 和 iptables 的作用类似。两者都进行数据包过滤 - 但如果我的理解正确,firewalld 不会在每次发生更改时刷新整个规则集。

我对 iptables 了解很多,但对firewalld 了解甚少。

在 Fedora 和 RHEL/CentOS 上 - 传统的 iptables 配置是在 中完成的/etc/sysconfig/iptables。使用 Firewalld,它的配置存在于/etc/firewalld/一组 XML 文件中。Fedora 似乎正在转向使用 Firewalld 来替代这种传统配置。我确实知道 Firewalld 在后台使用 iptables,但它也有自己的命令行界面和配置文件格式,如上所述 - 这就是我指使用其中一个而不是另一个的原因。

是否有每种配置/场景最适合?在 NetworkMangaer 与 network 的比较中,似乎尽管 NetworkManager 可能旨在替代网络脚本,但由于它缺乏网络桥接支持和其他一些问题,许多人根本不在服务器设置中使用它。因此似乎有一个普遍的概念:“如果您在 Linux 上,请使用 NetworkManager,desktop/gui如果您在运行服务器,请使用 network”。这只是我从阅读各种帖子中了解到的 - 但它至少提供了一个指南,说明这些东西的可行用途 - 至少在它们目前的状态。

但是我一直在使用firewalld做同样的事情,只是关闭它,改用iptables。(我几乎总是在服务器上安装linux,而不是用于桌面)。firewalld是iptables的有效替代品吗?我是否应该在所有新系统上都使用它?

答案1

由于它firewalld基于 XML 配置,有些人可能认为以编程方式配置防火墙更容易。这iptables也可以实现,但采用不同的方式,即非 XML。如果您已经熟悉这种方式的iptables工作方式,为什么要将所有配置迁移到firewalld

如果您考虑最大的iptables防火墙规则集,您认为多久会从 的动态方面受益firewalld?在大多数情况下, 的性能iptables永远不是问题。在大多数情况下, 的性能iptables是一个问题,可以通过使用基于源/目标 IP 集来解决ipset

是否应该使用 NetworkManager 是另一个争论点。

相关内容