OpenWrt 配置过程
背景
前几天打扫屋子的时候,在厨房阳台上的一个箱子里发现了 Mala 失散多年的树莓派 3B+。
Mala 以前一直以为它是被家长扔了,然而并没有。
初二的时候买它的用途是学习 Web 服务器搭建。不过事实上似乎并没有什么用——用的 LAMP 搭建教程全都过时了……
不过现在 Mala 把它拿到手正好有个用途。靠近 Mala 房间的路由器坏掉了,如果把树莓派刷成软路由的话,就可以顶上去。反正家里宽带是 50M 的,就算树莓派带宽只有 100M 也绰绰有余了。
再加上 Mala认识的一个xyn 最近利用自己的 VPS 提供了一些魔法给熟人,Mala 想要好好利用一下。如果有软路由的话,就可以免除在各种设备上配置的麻烦事情了。
而 Mala 最熟悉名字的开源软路由系统,就是 OpenWrt。
安装
找到合适的系统镜像
在网络上搜索,Mala 查找到了一个专为各类开发板设计的 OpenWrt 分支,OpenWrt-rpi。它基于 ImmortalWrt 这一 OpenWrt 分支,在后者的基础上进一步提供了大量优化,以及更为人性化的图形用户界面。
进入项目的 releases 板块,Mala 发现 OpenWrt-rpi 对于不同体系结构、不同 CPU 的开发板均有支持,包括但不限于 x86-64、armv8 等。查阅资料得知,树莓派 3B+ 的芯片是 BCM2710。
同时,在同一处理器的板块下,还有几种不同类型组合的镜像。
首先它们的名字可能带有 ext4、rootfs 与 squashfs 中的一种。它们表示镜像的文件系统。ext4 和 rootfs 的主分区文件系统都是 ext4,但是 rootfs 镜像只有主分区,没有引导,需要自行配置。作为小白的 Mala 当然不可能折腾这个。而 squashfs 是用于刷入路由器的只读文件系统,如果配置错误,可以从 squashfs 恢复缺省设置。
然后,它们的名字可能包含 factory 或 sysupgrade。factory 表示的是从头安装,而 sysupgrade 指的是已经安装好的用户从配置面板上传用来升级的镜像。Mala 此次是首次安装,因此选择 immortalwrt-bcm27xx-bcm2710-rpi-3-ext4-factory.img.gz 下载下来安装。
刷入 TF 卡
树莓派安装系统的方式,是把操作系统镜像文件刷到支持的储存卡里面。而树莓派 3B+ 支持的,就是 TF 卡(MicroSDXC)。Mala 手上刚好有一张卖掉 Surface 之后剩下来的本来拿来当硬盘的闪迪 200G TF卡,这就用上了。当然,Mala 不会白白浪费掉 180G 空间只装一个软路由的——后续我们可以扩容 ext4 rootfs,然后使用预装的 transmission、Aria2 等下载机插件让它同时做一个下载机。
刷树莓派用的工具多种多样。目前比较现代化的绿色开源图形化刷写工具是 Etcher,然而 Mala 并没有用它。第一是因为它曾经废了 Mala 一张金士顿储存卡,Mala 有心理阴影;第二是因为它不干净了,有广告推销自家的 Etcher 硬件。Mala 喜欢使用的是没有那么现代化但是依然简单易用的绿色开源图形化刷写工具 Rufus。
把卡插进读卡器然后连电脑,打开 Rufus 之后选择读卡器对应的可移动磁盘和 OpenWrt 镜像文件,点一下“开始”然后一路下一步就可以了。等到进度条走完,弹出读卡器,把卡拔掉。
首次连接
连接硬件
首先把刷入了系统镜像的卡塞进树莓派的卡槽(金手指面向板),然后找个功率大点的充电器,用 microUSB 2.0 线缆给树莓派供电。树莓派没开关,插电就开始闪电源灯和硬盘(TF 卡)灯了。
切记,这一步不能插网线!不能插网线!不能插网线!
初次配置
作为一个无线路由器,树莓派软路由应该有一个有线 WAN 口连接家里光猫,连上广域网。同时还应该有个无线 LAN 口,管所有连在它上面的设备。
Mala 在通电 30 秒后即可搜索到 OpenWrt 的 WiFi,连接后浏览器打开 192.168.1.1 就可以进到树莓派配置界面了。默认账号 root,密码 password。这时候电脑是没有网的,为了尽快恢复互联网连接,Mala 首先处理的是这些网口的问题。
家中网关是光猫,192.168.1.1。但是很明显现在软路由也是这个地址,那就冲突了。这就是为什么第 3.1 步不能插网线,因为如果插了,那 192.168.1.1 打开就是光猫管理界面,开幕雷击了属于是。Mala 被这个雷击了一下(……现在知道 Mala 有多小白了么?)因此这个地方需要改。
但是不能忙着改,因为默认配置里面连 WAN 口都没有(……)为了一气呵成地完成最初配置,先要创建 WAN 口。在“网络-接口”设置界面选择“添加新接口”,名称写 WAN,协议选 DHCP 客户端,包括的接口选 eth0。然后点提交,在“防火墙设置”选项卡把接口加进 WAN 区域,“保存&应用”,就搞定这个口了。
然后重配 LAN 口。“网络-接口”设置界面点修改,传输协议是静态地址没错,但是现在是与光猫冲突的。路由器应该管一个网段,所以 Mala 给它配了个 192.168.2.1,因为连在上面的设备 IP 会变的只有最后一位,所以子网掩码是 255.255.255.0。需要注意的是,这里必须得把网关写成它自己(192.168.2.1),不然下次连接配置面板的时候它就不知道往哪路由,然后访问超时,Mala 就再也没法用无线网连上这软路由了。这次安装就算是寄了,得重刷系统镜像。Mala 在这又挨了一次路由器的毒打(……),TF 卡又娇贵,哪经得起一遍遍刷嘛。所以一定得记住。然后就是,默认没有 WAN 口是因为默认所有物理口都被配置到 LAN 上面去了。因此这次编辑还得从“物理设置”选项卡里把 eth0 去掉,不然 WAN 口获取不到 IP 地址,就算静态分配也没用。Mala 这个也不清楚,然后又寄在这好久好久。Mala 好惨,要抱抱。
这样更改之后,点击“保存&应用”,会发现加载界面一直转圈。这是因为连接已经断了——软路由本来是在 192.168.1.1,给配置用的设备(Mala 用的是电脑)分发的 IP 也是 192.168.1.x 网段的。现在它自己变成 192.168.2.1 了,跟电脑就不在一个网段了。因此需要断开电脑的 WiFi 连接,然后重连一次,等待分配与路由器同网段的 IP。能通过 192.168.2.1 登入软路由配置面板表示配置成功了,这时就可以给树莓派插网线了。插上网线之后过几秒就可以在“网络-接口”设置界面看到 WAN 口被分配了 IP 地址,同时 ping 各种国内可以访问的网站都能 ping 通了。恭喜联网。
设置 WiFi 密码
配置过程
设置 WiFi 密码的界面在 “网络-无线”设置界面,对着那个唯一的 Generic MAC80211 802.11bgn (radio0) 网卡点修改。别的都不用管,在“接口配置”那个分组框里面的“无线安全”选项卡里面,加密选择 WPA-PSK/WPA2-PSK Mixed Mode,然后输密码,点“保存&应用”。这时候 Mala 的 WiFi 又会断,因为密码都不对了。又要重连一遍。Windows 可能把新的网重命名成“OpenWrt 2”,属于是正常现象,输密码就行。密码来咯,这输密码多是一件美事啊,输啊,你倒是输啊(错乱
注意事项
其他设置千万不要动!!! 但凡是这种有可能要重连的操作都需要极其谨慎,不然可能直接整个路由器从网上消失。
其他加密方式,以及下面的什么 802.11k 啊什么的,千万不能碰。Mala 试了一下,然后直接所有设备都搜不到路由器了,SSID 都被扬了。实惨
然后就是,连上之后会发现可以访问配置面板,然而所有网站全部超时。这个属于是正常现象捏,需要重启路由器,在“系统-重启”界面重启就可以了,用不着去拔线,更用不着像 Mala 一样傻等 114514 个小时、调了 1919810 次设置,甚至重新刷了一次机,才想起来可能重启会有用。
神必配置
懂得都懂
进“服务-OpenClash”设置界面,“服务器和组策略管理”选项卡,把“一键生成配置文件”勾上,然后直接在最下面的“服务器节点配置”分组框里面点“添加”,然后点“导入配置信息”,会弹个框出来,把订阅链接搁里头,点下这个界面的“保存配置”,会回到上一个界面(但是可以看到服务器加进去了),点下这个页面的“保存配置”和“应用配置”就完事了,剩下的事情软件会自己搞定,懂得都懂。
总结
Mala 太菜了。配个 OpenWrt 都要挂好多次。