首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
程序员
iptables 匹配 n 条 rule 的时间复杂度是多少?
feng32
·
2020-02-26 11:17:03 +08:00
· 1830 次点击
这是一个创建于 1727 天前的主题,其中的信息可能已经有所发展或是发生改变。
简单起见, 假设都在一个 chain 中, 每个 rule 是 /32 地址, ACCEPT 或 DROP
rule
iptables
Accept
drop
4 条回复
•
2020-02-26 11:36:48 +08:00
1
zhs227
2020-02-26 11:19:09 +08:00
建议使用 ipset,只知道效率很低,具体有多低不知道。基本上相当于 O(n)?
2
feng32
OP
2020-02-26 11:32:47 +08:00
@
zhs227
我知道 ipset,只是有点好奇 iptables 原始规则是不是真的那么低效
3
ipwx
2020-02-26 11:35:04 +08:00
iptables 应该是 O(n),不然管不住它这么复杂的规则。
用上 ipset 应该可以 O(logN)。
4
ipwx
2020-02-26 11:36:48 +08:00
@
feng32
iptables 非常强大,规则之间有先后匹配顺序。现在有两条路,第一是让运维人员用 ipset 优化规则集,第二是算法自动优化。考虑到人工都优化不了的规则集,算法肯定优化不了,所以我觉得这个优化器大概率内核没写。(摊手
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
5523 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms ·
UTC 05:57
·
PVG 13:57
·
LAX 21:57
·
JFK 00:57
Developed with
CodeLauncher
♥ Do have faith in what you're doing.