conntrack 表满了,新连接被丢
流量一大,新连接开始超时,dmesg 里刷:
nf_conntrack: table full, dropping packet
连接跟踪表满了。看当前用量和上限:
sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_max
cat /proc/sys/net/netfilter/nf_conntrack_count
短连接多(比如大量 HTTP 请求走 NAT)时,表项消耗很快。两个方向:调大 nf_conntrack_max(同时要调 nf_conntrack_buckets,否则哈希链变长,查找变慢),或者减少跟踪——对纯转发流量用 NOTRACK 跳过。
注意 conntrack 每条约 300 字节内存,调到百万级要算内存账,别把小机器撑爆。