在 Linux 内核中,从先验角度来看,IPTables、IPVS 和 NFTables 的路由规则如何排序?

在 Linux 内核中,从先验角度来看,IPTables、IPVS 和 NFTables 的路由规则如何排序?

Linux 内核能够使用 nftables、iptables 和 ipvs 路由流量。我在这里收集了 3 个相关问题,以便一般性地提出更广泛的总体问题,即如何确定内核路由和防火墙规则的优先级:

  • 一般来说,这些负载平衡/数据包过滤结构的排序是否有优先顺序?
  • 如果从安装角度来看,NFT 和 iptables 管理不当,可能会导致“冲突”(不可预测的结果)。解决此问题的方法似乎是确保安装了 iptables-legacy。是否可以同时运行 NFT 和 iptables,如果可以,给定的 iptables“表”(Mangle、Filter、NAT)将按照什么顺序应用到 NFT 表规则中?
  • IPVS 能够实现负载平衡。一般来说,它是在将 iptables 规则应用于传入数据包之前还是之后发生?
  • Firewalld 在这一切中起什么作用?
  • 对于 SELinux 和这些不同的规则来说,优先级是如何起作用的?

就背景而言,我最近注意到安装了 NFT 的系统上的一些 iptables 规则没有按预期工作,尽管网上有关于默认 iptables 链如何根据其驻留表排序的很好的图表,但我很好奇如果存在来自 NFT、IPVS、eBPF 等的其他规则,人们将如何推理这些链及其遍历。

答案1

它们是 CLI,用于管理存储在内核中的相同规则。任何优先级都是指定的优先级或输入顺序。

相关内容