nf_conntrack表满导致SYN包被静默丢弃,需分三步处理:秒级止血(临时扩容+清理INVALID/UNREPLIED连接)、精准定位(查源IP、端口、状态分布)、长效防复发(调参+NOTRACK绕过+禁用ALG+架构优化)。
遇到
,说明内核连接跟踪表已满,新连接首包(尤其是SYN)被静默丢弃,表现为大量超时、502、curl失败等——这不是警告,是硬性拦截。处理需分三步:秒级止血、精准定位、长效防复发。
一、5秒内恢复业务:临时扩容 + 安全清理
别重启、别等,立刻执行:
临时扩大上限(推荐值按内存估算:每GB内存≈16万条,如32GB设为524288):
同步调整哈希桶数量,避免冲突加剧(建议为 max 的 1/4):
只删无效连接,不中断现有业务:
(比
安全,不破坏 ESTABLISHED/NAT 状态)
二、快速定位根因:查连接分布与异常源头
表满很少是单纯流量大,多是连接滞留或异常行为:
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
看当前占用和峰值:
和
统计连接最多的源IP(常为爬虫、健康检查风暴或攻击):
查高频端口(如DNS、HTTP短连接):
或
确认是否真有大量 TIME_WAIT 或 UNREPLIED 残留:
三、防复发调优:改参数 + 绕跟踪 + 关模块
永久生效必须写入配置并重载:
在
中添加:
(从5天缩至1小时)
(建议60–120秒)
对明确无需跟踪的流量跳过(如本机通信、监控上报):
禁用无关ALG模块(如不用FTP/SIP):
然后卸载:
四、架构级规避(高并发场景必看)
长期靠调参治标不治本:
负载均衡后端节点若仅做L4转发且无状态
防火墙
需求,可评估关闭 conntrack(需确认网络插件支持,如 Cilium/eBPF)
Docker/K8s环境优先使用无 conntrack 依赖的 CNI(如 Cilium),或启用
(Kube-proxy v1.22+)
对外服务启用 HTTP Keep-Alive、gRPC 连接复用,从源头减少短连接数量
关键链路(如 DNS 解析)确保 NetworkPolicy 和安全组放行 53/udp,避免因策略误拦导致重试风暴
nf_conntrack: table full, dropping packetsudo sysctl -w net.netfilter.nf_conntrack_max=524288sudo sysctl -w net.netfilter.nf_conntrack_buckets=131072sudo conntrack -D --state INVALID,UNREPLIEDconntrack -Fcat /proc/sys/net/netfilter/nf_conntrack_countcat /proc/sys/net/netfilter/nf_conntrack_maxconntrack -L | awk '{print $7}' | cut -d= -f2 | sort | uniq -c | sort -nr | head -10conntrack -L | grep "dport=53" | wc -lgrep "dport=80\|dport=443"conntrack -L | awk '{print $4}' | sort | uniq -c | sort -nr/etc/sysctl.confnet.netfilter.nf_conntrack_max = 524288net.netfilter.nf_conntrack_buckets = 131072net.netfilter.nf_conntrack_tcp_timeout_established = 3600net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60iptables -t raw -A PREROUTING -i lo -j NOTRACKiptables -t raw -A OUTPUT -o lo -j NOTRACKecho 'install nf_conntrack_ftp /bin/true' >> /etc/modprobe.d/blacklist.confecho 'install nf_conntrack_sip /bin/true' >> /etc/modprobe.d/blacklist.confsudo modprobe -r nf_conntrack_ftp nf_conntrack_sip--disable-conntrack