什么是 Linux OpenWrt?

2025年3月17日 | 阅读 7 分钟

这是一个开源项目,旨在创建定制的 Linux 操作系统。它主要设计用于嵌入式设备,特别是路由器。OpenWrt 取代了路由器制造商提供的默认固件,为您提供了更多的控制和灵活性。

OpenWrt 允许您安装额外的软件软件包,并提供 VPN 支持、家长控制和媒体服务器等功能。通过更好地控制路由器上运行的软件,您可以更新软件并安装安全补丁来提高其安全性。OpenWrt 可以兼容多种路由器,因此如果您升级了路由器但仍想使用相同的固件,OpenWrt 很可能兼容。

What is Linux OpenWrt?

主要特点

OpenWrt 提供了几个优点,包括:

OpenWrt 使用一个名为 pkg 的深入的软件包管理工具。此软件包允许用户安装、卸载和更新软件程序包。与许多带有只读文件系统的路由器固件解决方案不同,OpenWrt 提供了一个可写文件系统。这允许用户进行修改并通过独特的配置添加不同的功能。

用户可以自定义 OpenWrt,包括配置网络设置、安装各种软件程序、设置防火墙策略,以及根据他们想要的需要进行许多其他配置。OpenWrt 会收到其活跃社区和开发团队的定期更新和安全补丁。

OpenWrt 提供了广泛的网络功能,包括对 VLAN、VPN、高级 QoS 等的支持。这些功能使其适用于家庭和专业用途。OpenWrt 拥有一支由用户和开发人员组成的强大团队,他们为 OpenWrt 的持续改进做出了贡献。该项目通过活跃的论坛、文档和存储库持续发展。

OpenWrt 主要由需要更多控制其网络设备的专家使用。它可以将简单的路由器转变为强大且可定制的网络工具,适用于一些高级网络任务。

OpenWrt 的历史

OpenWrt 是一个始于 2004 年的项目,起因是 Linksys 公司根据 GNU 通用公共许可证 (GPL) 发布了其 WRT54G 系列无线路由器的固件。GPL 要求 Linksys 提供其修改后固件的源代码,从而允许独立开发者创建衍生版本。最初,支持仅限于 WRT54G 系列;然而,随着时间的推移,OpenWrt 扩展到支持来自不同制造商的多种路由器和设备。

开发人员使用这些代码作为基础,后来又作为指南,创建了一个 Linux 发行版,为以前无法获得功能的用户级路由器带来了许多新功能。最初,一些功能需要专有软件。例如,在 OpenWrt 8.09(基于 Linux 2.6.25 和 b43 内核模块)之前,许多基于 Broadcom 的路由器的 WLAN 功能只能通过专有的 wl.o 模块实现,这需要 Linux 2.4.X。

2016 年 5 月,由于内部策略分歧,一群核心 OpenWrt 成员分叉了该项目。这个分叉项目被命名为 Linux Embedded Development Environment (LEDE)。分裂在一年后得到解决。在 2018 年 1 月宣布的重新合并后,OpenWrt 的品牌被保留,并整合了大部分 LEDE 的流程和规则。LEDE 项目名称用于 17.01 版本,而 18.01 及更高版本的开发版本则采用 OpenWrt 品牌,放弃了最初基于鸡尾酒的命名方案。

优点

起源与扩张: OpenWrt 最初从 WRT54G 系列开始,其支持范围扩展到各种设备,为用户提供了一个通用的平台来定制他们的网络设备。

路由器的 Linux 发行版: OpenWrt 已发展成为一个功能齐全的路由器 Linux 发行版,提供了许多标准消费级路由器所不具备的功能。

专有软件与开源开发: 在早期,OpenWrt 的一些功能需要专有软件。例如,许多基于 Broadcom 的路由器的 WLAN 支持依赖于专有的 wl.o 模块,该模块仅与 Linux 2.4.x 兼容。这种情况随着 OpenWrt 8.09 的出现而改变,它使用了 Linux 2.6.25 和开源的 b43 内核模块。

命名约定: OpenWrt 的版本以鸡尾酒命名,例如 White Russian、Kamikaze、Backfire、Attitude Adjustment、Barrier Breaker 和 Chaos Calmer。当用户通过命令行界面登录时,这些名称及其配方会包含在每日消息 (motd) 中。

LEDE 分叉与和解

分叉至 LEDE: 2016 年 5 月,一群核心贡献者因内部流程分歧而分叉了 OpenWrt,创建了 Linux Embedded Development Environment (LEDE)。

和解与重新合并: 分歧在一年后得到解决,并在 2018 年 1 月,两个项目再次合并。合并后,OpenWrt 的名称被保留,但采纳了 LEDE 的许多流程和规则。LEDE 项目名称用于 v17.01 版本,而从 18.01 版本开始的开发版本则恢复为 OpenWrt 品牌,放弃了基于鸡尾酒的命名方案。

发布

版本代码版本名称发布年份
第一个稳定版本2004
0.9White Russian2007
7.06Kamikaze2007
8.09Kamikaze2009
10.03Backfire2010
12.09Attitude Adjustment2013
14.07Barrier Breaker2014
15.05Chaos Calmer2015
17.01.0Reboot (OpenWrt/LEDE2017
18.06.02018
19.07.02020
21.02.02021
22.03.02022
23.05.02023

LEDE

LEDE 是 Linux Embedded Development Environment 的缩写。它是一个开源固件项目,是 OpenWrt 项目的一个分支。它被用来为无线路由器和其他嵌入式设备创建自定义固件。它提供了稳定性、安全性和性能等多种功能。

目标

它为嵌入式设备提供了一个灵活且可定制的平台。它包含软件包管理和网络配置等功能。它支持各种硬件架构,并且是社区驱动的。LEDE 轻松支持协作、透明度和许多其他功能。

2018 年,LEDE 合并到 OpenWrt 项目中。合并后的项目保留了“OpenWrt”的名称,但与 LEDE 相比,它包含了许多改进。

发布

版本发布年份特点
17.01.0201第一个稳定版本
17.01.1包括错误修复和增强
17.01.2安全修复
17.01.3安全修复
17.01.4安全修复
17.01.52018安全修复
17.01.6安全修复

硬件

OpenWrite 与各种硬件架构兼容,具体取决于多个因素。它包括处理器架构、内存和存储。

  • 路由器和嵌入式设备使用 ARM 处理器。此外,OpenWrt 支持各种 ARM 架构,例如 ARMv7 和 ARMv8。
  • 您可以在 x86 硬件架构上轻松运行 OpenWrt。

要将 OpenWrt 安装到您的系统上,请首先确保您的系统符合以下要求:

  • 需要 32 MB RAM,但建议使用 64 MB 或更多。
  • 需要至少 8 MB 的闪存存储,但建议使用 16 MB 或更多。

开发

OpenWrt 使用 Buildroot。它建议了为嵌入式设备交叉编译软件程序的流程。通过选择应用程序、内核模块和配置选项,您可以轻松定制固件。

其强大的软件包管理系统允许用户在设备上安装、升级和移除软件程序。您可以创建自定义应用程序,也可以轻松修改现有应用程序。OpenWrt 使用 DTB(设备树二进制文件)来描述硬件布局,这有助于支持新设备。

为了增加对新硬件的支持,需要编写或移植 Linux 内核驱动程序。它包括网络驱动程序、USB 支持和其他接口。OpenWrt 支持各种路由协议,包括 OSPF、BGP 和 RIP。

OpenWrt 支持无线网络,并提供网状网络、VLAN 和多个 SSID 等功能。开发人员可以提高无线性能、安全性和互操作性。它包含强大的防火墙工具和其他安全软件程序,例如 VPN 客户端和服务器。

注意:定期更新固件及其软件包,并应用最新的安全补丁,以便在每次更新后都能获得最新的功能。

LuCI: LuCI Web 界面是 OpenWrt 使用的默认管理界面。任何开发人员都可以通过添加新功能和创建自定义主题来提高其可用性。

要为 OpenWrt 进行开发,请遵循以下步骤:

  • 首先,设置 **构建环境** 并安装 **依赖项**。然后,从官方仓库 **克隆** **OpenWrt 源代码**。
  • 现在,配置 **构建系统**。使用 **menuconfig** 选择目标设备和软件包。
  • 接下来,构建 **固件** 和其他软件包。
  • 将固件刷写到兼容的设备上并测试您的更改。
  • 通过补丁或拉取请求将您的更改 **提交** 到 OpenWrt 项目。

如何安装 OpenWrt?

  • 首先,在安装 OpenWrt 之前 **备份** 系统上的所有先前数据。
  • 现在,将您的计算机 **连接** 到路由器并访问 Web 界面。然后,转到固件升级部分并上传 OpenWrt 固件。
  • 现在,等待设备 **重启**。这需要几分钟时间。
  • 然后,将您的笔记本电脑连接到 **静态 IP** 地址,IP 地址范围在 **192.168.0.x 到 192.168.1.x** 之间。
  • 之后,在您的系统上设置一个 **TFTP 服务器**,并将 OpenWrt 文件保存在 **TFTP 服务器** 的根目录中。然后,**关闭** 并 **打开** **路由器**,并按住 **重置按钮** 以启用 **恢复模式**。
  • 接下来,使用 **TFTP** 将固件上传到 **路由器的 IP 地址**。将您的计算机连接到路由器,并在浏览器中访问 **http://192.168.1.1**。然后,输入 **用户名** 和 **密码**。用户名是 root,密码部分为空。
  • 最后,配置 **LAN** 和 **WAN** 接口以实现互联网连接。

结论

Linux OpenWrt 是一个开源操作系统。它主要开发用于嵌入式设备,特别是网络路由器。它由 Linksys GPL 源代码创建,并使用 uClibc 项目的 buildroot。它包括 opkg 包管理器,并且易于支持各种平台,包括 Atheros、brcm 和 x86。OpenWrt 的模块化架构允许进行多项修改,使您能够优化设备性能和安全功能。