다음 계산으로 나온 값을 아래에 적용합니다.
CONTRACK_MAX = RAMSIZE(단위: byte) / 16384 / ( x / 32)
HASHSIZE = CONNTRAK_MAX / 8 = RAMSIZE(단위: byte) / 131072 / (x / 32)
( x의 값은 32비트 머신일 경우 32, 64비트 머신일 경우 64)
만약 메모리가 2G 시스템의 32BIT 시스템의 경우
CONTRACK_MAX = 2048 * 1024 * 1024 / 16384 * 32 = 131072 * 32 = 4194304
HASHSIZE = CONNTRAK_MAX / 8 = 4194304 / 8 = 524288,
RAMSIZE(단위: byte) / 131072 / (x / 32) = 2048 * 1024 * 1024 / 131072 * 32 = 524288
64BIT의 경우 의의 값에서 곱하기 2의 값이 나온다
현재 커널에서의 최대 패킷 전송량의 갯수
[root@ns1 log]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max
32744
현재 커널에서 연결된 패킷 수
[root@ns1 log]# sysctl -n net.ipv4.netfilter.ip_conntrack_count
473
기본커널에서의 패킷량 추가 (나의 시스템은 2기가 및 64BIT )
[root@ns1 log]# echo “8388608” > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
[root@ns1 log]# echo “1048576” > /sys/module/ip_conntrack/parameters/hashsize
변경되었는지 확인
[root@ns1 log]# sysctl -a | grep net.ipv4.netfilter.ip_conntrack_max
net.ipv4.netfilter.ip_conntrack_max = 8388608
- HOME
- 일반