OpenWrt 软路由初体验
折腾完服务器之后,开始对家里的网络产生了兴趣。听说 OpenWrt 软路由能做的事情很多——流量控制、透明代理、广告过滤……弄了一台旧电脑来试试。
什么是软路由
普通家用路由器(硬路由)是专用硬件+厂商固件,功能固定。软路由是在通用 PC/虚拟机 上跑路由系统,功能完全自定义。OpenWrt 是目前最主流的开源路由系统。
安装方式
我没有物理机,所以先在 VMware 上试水:
- 下载 OpenWrt 的 x86-64 镜像(combined-ext4.img.gz)
- 解压后转成 vmdk 格式
- 虚拟机添加两个网卡:一个桥接(WAN),一个 NAT(LAN)
- 启动后默认 IP 是 192.168.1.1
基础配置
# 登录 SSH
ssh root@192.168.1.1
# 更新软件源
opkg update
# 安装 luci(Web 管理界面)
opkg install luci
# 浏览器访问 192.168.1.1 进入管理界面
LuCI 界面很清晰:网络、系统、服务三个大模块。先配置 WAN 口连光猫拨号,LAN 口连交换机。
第一个插件:广告过滤
opkg install luci-app-adblock
安装后可以在服务菜单里看到 AdBlock,启用后自动拉取广告列表,全屋去广告。效果还不错,很多 APP 的开屏广告没了。
第二个插件:流量统计
opkg install luci-app-statistics
opkg install luci-app-vnstat2
各个设备的流量使用情况一目了然,哪个设备在狂刷数据一眼就能看到。
遇到的坑
1. DNS 解析慢——默认 DNS 服务器在国内可能不稳定,改成阿里 DNS(223.5.5.5)和腾讯 DNS(119.29.29.29)就好了。
2. 无线网卡驱动——旧笔记本的无线网卡 OpenWrt 不一定支持,最好先查兼容列表或者直接插 AP 用。
3. 配置改错连不上——改了网络配置后万一进不去管理界面,可以用 safe mode 恢复:启动时按 Failsafe 按钮,重置配置。
软路由 vs 硬路由
体验下来,软路由的优势是灵活和性能——跑千兆 NAT 完全无压力,还能同时跑很多插件。但功耗和稳定性不如成品硬路由。最终我的方案是:主路由用硬路由保证全家上网,OpenWrt 旁路由模式跑插件。
这次折腾让我对网络协议有了更深的理解。推荐每个玩服务器的朋友都试试软路由,学到的知识对排查网络问题非常有帮助。