论坛风格切换切换到宽版
  • 712阅读
  • 8回复

[问题求助]iptables过滤表性能问题 [复制链接]

上一主题 下一主题
离线gfmv.
 
发帖
2076
C币
-60690
威望
375
贡献值
1
银元
-1
铜钱
4711
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我在FORWARD链上配置100条简单规则(源IP,目的IP,源端口,目的端口).,以每秒1000pp.s速度发包,FORWARD链上接收速率为800多pp.s;教育
如果配.置1000条.、10000条简单规则,接收速率就相当低了,不超过两位数。             汽车
不知道性能为什么这么低,我自.己写的过滤程序,也是使用简单的规则,在10000条规则集下可以达到8000pps的接收速率,不明白iptables的性.能瓶颈出在哪里,还是我用的方式不对,各位大侠能.否指教一二?[成人用品]
机子的配置是老赛扬2.0.G 512M内存,.10/100M网卡。--------------彩票

======.=============.=================    美容
是我查看失误。
最后应用附.件中的规则集,接收率在2000pps~4000pps.之间。.

[ 本帖最后由. springtty 于 2009.-4-10 23:32 编辑 ]<性病>
http://upload.bbs.csuboy.com/Mon_1004/126_6888_bfa1cad875ad9ed.gif[/img]udp_rules.zip (30.02 KB) 下载次数:23--------------彩票
2009-04.-06 21:46.

配置规则及配置脚本
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线kartoffel.
发帖
2121
C币
-235440
威望
424
贡献值
1
银元
-1
铜钱
4842
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
请将规则发上来分析语法问题

发帖
2130
C币
-60329
威望
399
贡献值
1
银元
-1
铜钱
4691
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13


QUOTE:原帖由 kns1024wh 于 2009-4-6 21:28 发表
请将规则发上来分析语法问题

刚刚增加了附件,也发你邮箱一份。
看看我这样配置是不是有问题,我这个脚本从配置文件读规则,然后一条一条的提交,提交的过程也很慢,这个可以理解。
但是我想iptables/Netfilter用的是线性匹配,速率不应该相差这么大,我听说iptables在10000条规则情况下,应该在2500~3000pps之间。

离线yinghua568.
发帖
2106
C币
-193246
威望
397
贡献值
1
银元
-3
铜钱
4783
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
数据包应该都是正确的,目的地址都能被路由。
当我把FORWARD规则清空时,速率就正常了。
对了,我是使用iptables -L -n -v 显示的。

离线asovo.
发帖
1976
C币
-139519
威望
347
贡献值
1
银元
-1
铜钱
4346
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
是否可以使用子网的方式进行匹配呢

离线fd6770448.
发帖
2085
C币
-140547
威望
409
贡献值
1
银元
-3
铜钱
4698
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13


QUOTE:原帖由 kns1024wh 于 2009-4-6 22:05 发表
是否可以使用子网的方式进行匹配呢

源IP是通过子网方式匹配的,其实iptables/Netfilter匹配时,都是使用smask&sip == rules.sip & rules.smask 这种比较方式吧,即都与掩码相与,然后看是否相等

离线veblen.
发帖
1940
C币
-60826
威望
339
贡献值
1
银元
-3
铜钱
4247
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 springtty 于 2009-4-6 22:22 发表

源IP是通过子网方式匹配的,其实iptables/Netfilter匹配时,都是使用smask&sip == rules.sip & rules.smask 这种比较方式吧,即都与掩码相与,然后看是否相等



规则写得太没效率了,

1.新建两个链,分别为udp和tcp
2.在你做过滤的端口,filter 表的input链中将tcp和udp分别转向至上面新建的两个链,
3.分别在新建的链中应用规则,比喻你的UDP1000,使用iprange,你的那1000条规则完全可以写成50个,目地地址分别是1-20的主机写在一个range中

离线yulingli.
发帖
1912
C币
-235952
威望
344
贡献值
2
银元
-2
铜钱
4187
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13


QUOTE:原帖由 kevin.tan 于 2009-4-7 12:34 发表



规则写得太没效率了,

1.新建两个链,分别为udp和tcp
2.在你做过滤的端口,filter 表的input链中将tcp和udp分别转向至上面新建的两个链,
3.分别在新建的链中应用规则,比喻你的UDP1000,使用iprange ...

谢谢各位的建议哈,这几个规则集是用程序生成的,我只是测试iptalbes线性匹配的性能,这并不是真正的应用。
目前我写了一个算法,做到了在10000条这种BT规则集下达70000pps的接收速率,等我写完论文答辩通过了,我会把论文给大家分享。

离线pkx520.
发帖
2006
C币
-235498
威望
354
贡献值
1
银元
-4
铜钱
4577
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13


QUOTE:原帖由 springtty 于 2009-4-7 14:20 发表

谢谢各位的建议哈,这几个规则集是用程序生成的,我只是测试iptalbes线性匹配的性能,这并不是真正的应用。
目前我写了一个算法,做到了在10000条这种BT规则集下达70000pps的接收速率,等我写完论文答辩通过 ...


哇,恭喜楼主,原来是牛人,献丑了,不要介意, 期待分享你的成果

ps 对于规则超过一定数目下的netfilter,可以看看这个项目http://www.hipac.org/

快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个