linux系统nf_conntrack表满会导致新连接丢弃、ssh断连、nat失效;可通过cat /proc/sys/net/nf_conntrack_{max,count}查看状态,临时扩容用echo或sysctl -w,永久配置需修改/etc/sysctl.conf并执行sysctl -p,必要时加载nf_conntrack模块。

Linux系统TCP连接跟踪表(nf_conntrack)满会导致新连接被丢弃、SSH断连、NAT失效等故障,当业务中大量短连接或高并发访问出现“ip_conntrack: table full”内核日志时,必须立即扩大该表大小。
确认当前连接跟踪表使用情况
执行 cat /proc/sys/net/nf_conntrack_max 查看系统允许的最大跟踪连接数;
执行 cat /proc/sys/net/nf_conntrack_count 查看当前已跟踪的连接数;
若后者持续接近前者,说明表已濒临溢出。
临时扩大连接跟踪表上限
方法一:直接写入proc接口(重启失效)
运行 echo 65536 > /proc/sys/net/nf_conntrack_max,该操作立即生效,无需重启服务。
注意:【必须以root权限执行,普通用户会提示Permission denied】
方法二:用sysctl命令临时设置sysctl -w net.nf_conntrack_max=65536,效果与方法一完全相同,但更符合运维习惯。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
永久修改连接跟踪表大小
第一步:编辑系统参数配置文件
运行 sudo vim /etc/sysctl.conf,在文件末尾新增一行:net.nf_conntrack_max = 65536
第二步:加载新配置使设置生效
执行 sudo sysctl -p,系统将重新读取并应用 /etc/sysctl.conf 中的所有参数。
第三步:验证是否成功持久化
重启机器后再次运行 cat /proc/sys/net/nf_conntrack_max,输出应仍为 65536;若恢复默认值(如20000),说明 /etc/sysctl.conf 未被正确加载或存在语法错误。
检查并加载nf_conntrack内核模块(必要时)
某些精简版内核或容器环境可能未默认加载连接跟踪模块。
运行 lsmod | grep nf_conntrack,若无任何输出,需手动加载:sudo modprobe nf_conntrack;
为确保开机自动加载,向 /etc/modules 文件追加一行:nf_conntrack。










