将 Iptables 的表命名为“tables”有什么意义?

将 Iptables 的表命名为“tables”有什么意义?

阅读一些指南后(例如这个)并进行 Iptables 调优,我发现没有理由将 Iptables 的表命名为表。
我的意思是几乎没有桌子。
例如,“表”nat中基本上有三个链 - PREROUTINGOUTPUTPOSTROUTING,但该表中的这些链没有交集,并且不直接相互跟随。所以从数据包流的观点强调表格的概念根本没有任何意义
名称“桌子“ (rawfilternatmanglesecurity, ...) 只是代表优先事项链内的规则组以及一些其他属性(例如,nat规则组每个连接仅工作一次,filter每个数据包工作等等)。

因此,它不应该是“表包含多个链”,而是类似“链包含具有特定全局优先级(和一些其他公共属性)的规则组”。不是吗?

或者我误解了什么?

答案1

名称表有历史渊源:

  • 曾经有简单的规则。
  • 然后,出现了 ipchains——规则可以被链接起来。
  • 对所有防火墙系统的重大重写产生了一个过滤器,它保留了所有连接的状态表(以及类似连接的想法,例如更新请求和适当的答案)。这就是“表”名称的由来。并且,数据包穿过其中一条路径的过程的不同部分的规则(例如,我们系统的数据包,将被接收)可以被组织成几个规则表(INPUT、FORWARD、OUTPUT、PREROUTING、POSTROUTING)。

这里快速描述了上面总结的历史:https://netfilter.org/about.html#history

相关内容