IPTables 是否利用了多核处理器?

ens*_*are 10 iptables

每个数据包是否由不同的内核处理?还是单线程进程?

Jak*_*lus 6

iptables 实际上只是 linux 防火墙 netfilter 的用户空间前端。Netfilter 实际上是内核中围绕数据包处理的钩子系统。内核通过触发中断来处理每个数据包。您的内核是否在多个 CPU 之间平衡中断取决于它的年龄。请参阅 StackOverflow 上的此线程。/sf/ask/522738191/

正如 Nils 所提到的,这些中断不会在每个数据包的基础上进行平衡。它们会根据 IRQ(每个接口)进行平衡,或者如果某个 CPU 变得太忙,它们可能会完全转移到不同的 CPU。