注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

【转载】【收录】有关 ip_conntrack 内核模块的配置  

2013-06-24 16:31:35|  分类: linux系统管理 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来自: 李库的邮件

    大家都知道linuxiptables防火墙使用了ip_conntrack 内核模块实现连接跟踪功能,所有的进出数据包都会记录在连接跟踪表中,包括tcpudpicmp等,一旦连接跟踪表被填满以后,就会发生丢包,导致网络不稳定。

 

在大多数系统中,缺省的连接跟踪表大小是65536,可以通过下面2条命令查看缺省大小,

sysctl  net.ipv4.netfilter.ip_conntrack_max

cat  /proc/sys/net/ipv4/netfilter/ip_conntrack_max

 

当需要扩大连接跟踪表时,首先需要先加载ip_conntrack 模块,再通过以下接口进行调整,例如:

modprobe  ip_conntrack

sysctl –w net.ipv4.netfilter.ip_conntrack_max = 655360(放大10倍)。

 

其实,ip_conntrack 模块支持一个隐含的模块参数hashsize(隐含参数意味着通过modinfo ip_conntrack查看时没有给出的模块参数),

连接跟踪表其实是一张hash表,每个hash bucket(桶)有8条记录,因此65536条记录对应8192hash bucket

 

比如缺省配置下加载 ip_conntrack模块时,内核给出的提示信息如下:

ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack

 

如果需要支持655360条跟踪记录的话,只需要将hash bucket设置为81920即可:

 

modprobe  ip_conntrack  hashsize=81920

 

或者添加到 /etc/modprobe.conf 配置文件中:

 

options ip_conntrack  hashsize=81920

 

通过这种方式就可以做到在ip_conntrack模块被加载时就设置好连接跟踪表的大小。

 

相关文章:http://bkeep.blog.163.com/blog/static/123414290200971558462/

 

  评论这张
 
阅读(1088)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018