커널: nf_conntrack: 테이블이 가득 차서 패킷이 삭제되었습니다.

커널: nf_conntrack: 테이블이 가득 차서 패킷이 삭제되었습니다.

저는 ARM9 프로세서를 기반으로 한 수정된 Linux 버전을 가지고 있습니다. 잘 작동하지만 어제 다음 오류가 반복해서 발생했습니다.

kernel: nf_conntrack: table full, dropping packet

두 가지 질문이 있습니다.

  • 문제의 원인을 어떻게 알 수 있나요? (기기가 1년 넘게 아무런 문제 없이 작동하고 있습니다.)
  • 저는 몇 가지 조사를 했고 일시적으로 테이블 크기를 늘린 echo "5096" > /proc/sys/net/ipv4/netfilter/ip_conntrack_max다음 프로세서를 다시 프로그래밍하여 이 문제를 해결할 수 있었습니다. 테이블 크기를 영구적으로 늘리는 방법은 무엇입니까?

편집하다:(추가 정보)

  • 의 출력 uname -mrs: Linux 2.6.30.9 armv5tejl;의 출력 cat /proc/version: . 또한 이 배포판에는 .Linux version 2.6.30.9 ([email protected]) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #1 PREEMPT Thu Jan 23 11:58:19 CST 2014/etc/sysctl.conf

  • 보드에 있는 두 개의 물리적 이더넷 인터페이스를 루프백하고 동일한 VLAN에 배치하여 루프를 생성하고 보드를 충돌시키는 방식으로 트래픽을 변경했습니다. 이 바로 뒤에 나타납니다 kernel: nf_conntrack: table full, dropping packet. 그러나 루프를 끊은 후에도 계속 오류가 발생합니다 kernel: nf_conntrack: table full, dropping packet. 이것이 원인일 수 있습니까(어떻게 확인할 수 있습니까?)

답변1

문제는 트래픽 변화일 가능성이 높습니다.

해당 항목을 다음 위치에 넣을 수 있습니다 /etc/sysctl.conf.

net.ipv4.netfilter.ip_conntrack_max = 5096

man 5 sysctl.conf및 을 참조하십시오 man sysctl.

관련 정보