关于 `iptables` 的 `conntrack` 扩展的困惑

关于 `iptables` 的 `conntrack` 扩展的困惑

iptables-extensions手册页对扩展有这样的看法conntrack(重点是我的):

此模块,当合并 具有连接跟踪功能,允许访问此数据包/连接的连接跟踪状态。

我想conntrack 连接跟踪?

为什么手册页说“结合连接跟踪”?

如果conntrack不是连接跟踪,那它是什么?

“其他”连接跟踪是什么?它们来自哪里?

答案1

连接跟踪已经记录了有关被跟踪连接的信息,例如一个连接是否与另一个连接相关(例如,新的 FTP DATA 连接与现有的 FTP 会话相关,即使它位于不同的端口上。)

iptables扩展conntrack提供了您可以在 iptables 规则中用来匹配跟踪状态的附加标准,例如允许这些相关连接通过。

如果您不使用conntrack扩展,那么连接仍然会被内核跟踪(如果加载了适当的内核模块),但是跟踪信息将不会被使用,因为它不会被任何 iptables 规则检查。

基本上,整个连接跟踪系统分为两部分 - 内核中执行实际跟踪的位,以及 iptables 中检查来自内核的跟踪信息并决定是否允许给定数据包通过的位。

这有点简单,但希望能够用一般的术语来解释它。

相关内容