Iptables 自定义链与 IPSET

Iptables Custom Chain vs IPSET

没有任何研究比较 IP 表IPset 中的自定义链之间的差异。

谁能告诉我这两者在功能和性能上的区别? (特别是效率)

如果可以的话,请提供任何已发表的研究论文或信息?

如果您的服务器接收到非常高的流量,很多 iptables 规则会产生很大的开销,尤其是在 CPU 上。这取决于您拥有的规则类型和您使用的 iptables 扩展。

你可以阅读这两篇论文: https://workshop.netfilter.org/2013/wiki/images/a/ab/Jozsef_Kadlecsik_ipset-osd-public.pdf

http://www.netdevconf.org/1.1/proceedings/slides/kadlecsik-ipset-firewalling-iptables.pdf

他们提供了不同的场景,iptables的工作原理,性能测试等等。

不确定这是否是您要找的东西,但它仍然是一本好书

更新:

ipset 是 iptables 的扩展,允许您创建一次匹配整个 "sets" 地址的防火墙规则。与线性存储和遍历的普通 iptables 链不同,IP 集存储在索引数据结构中,使得查找非常高效,即使在处理大型集时也是如此。

假设您想要阻止 10k 个 ip 地址,仅使用 iptables,您必须创建 10k 个规则,每个 ip 地址一个,而使用 ipset,您可以为一组特定的 ip 地址创建一个规则。这意味着速度、更少的规则、更少的 cpu 处理能力等