nuym's blog

返回

修改openwrt连接数上限的问题Blur image

前情提要#

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

在某一天,博主发现自己玩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
plaintext

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

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

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

目光跳转到/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
plaintext

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

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

修改openwrt连接数上限的问题
https://www.nuym.cn/posts/fix-openwrt-nf-conntrack
Author nuym
Published at 2025年8月20日
正在加载评论系统...