博主时间(UTC+8)
摩羯座
发布于 2026-03-15 / 0 阅读
0
0

OpenWrt网络TCP参数调整

使用 nano 编辑器 (最简单、需安装)

如果你觉得 vi 太难用,可以安装 nano,它更符合现代人的操作习惯。

安装 nano

opkg update
opkg install nano

打开文件

nano /etc/sysctl.conf
  • 修改内容:直接像打字机一样输入即可。

  • 保存退出:按 Ctrl + O 保存,按 回车 确认,然后按 Ctrl + X 退出。

常用的小技巧 (一行命令搞定)

如果你只是想往文件末尾追加一行内容(例如开启 IPv6 转发),连编辑器都不用进:

echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p

TCP文件参数修改 (nano /etc/sysctl.conf)

net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_ecn=0
net.ipv4.tcp_frto=0
net.ipv4.tcp_mtu_probing=0
net.ipv4.tcp_rfc1337=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_adv_win_scale=1
net.ipv4.tcp_moderate_rcvbuf=1
net.core.rmem_max=33554432
net.core.wmem_max=33554432
net.ipv4.tcp_rmem=4096 87380 33554432
net.ipv4.tcp_wmem=4096 16384 33554432
net.ipv4.udp_rmem_min=8192
net.ipv4.udp_wmem_min=8192
net.core.default_qdisc=fq_codel
net.ipv4.tcp_congestion_control=bbr
net.ipv4.conf.all.route_localnet=1
net.ipv4.ip_forward=1
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.default.forwarding=1
fs.file-max=1000000
  • 修改内容:直接像打字机一样输入即可。

  • 保存退出:按 Ctrl + O 保存,按 回车 确认,然后按 Ctrl + X 退出。

⚠️ 关键步骤:使配置生效

修改完文件后,系统不会立即生效。你需要运行以下命令让内核重新读取配置文件:

sysctl -p

⚠️ 报错处理

若使用net.core.default_qdisc=fq报错 No such file or directory 并不一定是指文件找不到了,而是 内核(Kernel)不认识 fq 这个排队规则,或者你的系统中缺少了支持 fq 的内核模块。

这是因为 iStoreOS(以及 OpenWrt)为了节省空间,默认可能没有编译/安装所有的网络调度算法。


解决方法

1.尝试安装缺失的内核模块

大多数情况下,你只需要安装 kmod-sched-core(核心调度包)或者特定的 fq 包:

opkg update
opkg install kmod-sched-core

注:有些固件可能需要安装 kmod-sched-fq,你可以搜索一下:opkg list | grep fq

2.手动加载模块

安装完后,尝试手动加载该模块:

insmod sch_fq

如果命令没报错,再次运行 sysctl -p 应该就能成功了。

3.备选方案:改用 fq_codel

如果你无法安装 fq 模块,或者只是想优化网络,可以使用 OpenWrt 默认支持更好的 fq_codel

  • 编辑 /etc/sysctl.conf

  • net.core.default_qdisc = fq 改为:

net.core.default_qdisc = fq_codel
  • 保存后运行 sysctl -p


评论