天天看點

iptables ip_conntrack_max

iptables ip_conntrack_max

1、what

允許的最大跟蹤連接配接條目

-允許的最大跟蹤連接配接條目:CONNTRACK_MAX(預設值是 2^16=65536 )

-存儲跟蹤連接配接條目清單的哈西表的大小:HASHSIZE

-每個哈西表的條目(叫一個bucket),包含了一個連結起來的跟蹤連接配接條目

-哈希表大小HASHSIZE,表現為 條目bucket的多少,在iptables啟動時在日志中會顯示。

First of all, let us see what IP_CONNTRACK is. It is nothing but the number of sessions that can be handled simultaneously by netfilter in kernel memory.

ip_conntrack_max計算公式:

CONNTRACK_MAX = RAMSIZE (in bytes) / 16384 / (x / 32)

這裡x是指針的bit數,(例如,32或者64bit)

通常,CONNTRACK_MAX = HASHSIZE * 8。這意味着每個連結的清單平均包含8個conntrack的條目(在優化的情況并且CONNTRACK_MAX達到的情況下),每個連結的清單就是一個哈西表條目(一個桶)。

在Linux kernel 2.4.23版本前,使用:

# cat /proc/sys/net/ipv4/ip_conntrack_max

在Linux kernel 2.4.23版本後,使用:

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

對于linux核心2.4.24以後,目前的HASHSIZE值可以在運作時使用下面的指令讀取:

# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_buckets

2、how

# vi /etc/sysctl.conf

# Append this line

>> net.ipv4.ip_conntrack_max = CONNTRACK_MAX

where,

where x is the number of bits in a pointer (for example, 32 or 64 bits).

To save the changes quit the editor and execute the command:

# sysctl -p

原文

[1]http://hi.baidu.com/dreamcast_sh/item/b378d6e04b83b9f42a09a4b5

[2]http://blog.sina.com.cn/s/blog_4078ccd601012crx.html

[3]http://wiki.khnet.info/index.php/Conntrack_tuning

[4]http://www.webhostrepo.com/blog/how_to_increase_ip_conntrack_value

繼續閱讀