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 是另一个争论点。