weehours 发表于 2004-12-24 00:35:51

QUOTE
在做NAT的机器上处理ip_conntrack满的方法http://www.chinaunix.net 作者:cgweb发表于:2004-07-16 09:32:34 conntrack 表满的处理方法   前段时间配置的iptables+squid做的proxy server ,一直工作正常。今天我上控制台上发现Jun 18 12:43:36 red-hat kernel: ip_conntrack: table full, dropping packet. Jun 18 12:49:51 red-hat kernel: ip_conntrack: table full, dropping packet. Jun 18 12:50:57 red-hat kernel: ip_conntrack: table full, dropping packet. Jun 18 12:57:38 red-hat kernel: ip_conntrack: table full, dropping packet. IP_conntrack表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip- sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满,那么默认空间时多少?我以redhat为例在内存为64MB的机器上时4096,内存为128MB是 8192,内存为256MB是16376,那末就能在/proc/sys/net/ipv4/ip_conntrack_max里查看、设置。例如:增加到81920,可以用以下命令:echo "81920" > /proc/sys/net/ipv4/ip_conntrack_max那样设置是不会保存的,要重启后保存可以在/etc/sysctl.conf中加: net.ipv4.ip_conntract_max =81920按照此方法改变后一切正常,要是在满了可以加大其值.

DreamCat 发表于 2004-12-24 01:54:51

你转贴的文章有错误。NAT表当中每个连接都占有一定的内存。但并不是 350。所需的内存计算也不正确。不过基本思路是对的。

czw1240 发表于 2004-12-24 03:57:24

QUOTE
Dec 24 01:46:01 031 user.warn klogd: NET: 32 messages suppressed. Dec 24 01:46:01 031 user.warn klogd: ip_conntrack: table full, dropping packet. Dec 24 01:46:06 031 user.warn klogd: NET: 36 messages suppressed. Dec 24 01:46:06 031 user.warn klogd: ip_conntrack: table full, dropping packet. Dec 24 01:46:11 031 user.warn klogd: NET: 51 messages suppressed. Dec 24 01:46:11 031 user.warn klogd: ip_conntrack: table full, dropping packet. Dec 24 01:46:16 031 user.warn klogd: NET: 44 messages suppressed. Dec 24 01:46:16 031 user.warn klogd: ip_conntrack: table full, dropping packet. Dec 24 01:46:21 031 user.warn klogd: NET: 46 messages suppressed. Dec 24 01:46:21 031 user.warn klogd: ip_conntrack: table full, dropping packet.
我的CL也出现了同样的情况郁闷~~~

czw1240 发表于 2004-12-24 03:58:58

CL是要修改哪个文件的?

happyboygd 发表于 2007-1-18 17:45:51

zsbbh 发表于 2007-1-22 17:03:42

治标不治本,要该握手存活时间才行
页: [1]
查看完整版本: {转} 处理ip_conntrack满的方法