ip_conntrack: table full, dropping packet 解决方法

简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://navyaijm.blog.51cto.com/4647068/809421

查看message出现了下面的错误:
kernel:ip_conntrack:table full,dropping packet

通过网上查找资料,找到了解决的方法:

显示当前的会话数: cat /proc/net/ip_conntrack | wc -l 显示系统目前配置的最大 conntrack 数: cat /proc/sys/net/ipv4/ip_conntrack_max # 一旦前者的数字大于后者时,系统就报错,解决办法: echo

81920

> /proc/sys/net/ipv4/ip_conntrack_max # 然后写入 /etc/sysctl.conf

sys.net.ipv4.ip_conntrack_max =

81920

ip_conntrack: table full, dropping packet

ip_conntip_conntrack模块默认的链接超时时间是432000 单位/秒
net.ipv4.ip_conntrack_max 最大net.ipv4.ip_conntrack是根据内存大小划分的。

调整系统内核
vi /etc/sysctl.conf
net.ipv4.ip_conntrack_max = 81920                 
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1500

  最近一个web系统经常报出如下日志信息:Apr 17 16:37:26 www kernel: printk: 135 messages suppressed.

  Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.

  Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.

  Apr 17 16:37:33 www kernel: printk: 139 messages suppressed.

  Apr 17 16:37:33 www kernel: ip_conntrack: table full, dropping packet.

  Apr 17 16:37:37 www kernel: printk: 60 messages suppressed.

  Apr 17 16:37:37 www kernel: ip_conntrack: table full, dropping packet.

  Apr 17 16:37:52 www kernel: printk: 19 messages suppressed.

   Apr 17 16:37:52 www kernel: ip_conntrack: table full, dropping packet.有丢包现象,应该是系统内核屏蔽了网卡功能,此时系统对外表现为连接时通时断,接着执行如下操作:[root@web ~]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max

  65536针对这个问题,可调整以下参数:

echo 180 >/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established  echo 6553600 >/proc/sys/net/ipv4/netfilter/ip_conntrack_max  echo 120 >/proc/sys/net/ipv4/neigh/default/gc_stale_time  echo 10240 >/proc/sys/net/ipv4/neigh/default/gc_thresh1  echo 40960 >/proc/sys/net/ipv4/neigh/default/gc_thresh2  echo 81920 >/proc/sys/net/ipv4/neigh/default/gc_thresh3 

vi /etc/sysctl.conf

net.ipv4.ip_conntrack_max=6553600  net.ipv4.netfilter.ip_conntrack_max=6553600  net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120  net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60  net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120  net.ipv4.neigh.default.gc_thresh1=10240  net.ipv4.neigh.default.gc_thresh2=40960  net.ipv4.neigh.default.gc_thresh3=81920  net.core.rmem_default = 2097152  net.core.rmem_max=16777216  net.core.wmem_max=16777216  net.core.wmem_default = 2097152 

再sysctl -p相关参数说明:ARP支持一个sysctl接口,可以用以配置全局参数或逐个网络接口地进行配制。该sysctl可以通过

/proc/sys/net/ipv4/neigh/*/*

文件或者使用

sysctl

(2)接口来访问。系统中每个接口都在/proc/sys/net/ipv4/neigh/.中有自己的目录。`default'目录中的设置用于所有新建的设备。sysctl相关的时间是以秒为单位,除非特别声明过.

anycast_delay

  对IPv6相邻请求信息的回复的最大延迟时间;目前还不支持anycast。缺省值为1秒。

app_solicit

  这是在使用多路广播探测(multicast probe)前,经过网络连接送到用户间隙ARP端口监控程序的探测(probe)最大数目(见mcast_solicit)。缺省值为0。

base_reachable_time

  一旦发现相邻记录,至少在一段介于base_reachable_time/2和3*base_reachable_time/2之间的随机时间内,该记录是有效的。如果收到上层协议的肯定反馈,那么记录的有效期将延长。缺省值是30秒。

delay_first_probe_time

  发现某个相邻层记录无效(stale)后,发出第一个探测要等待的时间。缺省值是5秒。

gc_interval

  收集相邻层记录的无用记录的垃圾收集程序的运行周期,缺省为30秒。

gc_stale_time

  决定检查一次相邻层记录的有效性的周期。当相邻层记录失效时,将在给它发送数据前,再解析一次。缺省值是60秒。

gc_thresh1

  存在于ARP高速缓存中的最少层数,如果少于这个数,垃圾收集器将不会运行。缺省值是128。

gc_thresh2

  保存在ARP高速缓存中的最多的记录软限制。垃圾收集器在开始收集前,允许记录数超过这个数字5秒。缺省值是512。

gc_thresh3

  保存在ARP高速缓存中的最多记录的硬限制,一旦高速缓存中的数目高于此,垃圾收集器将马上运行。缺省值是1024。

locktime

  ARP记录保存在高速缓存内的最短时间(jiffy数),以防止存在多个可能的映射(potential mapping)时,ARP高速缓存系统的颠簸(经常是由于网络的错误配置而引起)。缺省值是1秒。

mcast_solicit

  在把记录标记为不可抵达的之前,用多路广播/广播(multicast/broadcast)方式解析地址的最大次数。

  缺省值是3。

proxy_delay

  当接收到有一个请求已知的代理ARP地址的ARP请求时,在回应前可以延迟的jiffy(时间单位,见BUG)数目。这样,以防止网络风暴。缺省值是0.8秒。

proxy_qlen

  能放入代理ARP地址队列(proxy-ARP addresses)的数据包最大数目。缺省值是64。

retrans_time

  重发一个请求前的等待jiffy(时间单位,见BUG)的数目。缺省值是1秒。

ucast_solicit

  询问ARP端口监控程序前,试图发送单探测(unicast probe)的次数。(见app_solicit).缺省值是3秒。

unres_qlen

  每个没有被其它网络层解析的地址,在队列中可存放包的最大数目。缺省值是3.

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/809421

目录
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
12 0
|
6月前
|
网络安全 Docker 容器
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
|
11月前
|
网络协议 数据库
nf_conntrack模块导致服务器Drop Packet
nf_conntrack模块导致服务器Drop Packet
115 0
|
SQL 关系型数据库 MySQL
Packets larger than max_allowed_packet are not allowed(mysql数据查询提示:不允许超过允许的最大数据包)解决方案
Packets larger than max_allowed_packet are not allowed(mysql数据查询提示:不允许超过允许的最大数据包)解决方案
244 0