如何防止 iptables 和 nftables 规则同时运行?

Dmi*_*iov 6 fedora firewall iptables nftables

我正在尝试在我自己的桌面上设置防火墙(目前我正在修改 Fedora 29 虚拟机)。我想在“默认拒绝一切”的基础上使用它。几乎立即我决定禁用和屏蔽firewalld.service,因为firewalld除了使用本机iptables语法之外,无法丢弃传出的数据包。所以我决定求助于nftables,因为它是前者的现代替代品。

问题是在系统重启后iptables链有一些我没有设置的规则(我不知道它们来自哪里)。另一方面,# nft list ruleset什么都不返回。所以我假设,来自iptables和 的规则nft将同时启用,当我设置一些nft规则时,来自 的规则iptables可以从“无处”出现,将能够干预。

我试图删除iptables,但dnf拒绝这样做并警告说这systemd取决于它。

那么有人可以在这里回答我的几个问题吗?

  • 我是否正确理解了这里的概念(iptables规则和链是相互分离nft的,并且它们同时有效)?
  • 如何在nft没有iptables规则干扰的情况下可靠地使用?
  • 或者我应该简单地使用iptables和删除nft

Dmi*_*iov 3

对于问题本身,这是原始帖子的最后两个问题:

  • 如何在不受 iptables 规则干扰的情况下可靠地使用 nft?
  • 或者我应该简单地使用 iptables 并删除 nft?

nftables wiki是这么说的:

What happens when you mix Iptables and Nftables?
How do they interact?

nft       Empty     Accept  Accept      Block        Blank
iptables  Empty     Empty   Block       Accept       Accept
Results   Pass      Pass    Unreachable Unreachable  Pass 
Run Code Online (Sandbox Code Playgroud)

因此,人们不必担心某些流量会被允许,因为它在一种工具中是允许的,而在另一种工具中是禁止的。

至于那些 iptables 规则,正如我所问的,“系统重新启动后 iptables 链有一些规则,我没有设置(而且我不知道它们来自哪里)”,结果它们来自libvirtd.service我的禁用,因为我不需要它。但即使我不这样做也不会受到伤害。