カーネル: nf_conntrack: テーブルがいっぱいでパケットが破棄されました。

カーネル: nf_conntrack: テーブルがいっぱいでパケットが破棄されました。

私はARM9プロセッサに基づいて修正されたLinuxバージョンを持っています。うまくいきましたが、昨日、次のエラーが繰り返し発生しました。

kernel: nf_conntrack: table full, dropping packet

2つの質問があります。

  • 問題の原因をどのように知ることができますか? (機器が1年以上問題なく動作しています。)
  • 私はいくつかの調査を行い、一時的にテーブルサイズを増やしてからecho "5096" > /proc/sys/net/ipv4/netfilter/ip_conntrack_maxプロセッサを再プログラムすることでこの問題を解決できました。テーブルサイズを永久に増やす方法は?

編集する:(追加情報)

  • の出力uname -mrsLinux 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

  • ボード上の2つの物理イーサネットインターフェイスをループバックし、同じ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

関連情報