刷了 OpenWrt 之后,大部分人就停在「能用」这一步了。其实花半小时调调设置,网速和延迟的改善还是挺明显的。下面是 10 个实测有效的优化点。
1. 选对无线信道
周围邻居多的话,信道冲突是最常见的速度杀手。先用 iwinfo 看看周边情况:
iwinfo wlan0 scan2.4GHz 选 1、6、11 三个不重叠信道里人最少的那个;5GHz 一般 36、40、44、48 都行,DFS 信道(52-144)看路由器支不支持。
2. 开硬件转发
这一步对吞吐量影响最大。在 /etc/config/network 里加上 flow offloading:
config device
option name 'br-lan'
option type 'bridge'
option flow_offloading '1'
option flow_offloading_hw '1'
注意不是所有芯片都支持硬件卸载,MT7621 和 IPQ 系列没问题,其他的先查查。
3. DNS 别用默认的
默认 dnsmasq 够用,但换成 dnsmasq-full 功能多不少:
opkg update
opkg install dnsmasq-full
上游 DNS 推荐:
- 国内用 223.5.5.5(阿里)或 119.29.29.29(腾讯)
- 有梯子的话 1.1.1.1 或 8.8.8.8
4. QoS 限速
家里设备多的话,一个人下载就能把全家拖垮。装个 SQM:
opkg install luci-app-sqm
在 LuCI 里设好上下行带宽(填实际带宽的 85%-90%),算法选 cake,效果比 fq_codel 好一些。
5. 开 BBR
TCP 拥塞控制换成 BBR,对高延迟链路有改善:
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
6. 无线功率别拉满
功率开到最大反而容易和邻居互相干扰。建议值:
- 2.4GHz:15-20 dBm
- 5GHz:20-23 dBm
小户型甚至可以再低一点。
7. 关掉不用的服务
路由器内存和 CPU 都有限,少跑几个进程:
/etc/init.d/uhttpd disable # 如果不用 LuCI 的话
/etc/init.d/dropbear enable # SSH 留着
8. 考虑 ImmortalWrt
官方 OpenWrt 对国内用户不太友好,ImmortalWrt 在中文支持、软件源和驱动方面做了不少补充,维护也很活跃。
9. 清理日志
路由器存储空间有限,日志堆多了会占内存:
echo "" > /var/log/messages也可以把日志转发到远程 syslog 服务器,别都堆在本地。
10. 装个监控
luci-app-statistics 可以实时看 CPU、内存和流量。出了问题有数据能查,比盲猜强。
实际效果
在 MT7621 设备上测的,优化前后大概是这样:
- 延迟:15ms → 8ms 左右
- NAT 吞吐:600Mbps → 900Mbps 出头
- 并发连接数翻了一倍
不同硬件结果会不一样,别期望每台都能提这么多。
最后提醒一句:改完记得 sysupgrade -b /tmp/backup.tar.gz 备份配置,万一搞坏了还能恢复。
评论
暂无评论