nf_conntrack: table full, dropping packet.
리눅스/Network2015. 1. 26. 17:47
반응형
[요약]
커널 2.6.x 버전 이상에서...
현재 nf_conntrack 접속량 확인
# cat /proc/sys/net/netfilter/nf_conntrack_count
수용 가능한 접속량 확인
# cat /proc/sys/net/nf_conntrack_max
무한정 설정
# echo 0 > /proc/sys/net/nf_conntrack_max
> 접속량을 더 수용하기 때문에 cpu load 가 좀더 올라간다.
connection 이 정상 처리되는것이므로 상황에 따라 약간 올라가는 정도는 무시해도 된다.
========================================
# 시스템에서 처리할수 있는 패킷이 초과되면서 이후 패킷에 대해서 drop처리되는 메세지
ping 으로 확인시 시스템이 다운된것처럼 체크됨
Jul 31 18:41:00 www kernel: nf_conntrack: table full, dropping packet.
Jul 31 18:41:06 www kernel: nf_conntrack: table full, dropping packet.
Jul 31 18:41:10 www kernel: nf_conntrack: table full, dropping packet.
Jul 31 18:41:15 www kernel: nf_conntrack: table full, dropping packet.
ping 으로 확인시 시스템이 다운된것처럼 체크됨
Jul 31 18:41:00 www kernel: nf_conntrack: table full, dropping packet.
Jul 31 18:41:06 www kernel: nf_conntrack: table full, dropping packet.
Jul 31 18:41:10 www kernel: nf_conntrack: table full, dropping packet.
Jul 31 18:41:15 www kernel: nf_conntrack: table full, dropping packet.
# conntrack 모듈이란....
2.6.x 버전이상에는... nf_conntrack 이라는 명칭이며....이하는 ip_conntrack
ESTABLES 관련이 있으며 현접속상태에 대한 정보를 일정시간동안 시스템에서 기억하는 모듈이다.
대게 FTP 접속하고 관련이 있는데....FTP 특성상 접속을 맺는포트 (20번) 데이타 전송포트 (21번)으로
분리되어있다보니... 세션이 이루어지고 데이타 전송되는 SRC IP / DST IP 정보를 담고있어야 된다.
이에 CONNTRACK 테이블에 해당 정보를 가지고 있음....
ex)
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
2.6.x 버전이상에는... nf_conntrack 이라는 명칭이며....이하는 ip_conntrack
ESTABLES 관련이 있으며 현접속상태에 대한 정보를 일정시간동안 시스템에서 기억하는 모듈이다.
대게 FTP 접속하고 관련이 있는데....FTP 특성상 접속을 맺는포트 (20번) 데이타 전송포트 (21번)으로
분리되어있다보니... 세션이 이루어지고 데이타 전송되는 SRC IP / DST IP 정보를 담고있어야 된다.
이에 CONNTRACK 테이블에 해당 정보를 가지고 있음....
ex)
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 임시방편으로는 conntrack 테이블갯수를 늘려준다...
[monawa.com, /proc/net > cat /proc/sys/net/nf_conntrack_max
65536 ==> 기본...
[monawa.com, /proc/net > cat /proc/sys/net/nf_conntrack_max
65536 ==> 기본...
아래와 같이 늘려주면 되나....접속량자체가 많은것이므로 문제해결에 대한방법은아니며 해당 커널변수를
무한정으로 그리고 수치를 크게 늘리게 되면 시스템에 타 기능에 문제가 발생될 소지가 많음
echo 100000 > /proc/sys/net/nf_conntrack_max
echo 0 > /proc/sys/net/nf_conntrack_max ==> 무한정
무한정으로 그리고 수치를 크게 늘리게 되면 시스템에 타 기능에 문제가 발생될 소지가 많음
echo 100000 > /proc/sys/net/nf_conntrack_max
echo 0 > /proc/sys/net/nf_conntrack_max ==> 무한정
# nf_conntrack 관련모듈
lsmod |grep conntrack
nf_conntrack_ipv4 17225 4
nf_conntrack_ftp 16489 0
nf_conntrack 65217 3 nf_conntrack_ipv4,xt_state,nf_conntrack_ftp
nfnetlink 13321 2 nf_conntrack_ipv4,nf_conntrack
lsmod |grep conntrack
nf_conntrack_ipv4 17225 4
nf_conntrack_ftp 16489 0
nf_conntrack 65217 3 nf_conntrack_ipv4,xt_state,nf_conntrack_ftp
nfnetlink 13321 2 nf_conntrack_ipv4,nf_conntrack
# nf_conntrack 현재 접속카운트
watch -d cat /proc/sys/net/netfilter/nf_conntrack_count
# nf_conntrack 접속정보를 담고있는 부분
[monawa.com, /proc/net >pwd
/proc/net
[monawa.com, /proc/net >cat nf_conntrack
#### 시스템 커널변수값 수정사항 ####
[monawa.com, /proc/sys/net/netfilter >cat nf_conntrack_tcp_timeout_established
432000
[monawa.com, /proc/sys/net/netfilter >echo 3600 > nf_conntrack_tcp_timeout_established
432000
[monawa.com, /proc/sys/net/netfilter >echo 3600 > nf_conntrack_tcp_timeout_established
# 초기값 65535
echo 100000 > /proc/sys/net/nf_conntrack_max
echo 100000 > /proc/sys/net/nf_conntrack_max
# 초기값 60
echo 30 > tcp_fin_timeout
echo 30 > tcp_fin_timeout
##########################################
반응형
'리눅스 > Network' 카테고리의 다른 글
실시간으로 서버 트래픽 확인하는 스크립트 (0) | 2015.01.26 |
---|---|
CentOS 6 에서 본딩 (bonding) 구성 (0) | 2015.01.26 |
SYN 숫자 체크후 HOST_IP 차단쉘 / syn flooding (0) | 2015.01.26 |
SYN Fooding공격을 감지하여 메일로 받기 (0) | 2015.01.26 |
ip_conntrack 사용 확인 (0) | 2015.01.26 |
댓글()