0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

零成本升级:把吃灰的树莓派刷成路由器!

上海晶珩电子科技有限公司 ? 2025-08-10 08:04 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近期推出的树莓派型号性能优于传统路由器,因此将其用作路由器可能会颇具吸引力。然而,它并非完美无缺,因为大多数路由器软件并不支持树莓派(或仅支持命令行操作)。幸运的是,OpenWrt或许是个不错的解决方案。它可在树莓派上运行,并配备了用于配置所有功能的网页界面。下面,让我们一起来学习如何使用它。

OpenWrt在其官网上为所有树莓派型号提供了定制版本。它可以像其他操作系统一样烧录到SD卡上。首次启动时,需要一些命令来配置网络,但之后,一切操作都可以在网页界面上完成。

即使你之前在PC或传统路由器上使用过OpenWrt,其安装过程和初始配置也会有所不同。因此,我将指导你完成初始步骤,直到你能够访问网页界面并像往常一样进行操作。


目录

安装OpenWrt前的先决条件

在树莓派上安装OpenWrt

在树莓派上使用OpenWrt的技巧

OpenWRT进阶使用


安装OpenWrt前的先决条件

在树莓派上安装OpenWrt之前,需牢记一些先决条件。下面,我将详细解释。

更新引导加载程序

所有树莓派型号的主板上都直接内置了一段代码(不在SD卡上),用于处理启动过程。自初始发布以来,这段代码已频繁更新(例如,增加了对USB和网络启动的支持、修复了漏洞等)。

OpenWrt要求你的引导加载程序(EEPROM包)为最新版本。

在树莓派操作系统上,此更新会自动完成。因此,如果你已经在树莓派上使用过该系统(并进行了更新),那么它可能已经是最新版本。

但是,如果你刚购买了树莓派,建议先安装树莓派操作系统,更新EEPROM,然后再安装OpenWrt。

以下是在树莓派操作系统上检查引导加载程序是否为最新版本的方法:

在终端中运行以下命令:

sudorpi-eeprom-update

该命令会显示你当前的版本以及是否有可用更新。

如果需要,你可以使用以下命令安装更新:

sudo rpi-eeprom-update -asudo reboot

完成更新后(完全重启后),你可以关闭树莓派,并按照接下来的步骤在其上安装OpenWrt。


警告:避免网络冲突

与大多数路由器一样,OpenWrt在首次启动时默认会设置IP地址为192.168.1.1。你的当前路由器很有可能已经在使用这个IP地址,这可能会导致网络冲突。

如果你不想造成任何问题,建议在首次启动时拔掉以太网电缆,或者在本教程操作过程中创建一个不同的物理网络。

例如,你可以使用一个小型网络交换机,将树莓派和你的电脑连接到上面,并手动设置你的电脑使用任何以192.168.1.X开头的IP地址。

如果你对所有技术细节感到困惑,我可以帮助你。

我写了一本书,帮助你从树莓派初学者水平提升到更高级的水平(包括与之相关的所有内容:Linux、网络知识、编程)。数千名读者终于对这些专业术语更加熟悉,现在能够轻松完成有趣且实用的项目。


硬件要求

如果你没有创建单独的网络(特别是如果你的主网络处于同一范围),则需要将键盘和显示器连接到树莓派上。

在我的情况下,我的家庭网络以192.168.222.X开头,因此不会产生任何冲突。但我将无法从我的电脑连接到192.168.1.1。因此,我将通过一些命令行手动更改树莓派的IP地址,这需要键盘和显示器。

供你参考,OpenWrt启动时采用QWERTY键盘布局(美国默认布局),并不支持其他布局。如果你像我一样使用其他布局,首次启动时可能需要以下内容:

9dc6a05c-757d-11f0-9080-92fbcf53809c.jpg

除此之外,你不需要其他特殊设备。

以下是我在为你测试本教程时所使用的设备:

树莓派:OpenWrt几乎支持所有型号,包括最新的树莓派5。在本教程中,我使用的是配备4GB内存的树莓派4。

优质的SD卡:你不需要任何高端产品,镜像文件非常小,存档文件不到100MB!

我的树莓派显示器和micro-HDMI线。

我新宠的Rii键盘。

以太网电缆。

好了,让我们来看看如何在其上安装OpenWrt。


在树莓派上安装OpenWrt

以下是在树莓派上安装OpenWrt所需的步骤

从官方Wiki下载最新镜像。

将镜像烧录到SD卡上。

启动树莓派。

配置网络接口

访问网页界面。

下面,我们将详细讨论如何执行这些步骤。

从官方网站下载OpenWrt

第一步是从官方Wiki下载最新的可用镜像。

https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi#installation

在该页面上,找到以下表格:

9dcff5ee-757d-11f0-9080-92fbcf53809c.jpg

找到与你的树莓派型号相对应的列。点击“Firmware Openwrt Install”列中的链接以下载.gz镜像文件。无需解压。

烧录下载的镜像

下载镜像后,将其烧录到你的SD卡上。我通常使用Raspberry Pi Imager(当我已经将镜像保存在电脑上时),但其他工具如Balena Etcher也应该能正常工作。

9dd8c6d8-757d-11f0-9080-92fbcf53809c.jpg

以下是烧录镜像的步骤:

启动Raspberry Pi Imager(或你喜欢的工具)。

如果你还没有Imager,可以在此处免费下载。

使用SD卡读卡器将SD卡插入电脑。

点击选择操作系统 > 使用自定义,并指向你上面下载的文件。

点击选择存储设备,并选择你的SD卡。

点击下一步,当被询问是否应用设置时,点击否。

确认后,写入过程将开始。

如你所见,镜像非常小(本例中为14MB),因此只需几秒钟即可完成。

首次启动

SD卡创建完成后,将其插入树莓派并通电启动。

你将看到一堆调试信息(黑底白字)。当它停止滚动时,按Enter键以访问命令提示符:

9de45ee4-757d-11f0-9080-92fbcf53809c.jpg

如果你看到相同的内容,则表示一切正常,你可以继续下一步。

如果它无法启动或出现错误,请仔细检查先决条件(特别是EEPROM更新),并随时访问OpenWrt论坛寻求帮助。

https://forum.openwrt.org/

可选:设置以太网IP地址

如前所述,OpenWrt默认会将以太网适配器设置为192.168.1.1。如果你觉得没问题,可以跳过此步骤并直接访问网页界面。

但在大多数情况下(对我来说也是如此),需要更改此设置。

我的网络使用的是192.168.222.1-254范围,我希望从其他设备访问OpenWrt。

或者,192.168.1.1可能已被你的主路由器占用,因此你需要更改OpenWrt以使用不同的IP地址。

无论哪种情况,你都可以使用以下三个命令更改默认IP地址:

ucisetnetwork.lan.ipaddr=>YOUR_IP>uci commit/etc/init.d/network restart

9df077b0-757d-11f0-9080-92fbcf53809c.jpg

记住:默认键盘布局为QWERTY(美国布局),因此你可能需要使用前面给出的图片来输入这些命令。

如果你开始时断开了网络电缆以避免任何冲突,现在可以插上它并继续操作。在我的情况下,我现在可以ping通树莓派了,因此我准备对其进行配置。

访问网页界面

现在,你已经将OpenWrt设备连接到了网络,其所有配置都可以通过网页界面完成。因此,你不再需要使用控制台命令。

从与树莓派相同网络上的电脑上打开网页浏览器,并访问树莓派的IP地址:

http://

这是你刚刚在命令行中设置的IP地址,或者如果你没有更改它,则可能是192.168.1.1。

默认用户名为root,密码为空。

9dfa9704-757d-11f0-9080-92fbcf53809c.jpg

你将连接到OpenWrt的完整界面,但在继续之前,建议为root设置一个密码。

设置root密码

连接到网页界面后的第一步是为root设置一个密码。

转到系统 > 管理,你将看到一个如下形式的表单:

9e06bbec-757d-11f0-9080-92fbcf53809c.jpg

填写一个强密码,并点击保存以应用更改。


在树莓派上使用OpenWrt的技巧

我们快完成了,但让我给你一些在树莓派上使用OpenWrt的技巧。

我今天的目标不是开设OpenWrt大师班,但至少要解释一下正确的入门步骤。

切换到SSH

一旦你设置了IP地址和root密码,SSH服务就变得可用。

因此,如果你将来需要在OpenWrt上运行一些命令行,使用SSH客户端可能会比直接在树莓派上输入更舒适。

你可以使用root登录。在大多数操作系统上,你可以从终端使用以下命令:

sshroot@IP

9e14e762-757d-11f0-9080-92fbcf53809c.png

输入你刚刚设置的密码,你将连接成功。

如果你需要更多关于如何使用SSH与树莓派的指导,请点击链接阅读我的完整指南。

它主要是针对树莓派操作系统的,但原理与任何发行版都相同(并且我在其中分享了我最喜欢的SSH客户端)。

更新系统时间

当你首次安装OpenWrt时,它通常会显示错误的时间。这种时间不一致可能会影响后续的软件包更新。

以下是在OpenWrt上更新系统时间的方法:

转到系统 > 系统

在常规设置选项卡下,点击与浏览器同步或与NTP服务器同步。

你可以两者都尝试以确保准确。

9e21d7c4-757d-11f0-9080-92fbcf53809c.jpg

等待5-10秒以使其同步。它将把你的系统更新为UTC日期和时间,这是一个不错的默认设置

点击底部的保存并应用。

现在,本地时间应该正确了(别忘了它是UTC时间)。

配置DNS服务器

我最初在使用网页界面时遇到了很多问题,但很快就找到了原因。

例如,当我尝试更新新软件包时,出现了以下错误:

无法从X下载软件包列表

opkg_download:请检查你的网络设置和连接性。

发送请求失败:操作不被允许。

那是因为我们还没有为OpenWrt设置DNS服务器,因此几乎所有需要互联网访问的功能都无法工作。这里有两种可能的解决方案。

解决方案1:使用自定义DNS服务器

在网页界面中,转到网络 > 接口。

点击LAN接口前面的编辑。

转到高级设置选项卡,并找到使用自定义DNS服务器字段。

填写你首选的DNS服务器地址。你可以使用本地网络上的一个(如果你有的话),或者简单地使用一个公共DNS服务器(我正在测试8.8.8.8,这是谷歌的DNS服务器)。

9e2d91ea-757d-11f0-9080-92fbcf53809c.png

点击保存。在返回的下一个屏幕上,别忘了点击保存并应用。

9e36e394-757d-11f0-9080-92fbcf53809c.jpg

解决方案2:将协议更改为DHCP客户端

如果上述方法对你不起作用,请尝试此方法。

通常,人们会将OpenWrt设备设置为直接连接到互联网的路由器。但在我的情况下,OpenWrt-Pi位于另一个路由器(我的主路由器)后面。这种配置导致了DNS问题,即OpenWrt无法访问互联网。

一种解决方案是让OpenWrt从你的主路由器接收其DNS。方法如下:

转到网络 > 接口。

点击编辑。

在常规设置选项卡下,将协议更改为DHCP客户端。

9e3fc63a-757d-11f0-9080-92fbcf53809c.jpg

点击保存。在返回的下一个屏幕上,点击保存并应用。

你的树莓派将重新连接到网络并接收一个新的IP地址。你将需要找出树莓派的新IP地址,因为它将是随机分配的。

一旦你可以重新连接到网页界面,请检查互联网访问是否正常工作。

进入“网络”>“诊断”并点击“IPv4 ping”。如果正常工作,您应该会收到响应。

安装附加组件

如果互联网连接可用且DNS服务器配置正确,你现在可以使用网页界面中的软件功能来安装新的软件包。

系统 > 软件页面默认情况下几乎是空的。点击更新列表…以与存储库同步。你应该会看到类似以下内容:

9e4a4826-757d-11f0-9080-92fbcf53809c.jpg

注意:如果你的更新失败,可能是因为OpenWrt无法访问互联网。要检查这一点,请转到网络 > 诊断并尝试ping一个域名。如果ping失败,请使用上述部分中的方法来修复你的DNS设置。

与树莓派操作系统和大多数Linux发行版上的软件包工作方式类似,你可以轻松地从该页面在OpenWrt上安装新的软件包(我们稍后将使用它)。

你可以找到特定设备的驱动程序,以及传统的软件包(你可以在命令行中使用)或网页界面功能。这里有一个搜索引擎,你可以用来快速查找内容。

启用无线接口

在我的树莓派4上,有一个无线接口,并且它被自动检测到了。因此,一旦你访问了网页界面,就可以快速配置它并使用它。

我测试这个功能花费了很多时间,因为我试图从“网络”>“接口”菜单中配置它,但实际上,它已经在“网络”>“无线”下面了。

如果你使用的是树莓派4,你应该会看到类似以下内容:

9e58f7e0-757d-11f0-9080-92fbcf53809c.jpg

点击“扫描”以查看检测到的无线网络列表。

点击你想要连接的网络,并填写带有密码的表单:

9e626064-757d-11f0-9080-92fbcf53809c.jpg

按照向导中的步骤保存配置并连接到你的Wi-Fi

如果一切顺利,你现在应该在主页上看到两个网络配置:

9e6d2eea-757d-11f0-9080-92fbcf53809c.png

这是一个不太好的例子,因为如果我的目标真的是构建一个路由器,我应该使用两个不同的网络范围。但我只是在向你展示如何配置基本内容。之后,你可以自由更改任何内容以满足你的需求。

例如,一旦连接到你的Wi-Fi,你现在可以配置以太网以使用不同的网络范围,以将你的以太网网络与其他电脑隔离。

如何使用USB适配器

树莓派只有一个以太网适配器,这对于构建路由器来说并不理想。在某些型号上,你有无线接口,但并非所有型号都有。好消息是:如果你的树莓派使用USB转以太网适配器,并且与OpenWrt兼容,那么它是受支持的!

我有一个适配器,当我插上它时,它被直接检测到了。

在显示器上,我看到了以下消息:

9e7dae8c-757d-11f0-9080-92fbcf53809c.jpg

即使OpenWrt检测到你插入了设备,它也不一定会默认安装驱动程序(并且它不是即插即用的,你需要安装它)。

在之前的截图中,有两个需要注意的事项:

制造商是Realtek。我们不关心适配器上标注的品牌,重要的是网络适配器制造商,通常是Realtek或Intel

确切型号是8153(RTL8153)。

有了这些信息,你可以进入软件安装程序并搜索相应的驱动程序。如果你有不同的适配器,请确保搜索你的确切型号。

不过,搜索引擎并不完美。在我的情况下,无论我尝试什么,都没有结果。我在网上找到,你可以使用RTL8152驱动程序来支持8153型号。因此,我安装了它,然后它在网页界面中被正确检测到了。

9e8760bc-757d-11f0-9080-92fbcf53809c.jpg

但你可能需要进行一些研究以找到缺失的正确驱动程序。

完成后,你可以转到“网络”>“设备”,你应该会在这里看到你的USB适配器:

9e95556e-757d-11f0-9080-92fbcf53809c.jpg

点击“配置”以使用此网络设备创建一个新的接口。


OpenWRT进阶使用

从这里开始,在树莓派上使用OpenWrt将与在任何其他设备上使用它没有区别。你可以访问网页界面,并且你的硬件被正确检测到了(即使你使用USB适配器),因此你可以继续创建你需要的配置。

正如我告诉你的,我的目标是在这里帮助你开始使用树莓派而不是更传统的设备。如果你需要更多指导,你可以参考官方文档或任何好的在线教程,即使它们不是为树莓派编写的。

https://openwrt.org/docs/start

如果你不喜欢OpenWrt并想尝试传统方法(使用IPTables),你可以参考我多年前写的另一篇教程,它解释了如何手动完成所有操作。

https://raspberrytips.com/raspberry-pi-firewall/

其中还简要介绍了网络基础知识,即使你使用OpenWrt完成相同的项目,这也可能很有趣。

如果你想在命令行中尝试iptables的替代方案,那就是测试“ufw”,它代表“简单防火墙”。我在这篇文章中解释了一切。

https://raspberrytips.com/configure-firewall-raspberry-pi/

原文地址:

https://raspberrytips.com/openwrt-on-raspberry-pi/

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3843

    浏览量

    117283
  • OpenWrt
    +关注

    关注

    10

    文章

    132

    浏览量

    40280
  • 树莓派
    +关注

    关注

    122

    文章

    2059

    浏览量

    107874
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    成本让你的电视盒子变身无线路由器

    很多家庭现在都会购买智能电视机顶盒,可是主要也就是解决点播需求,其内置的潜在能力并未被完全挖掘出来。比如将带有无线天线的电视机顶盒打造成无线路由器,在成本情况下,可以增加家里单个路由器
    发表于 10-08 14:12 ?1.7w次阅读

    如何将你手中的树莓变身为强大路由器

    用作DIY路由器具有多种优势,包括可定制化、成本节约和学习机会:可定制性:基于树莓路由器可让您完全掌控软件和配置。您可以根据特定需求定制
    的头像 发表于 07-07 16:30 ?2325次阅读
    如何将你手中的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>变身为强大<b class='flag-5'>路由器</b>?

    怎么样给树莓安装ser2net实现network to serial?

    才开始动手就遇到问题了。请问怎么才能给树莓安装ser2net实现network to serial?为什么网上的教程都是serial to network? 我想让树莓连到家庭
    发表于 09-03 11:06

    树莓改装路由器open,能支持多少人同时上网?

    如题。想问一下,用树莓改装路由器open。能支持多少人同时上网?
    发表于 09-05 15:16

    关于我用树莓B+装载系统和启动配置时候的几个小记要

    的卡,2G的,结果不进去,看到提示是内存不够的原因,果断换4G的,嗯,可以用了。2、连线: 连接USB电源线至笔记自带USB口,网线接入路由器,笔记本无线接入路由器,上电启动。3、
    发表于 09-10 11:55

    Alphabot树莓教程:变身路由器

    OpenWRT等路由器固件,这样它就变成了一个比较正宗的路由器。另一种方法是开启树莓无线网络适配器的AP功能,并且共享其有线网络。这样依然使用Raspbian系统,可以发挥Raspb
    发表于 05-15 19:20

    请问我这个树莓高清视频直播服务设计方案可行吗?

    项目描述:摄像机拍摄1080p高清视频,编码h.264格式后,通过网线传输给路由器,客户端通过rtsp地址观看视频 暂定方案:高清视频经FPGA编码h.264格式,传给树莓
    发表于 06-20 03:12

    请问树莓配置路由器

    如何开启树莓3B+(系统版本:2018-06-27-raspbian-stretch)无线网络适配器的AP功能,并且共享其有线网络,实现无线路由功能。
    发表于 11-06 07:31

    小米路由器如何openwrt详细教程

    想要入OPENWRT系统是要路由器支持的,如果你的路由器不支持请不要机,以免路由器成为砖头,另外路由
    发表于 12-27 09:14 ?11.4w次阅读
    小米<b class='flag-5'>路由器</b>如何<b class='flag-5'>刷</b>openwrt详细教程

    路由器openwrt好处_路由器怎么openwrt

    openwrt是嵌入式设备上运行的linux系统。本文主要介绍了openwrt的特点、openwrt优势与劣势、常见openwrt的路由器以及路由器openwrt好处和人
    发表于 12-27 09:47 ?17.6w次阅读

    成本快速完成 SoC 概念验证

    本文档内容介绍了基于成本快速完成 SoC 概念验证,供参考
    发表于 03-19 11:21 ?5次下载

    树莓怎么用

    连接树莓和电脑.用网线直连电脑,不经过路由器。这个方法最大的特点用最少的工具玩树莓
    的头像 发表于 11-07 16:21 ?2.4w次阅读

    多个路由器如何无线桥接一个网络 路由器桥接教程

    多个路由器如何无线桥接一个网络 路由器桥接教程
    发表于 09-28 09:25 ?1次下载

    什么是树莓2B入OpenWrt

    如果家里已经有路由器了,我们可以用网线家里的路由器lan口接到树莓的网口上,然后通过我们加装的usb无线网卡发射wifi信号让手机等设备
    的头像 发表于 02-27 14:27 ?2175次阅读
    什么是<b class='flag-5'>树莓</b><b class='flag-5'>派</b>2B<b class='flag-5'>刷</b>入OpenWrt

    成本钢铁侠手套!树莓+OpenCV 秒变手势遥控

    大家好,这是一个树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点追踪使用树莓
    的头像 发表于 08-16 16:16 ?140次阅读
    <b class='flag-5'>零</b><b class='flag-5'>成本</b>钢铁侠手套!<b class='flag-5'>树莓</b><b class='flag-5'>派</b>+OpenCV 秒变手势遥控<b class='flag-5'>器</b>!