nuym's blog

开出的是一片春光,落下的是一片春景。

nuym avatar

Author

nuym

学生 · 技术爱好者

Telegram

我的频道

不定期分享动态和想法

t.me/nuymshome
联系方式
QQ
发送邮件

修改openwrt连接数上限的问题

修复 nf_conntrack: expectation table full 的问题

nuym
nuym 作者
2025-08-20
更新于 08-20
预计阅读 3 分钟
691 字

前情提要

想看解决方法直接下滑到解决方案

在某一天,博主发现自己玩CS2突然会延迟突然升高后缓慢下降,丢包严重,但是延迟通信正常,博主初步怀疑为clash的锅,但是以前clash挂规则状态游玩挺正常的,是最近突然这样的,博主检查自己的openwrt,想看看是不是有设备在疯狂上传,初步怀疑是我父亲下的免费视频软件在偷我的流量上传,关上电视后立马好了许多,但是情况不久,仍然这样,后有教程说关掉全锥形NAT,但仍不起作用(博主这里犯了个严重错误,应该先看日志的),后来就重置了openwrt,关闭了家里云(罪魁祸首),然后一切正常,但是开启家里云就会仍然丢包,我开始给家里云限制连接数,但仍不起作用。这里百思不得其解,查看日志后,发现一直在输出 nf_conntrack: expectation table full,这才发现问题。

通过命令后发现

command_result

默认的连接数较小,需要调高。

解决方案

打开管理页面自带的文件管理,或使用命令行。

file_manager

找到/etc/sysctl.conf

kernel.panic=3
net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.all.arp_ignore=1
net.ipv4.ip_forward=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.tcp_ecn=0
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=120
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_timestamps=0
net.core.netdev_max_backlog=30
'''net.netfilter.nf_conntrack_checksum=0
net.netfilter.nf_conntrack_max=65535
net.netfilter.nf_conntrack_tcp_timeout_established=3600
net.netfilter.nf_conntrack_udp_timeout=60
net.netfilter.nf_conntrack_udp_timeout_stream=180'''
net.ipv4.netfilter.ip_conntrack_checksum=0
net.ipv4.netfilter.ip_conntrack_max=65535
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3600
net.ipv4.netfilter.ip_conntrack_udp_timeout=60
net.ipv4.netfilter.ip_conntrack_udp_timeout_stream=180
net.ipv6.conf.all.forwarding=1
# disable bridge firewalling by default
net.bridge.bridge-nf-call-arptables=0
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0

这个是参考文件,重点是net.netfilter.nf_conntrack_max=65535

但博主的版本是空的,如果你是上述情况,可以忽略下文。

# Defaults are configured in /etc/sysctl.d/* and can be customized in this file

目光跳转到/etc/sysctl.d/11-nf-conntrack.conf

修改如下所示

# Do not edit, changes to this file will be lost on upgrades
# /etc/sysctl.conf can be used to customize sysctl settings
net.netfilter.nf_conntrack_acct=1
net.netfilter.nf_conntrack_checksum=0
net.netfilter.nf_conntrack_max=65535
net.netfilter.nf_conntrack_expect_max=65535
net.netfilter.nf_conntrack_tcp_timeout_established=7440
net.netfilter.nf_conntrack_udp_timeout=60
net.netfilter.nf_conntrack_udp_timeout_stream=180
net.netfilter.nf_conntrack_helper=1

部分人可能没有net.netfilter.nf_conntrack_expect_max=65535这一行,可以考虑删去。

保存退出,或者上传覆盖,重启解决问题。

How do you like this post?

Leave a like if it helped you.

分享这篇文章

知识因分享而增值

标签

教程
openwrt

版权声明:本文作者为 nuym,首发于www.nuym.cn

遵循 CC BY-NC-SA 4.0 许可协议。转载请注明出处!