在 iptables 中,如果一个数据包在一个表中被接受,它会绕过下一个表吗?

在 iptables 中,如果一个数据包在一个表中被接受,它会绕过下一个表吗?

如果一个数据包接受比如说,从INPUT表链中读取数据包mangle,它会绕过INPUT表链filter直接进入本地进程吗?或者表链会INPUT再次filter处理数据包,并有机会降低它?


我明白你不应该用桌子mangle降低包,因为该mangle表应该用于数据包处理,而不是数据包过滤。但我有兴趣从理论的角度了解这一点。

答案1

每个表都独立处理数据包。

当然,如果您在一个表中 DROP 一个数据包,那么它将不会到达下一个表。但是,如果您接受一个数据包,则意味着您将终止执行 ACCEPT 的表中的数据包处理,并且流程将转到下一个(如果有)。

如果您在 Google 上搜索“iptables 数据包流图”,您将找到许多数据包流的表示,因此可以清楚地了解表的顺序。

相关内容