Linux中什么是nftables?与iptables有什么区别?

  几乎每个Linux管理员都熟知也使用过iptables,它是一个Linux系统的防火墙。但是你可能还不太熟悉nftables,这是一个新的防火墙,可为我们提供一些必需的升级,还有可能会取代iptables。以下是详细的内容:

  为什么要使用nftables呢?

  nftables是由Netfilter开发的,该组织目前维护iptables。nftables的创建是为了解决iptables的一些性能和扩展问题。

  除了新的语法和一些升级以外,nftables的功能与iptables几乎是一样的。之所以推出nftables的另一个原因,是因为iptables的框架变的有点复杂,iptables, ip6tables, arptables以及ebtables都有不同但相似的功能。

  比如,在iptables中创建IPv4规则和在ip6tables中创建IPv6 规则并保持两者同步是非常低效的。Nftables旨在取代所有这些,成为一个集中的解决方案。

  尽管自2014年以来,nftables就被包含在Linux内核中,但随着采用范围的扩大,它最近越来越受欢迎。Linux世界的变化很慢,过时的实用程序通常需要几年或更长的时间才能逐步淘汰,取而代之的是升级后的实用程序。

  nftables中的链(chains)和规则

  在iptables中,有三个默认的链:输入、输出和转发。这三个“链”(以及其他链)包含“规则”,iptables通过将网络流量与 链中的规则列表匹配进行工作。如果正在检查的流量与任何规则都不匹配,则链的默认策略将用于流量(即ACCEPT、DROP)。

  Nftables的工作原理与此类似,也有“链”和“规则”。然而,它一开始没有任何基础链,这使得配置更加灵活。

  iptables效率低下的一个方面是,即使流量与任何规则都不匹配,所有网络数据也必须遍历上述链中的一个或多个。无论你是否配置了链,iptables仍然会根据它们检查你的网络数据。

猜你喜欢

转载自blog.csdn.net/oldboyedu1/article/details/132299338