nf_conntrack table full dropping packet 에러 원인 및 조치방법

 

 

 

장애 현상

 

아래 오류와 함꼐 네트워크 통신이 끊겼다.

nf_conntrack: table full, dropping packet.

 

도대체 nf_conntrack 른 무엇이란 말인가...

 

 

nf_conntrack 란?

netfilter가 네트워크에서 발생하는 내용들을 기록하고 추적하기 위한 모듈.

 

모듈을 활성화 한적이 없는데 어떻게 된 영문일까?

 

 

nf_conntrack 모듈이 활성화 되는 경우

 

docker 같은 iptables nat 기능을 사용하는 어플리케이션 또는

iptable의 NAT 명령어를 사용 또는 확인을 하는 경우 자동으로 활성화된다.

 

 

nf_conntrack module 확인

 

1. lsmod | grep nf_conntrack
2. cat /proc/modules | grep nf_conntrack

 

 

conntrack table 최대 크기(nf_conntrack_max 값)

 

cat /proc/sys/net/nf_conntrack_max

 

 

nf_conntrack 현재 접속 개수(nf_conntrack_count 값)

 

cat /proc/sys/net/netfilter/nf_conntrack_count

 

 

조치 방법 

1. nf_conntrack_max의 값을 늘려준다

echo “원하는 최대치 값” > /proc/sys/net/nf_conntrack_max
또는
sysctl.conf net.nf_conntrack_max = 원하는 최대치 값
저장 후 sysctl -p로 적용

 

2. nf_conntrack 모듈 제거

1. iptables stop 
2. iptables rule 중에 state 구문이 들어가는 rule을 삭제
3. rmmod nf_conntrack
4. iptables start

 

1.번은 근본적인 해결책이 아니므로(최대값을 또 다시 초과하는 경우)

2번  nf_conntrack 모듈을 제거하는 방식을 권장한다.

댓글

Designed by JB FACTORY

loading