- 论坛徽章:
- 0
|
本帖最后由 lujian19861986 于 2011-07-21 09:59 编辑
在应用中,用户可能需要设置阻挡或者qos多个应用程序,比如在线视频,bitcomment,esayEmule等,这样就出现iptables有大量进入L7识别规则。
现在用ipp2p模块,若阻挡规则加在filter表的FORWARD链中,则增加的规则如下:
iptables -t filter -I FORWARD -m ipp2p --ipp2p_onlinevedio -j DROP
iptables -t filter -I FORWARD -m ipp2p --ipp2p_emule -j DROP
iptables -t filter -I FORWARD -m ipp2p --ipp2p_bt-j DROP
iptables -t filter -I FORWARD -m ipp2p --ipp2p_XXX-j DROP
...
在模块的match函数中,用printk打印LOG信息到/var/log/message
发现每个封包会遍历规则进入模块match函数,所以进入match函数的次数就过于频繁,影响识别效率!!!
现在可以做到的动作和所需解决的问题如下:
1.只下一条识别规则,在识别模块中将所要的识别app进行识别(循环调用search_XX()),在skb结构体增加一个栏位(类似nfmark),识别就设置其值,match函数默认return 1,保证可以进入规则的-j TARGET(可以新增动作)。如何在return 1前,在连接跟踪中将设置的值存下来(求助各位大神)???
2.如何利用netfilter的连接跟踪(ip_conntack)加速应用程序的识别
资料:http://bbs.chinaunix.net/thread-2092412-1-1.html# |
|