网上给出的教程多少都有些问题,所以我综合了一下网上的内容,花了4个小时事件找到了正确的配置方法。

最近家里的路由器坏掉了一个,但是我又懒得去买,又不想等快递。打开商城看了几个后发现这些路由器的配置也太差了吧,宣传什么128M超大内存。。。

突然想到一个树莓派3b+这么低配置的都1GB的内存,同样的价格更高的配置,不如用树莓派做一个试试。

本文搭建的方法单纯的是搭建一个openwrt树莓派路由器,如果你想让其拥有更多功能请查看另一篇 2020 | 树莓派(吃灰派)刷大神改好的openwrt搭建旁路由

一、准备

树莓派3b+、128M或以上的SD卡、openwrt镜像、笔记本电脑(台式电脑有时候会出现无法访问的情况)、网线、rufuse或win32diskImage、putty

我这里用到的是树莓派3b+,所以不需要再购买额外的无线网卡。

准备一张128M大小的SD卡即可刷入openwrt。我用了一张32G的,刷完后发现实际上只用了60M空间。感觉有些过于浪费

openwrt镜像可以前往官网openwrt.org寻找(官网访问起来实在是太慢了,我自己也没再那下载)

我在其他人博客里面发现的下载地址。亲测可用,重要的是它还是汉化好的。

蓝奏云链接:https://www.lanzous.com/ia0jtfi

下载下来是一个压缩包,解压之后就有了.img文件。

二、向SD卡写入openwrt镜像

先看看以前的SD卡是否为空的如果是可以直接用工具写入镜像,如果不为空可以按windows+x键找到磁盘管理,删除原先的卷,在进行格式化即可开始写入。

这里需要用到一个写入系统的工具,rufuse或者Win32DiskImager。

二者任选一个

可以去官网体验极慢速度的下载。(如果有个境外服务器的话下载起来还是很快的,先下载到服务器上,再从服务器下载到本地)也可以直接在360软件管家搜索下载。

三、修改openwrt默认ip地址

由于有一个中国移动的路由器作主路由器,想让树莓派放在主路由器的旁边做旁路由器,但是发现两者ip都是192.168.1.1会发生冲突,所以决定修改openwrt的ip地址。

将SD卡插入树莓派开启电源后,打开笔记本电脑的wifi找到一个开放的openwrt热点,直接连接该热点,使得电脑在树莓派这个局域网之下。

这里的连线其实只有一个电源线,连网线都不用。

在浏览器上输入192.168.1.1,进入openwrt主页。

用户名root

密码password

找到网络-接口可以看到一个默认的LAN口

再点击修改

我这里是将地址改为了192.168.1.2

并填写了网关和DNS服务器。

这里的DNS服务器除了114.114.114.114还可以写一个离自己比较近的服务器ip(我比较懒所以直接抄了一个,写的并不是离自己比较近的DNS服务器)

完成后点击下面的保存,因为后面还有一些要配置的地方,所以只是先保存着。如果点了保存&应用了,电脑ip会发生变化,原先用浏览器访问的192.168.1.1就不会有这个openwrt页面了。千万不要着急。

四、强制使用动态DHCP

由于主路由器可以分配ip,旁路由器也可分配ip,所以为了不让他们互相影响,所以让旁路由器进行强制DHCP。

还是上一步的页面,将鼠标滚动到下方找到高级设置,在强制那打勾。

并且确保ipv6设置里面的三个状态都是禁用的

再点击保存即可,因为还是没有配置完。

五、修改wifi名称并添加密码

点击无线修改

鼠标向下滚动,找到essid,这里是你可以自定义wifi名称的地方

后面的无线安全是设置密码的地方

选择WPA-PSK这种比较复杂的加密方式设置密码。

最后点击保存即可。

六、整个页面的右上角找未保存的配置

点进去后点击保存&应用,等上一小会。

将主路由器通过网线(随便选一个LAN口即可)和树莓派连接。

断开电脑连接的wifi,然后重连。

wifi重新连接成功后点击属性,即可发现树莓派的ip变成了192.168.1.2(截这张图的时候我离树莓派比较远还隔了墙,对于5G频带来说,信号非常弱是情有可原的)

接下来访问后台的时候都是通过搜索192.168.1.2。

七、网速测试对比(百兆带宽下)

主路由器(移动自带的)与旁路由器(树莓派)wifi测试

选择在同一时间先后使用手机测试不同的路由

redmi 8A使用移动路由器测试的结果
honor V9使用自制树莓派路由器测试
honor V9使用移动路由器测试

不论怎么看都是树莓派自建openwrt路由器的性能好一点(直接跑满100M宽带)

而移动自带路由器只能跑一半的带宽

八、额外问题解决

8.1 openwrt的ip未能成功修改

下载putty软件(可通过360软件管家直接下载)

通过wifi将电脑和树莓派连接在同一个局域网中,putty的地址写入192.168.1.1

输入密码password进入控制台

vi /etc/config/network

找到192.168.1.1,将其改成192.168.1.2(实际上前面最后一步里面保存并应用之后应该是已经改成功了)

按i键是修改,改完按esc再按shift+:以及输入wq,意思就是保存并退出。

8.2 重启树莓派后很多东西没有保存

那是因为没有点进去整个页面右上角的 未保存的配置 要点击应用&保存

不点就会发生重启后很多配置的东西都不见的情况

8.3 配置完后还是没有网

检查是否有遗漏步骤或是进行了其他操作,再看看网线有没有插上。

8.4 配置完后网络分配的地址为乱码,并且找不到后台

说明可能将本不应该打勾的地方打上了勾

此时,建议重新写入系统重新来过

点击保存&应用后一直在转圈圈

你可能使用的是台式电脑,并通过网线将树莓派与电脑连接

也有原因是你修改的某些东西会让你从这个地址或wifi中弹出,比如修改了ip地址,原先的地址就没用了,你也不用等它转圈圈了。

直接断开wifi,重新连接看看ip地址是不是已经变成新的ip了。

又比如你修改了wifi的名称或密码,被弹出这个wifi,只需要断开wifi重新连接即可。

8.5 写入openwrt系统后树莓派存储空间变小

这一点我还在思考,虽然能通过电脑新建一个卷增加空间,但是并不能应用在树莓派里,我想应该可以用MiniTool Partition Wizard来进行空间的分配,具体还没有操作过。

更新:实测使用minitool虽然可以分配磁盘,但是分配的并不完美

最终我还是采用了在linux系统上使用gparted进行SD卡扩容。(也可以在虚拟机的linux系统上操作)

之前我自己制作过一个kali linux的U盘启动盘,将其插入电脑。如果想知道kali U盘启动盘的制作可以参考我写的另一篇文章

(等我有时间再写)

进入kali系统,在终端输入 gparted

按回车会出现GUI页面,非常的方便

resize/Move选中部分的空间,将其直接调整到最大

最终点击Apply all operations

最后可能会报错,不用管它,直接close掉,然乎再resize一次,之到鼠标左键选中黄色部分时,带着灰色部分一起被选择了,也就完成了树莓派刷openwrt的SD卡扩容。

接着再看磁盘空间的时候,我们可以看到

该图是通过另一个版本的openwrt
详情配置请看这里

8.7 openwrt自带的扩容方式

打开磁盘管理,找到你的SD卡,点击修改。

进入后我们可以看到有一个空闲的未分配的区域。

点击新建,将其格式化为Ext4格式

这样便完成了扩容,下来我们将对他进行挂载。

使用命令

lsblk

查看磁盘信息

使用mount命令,将 /dev/mmcblk0p3挂载到 /overlay目录下

再去查看一下是否挂载成功,下图发现已经挂载成功。