家用网络折腾记:OpenWrt 软路由的初次上手指南¶
为什么折腾软路由¶
原厂路由器固件的限制摆在明面上:功能靠插件挤牙膏、固件更新慢、某些功能直接被阉割。OpenWrt 是一个开源的嵌入式 Linux 发行版,把路由器从"只能设置 Wi-Fi 密码"的黑盒子,变成了一台可以自由折腾的迷你服务器。
常见的诉求都能在 OpenWrt 上找到答案:
- 广告拦截(Adblock / AdGuard Home)
- 局域网内 DNS 解析自定义
- 多 WAN 负载均衡
- 端口转发、UPnP 精细控制
- 甚至把路由器变成小型 NAS / 下载机
一、硬件选择¶
方案 A:刷机现有路由器(零成本)¶
查一下路由器型号在 OpenWrt 官网的 Table of Hardware(TOH)页面,确认有官方固件支持。常见支持良好的型号:TP-Link 部分型号、小米某些型号、GL.iNet 全线。
风险提示:刷机有变砖可能,务必先确认不死引导(如 breed、U-Boot),做好备份。
方案 B:X86 软路由(折腾上限高)¶
退役旧电脑、J4125/N100 迷你主机 + 双网口网卡。性能冗余大,可以同时跑路由、Docker、代理、NAS。预算从 300 元到 3000 元不等。
新手建议:先用手头现有的路由器刷 OpenWrt 练手,熟悉了系统再考虑 X86 软路由,别一上来就买新硬件。
二、刷机流程¶
以主流型号为例,通用步骤:
- 备份原厂固件:登录原厂 Web 界面导出配置备份
- 进入不死引导:部分路由器按 Reset 键上电进入
- 上传固件:通过不死引导 Web 页面刷入 OpenWrt 的 sysupgrade 固件
- 等待重启:默认 IP 192.168.1.1,用户名 root
# 刷入后先确认网络
ping 192.168.1.1
# SSH 登录
ssh root@192.168.1.1
三、基础配置清单¶
1. 修改密码和开启 SSH¶
passwd # 设置 root 密码
uci set dropbear.@dropbear[0].PasswordAuth='on'
uci commit dropbear
2. 配置 WAN 口¶
原厂固件的上网方式(PPPoE 拨号 / DHCP)需要手动设置:
# 以 PPPoE 为例
uci set network.wan.proto=pppoe
uci set network.wan.username='运营商账号'
uci set network.wan.password='运营商密码'
uci commit network
ifup wan
3. 更新软件源和系统¶
opkg update
opkg upgrade
国内网络环境可以换用镜像源,修改 /etc/opkg/distfeeds.conf 里的 URL 前缀即可。
四、几个立竿见影的实用配置¶
Adblock 广告拦截¶
opkg install adblock luci-app-adblock
配置好 feeds 之后,局域网内所有设备都能自动过滤常见广告域名,智能电视、手机的广告都能压一压。
自定义 DNS¶
编辑 /etc/config/dhcp:
config dnsmasq
option domainneeded '1'
option noresolv '0'
list server '223.5.5.5'
list server '119.29.29.29'
把上游 DNS 换成国内公共 DNS,解析速度和准确度都更好。
定时重启¶
# 每天凌晨 4 点自动重启(缓解内存泄漏)
echo "0 4 * * * reboot" >> /etc/crontabs/root
/etc/init.d/cron restart
五、踩坑记录¶
- 升级固件别勾选"保留配置":跨大版本升级时,旧的配置文件可能不兼容,出问题先试不保留配置重刷
- Wi-Fi 信道别乱调:2.4G 固定 1/6/11,5G 优先 36-48,避开雷达信道
- USB 网卡驱动:很多 USB 网卡需要额外装 kmod 驱动,买之前查 TOH
- 别在路由器上跑太重的东西:路由器内存普遍只有 128-512MB,跑 Docker 前先看内存
六、进阶方向¶
熟悉基础之后可以尝试:
- 旁路由模式:主路由不动,OpenWrt 作为旁路由接管 DNS 和代理
- Docker 上软路由:X86 机器上用 Docker 跑 OpenWrt,主系统做更多事
- 多拨与负载均衡:支持多拨的地区可以叠加带宽
- 网络监控:vnStat、netdata 监控流量和设备在线状态
折腾网络的最大乐趣,在于每一次配置都能看到立竿见影的变化。但也要记住:稳定压倒一切,生产环境(家人上网)优先保证稳定,实验性的配置放到旁路由或测试环境。