免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 人面兽心
打印 上一主题 下一主题

[网络管理] Iptables 的效率问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-11-19 14:13 |只看该作者
性能并不是由遍历规则的数量决定的,而是由比较的次数决定的。

论坛徽章:
0
12 [报告]
发表于 2007-11-19 14:23 |只看该作者
原帖由 fuleru 于 2007-11-19 14:13 发表
性能并不是由遍历规则的数量决定的,而是由比较的次数决定的。

比较的次数和遍历的数量有什么不同吗?
你否定“遍历规则的数量”的依据又是什么?

论坛徽章:
0
13 [报告]
发表于 2007-11-19 14:31 |只看该作者
想不到引发了这么热烈的讨论,哈哈
实践证明:
本人去掉了上千条规则和只放一两条规则,服务器速度,网速等,适乎没有很大的区别

[ 本帖最后由 人面兽心 于 2007-11-19 14:34 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2007-11-19 14:39 |只看该作者
呵呵,没有读过kernel firewall的源代码。所以具休的情况也不太了解。

Linux Firewalls, Third Edition

第五章讲的就是优化的问题。

What is perhaps least obvious, unless you've read the kernel firewall code, is that the real performance issue isn't the number of rules traversed, per se, but the number of comparison tests performed.

所以使用用户自定义规则链还是有一定道理的。。。

论坛徽章:
0
15 [报告]
发表于 2007-11-19 14:56 |只看该作者
原帖由 人面兽心 于 2007-11-19 14:31 发表
想不到引发了这么热烈的讨论,哈哈
实践证明:
本人去掉了上千条规则和只放一两条规则,服务器速度,网速等,适乎没有很大的区别

做技术要严谨……

论坛徽章:
0
16 [报告]
发表于 2007-11-19 14:57 |只看该作者
原帖由 fuleru 于 2007-11-19 14:39 发表
呵呵,没有读过kernel firewall的源代码。所以具休的情况也不太了解。

Linux Firewalls, Third Edition

第五章讲的就是优化的问题。

What is perhaps least obvious, unless you've read the kernel f ...

对啊,这不就是“遍历”吗?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
17 [报告]
发表于 2007-11-19 15:50 |只看该作者
条目少一些总是好事情。谁知道是不是总和最后一条匹配。

论坛徽章:
0
18 [报告]
发表于 2007-11-19 16:01 |只看该作者
有影响是必然的,感觉没什么影响,那是因为压力不够或者是因为established的原因
而实际中,因为基于状态检测而且由于并发的数量不多,所以感觉不出影响
用压力测试才能看出规则的影响到底多大

论坛徽章:
0
19 [报告]
发表于 2007-11-19 16:32 |只看该作者
原帖由 springwind426 于 2007-11-18 09:44 发表
iptables-save -c

看看计数,应该大致能够估算那上千条规则是如何遍历的。

我觉得,用一个效率更高的检测IP的模块会比一条条罗列规则会更有效率

就象同时要禁止多个端口的时候,更多的人是选择用multi ...

赞同,“精心构造规则的排列顺序”提高命中率

除了这些之外,我还认为自定义链是有必要的,比喻说,tcp的就放到tcp的链,udp的放到udp,ICMP的放到ICMP,如下图

                               | tcp chain---tcp rule     |

input packet ------>  | udp chain-- udp rule   | --------> decide ACCEPT or DROP

                               | icmp chain --icmp rule |

这样比:
input packet -------> tcp rule -----> udp rule-----> icmp rule ----> decide ACCEPT or DROP好些

比喻说假如一个icmp包进入,上面就不须经过tcp 和udp了

论坛徽章:
0
20 [报告]
发表于 2007-11-19 22:29 |只看该作者
对,所以还看数据包经过 netfilter 框架需要遍历的规则数量,而不是看实际有多少条规则
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP