我有一个基于 ARM9 处理器的修改版 Linux。它工作正常,但昨天我反复收到此错误:
kernel: nf_conntrack: table full, dropping packet
我有两个问题:
- 我如何找出导致问题的原因(设备已工作一年多,没有任何问题)
- 我做了一些研究,我可以通过暂时增加表的大小来解决这个问题 -
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
。