OpenWrt

用於嵌入式裝置(通常是無線路由器)的高度可擴展GNU/Linux散佈版

OpenWrt是适用于嵌入式设备的一个Linux发行版。

OpenWrt
OpenWrt 18.06.1 login screen
开发者OpenWrt Project
作业系统家族类Unix系统
运作状态支援中
源码模式自由软体开源软体
首次发布2004年 (2004)
当前版本
  • 23.05.5(2024年9月25日;稳定版本)[1]
  • 24.10.0-rc2(2024年12月4日;最终测试版本)[2]
编辑维基数据链接
最新预览22.03.0-rc6[3](2022年8月2日,​2年前​(2022-08-02[±]
支持的语言22种语言[4]
更新方式opkg
软件包管理系统opkg
支援平台使用以下架构的50种不同平台:AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64[5]
内核类别宏内核Linux
使用者空间BusyBoxGNU
默认用户界面命令行界面、WebUI
许可证自由软件GPL和其他许可证)
官方网站openwrt.org 编辑维基数据链接
仓库 编辑维基数据链接

相对原厂固件而言,OpenWrt不是一个单一、静态的固件,而是提供了一个可添加软件包的可写的文件系统。这使使用者可以自由的选择应用程序和配置,而不必受设备提供商的限制,并且可以使用一些适合某方面应用的软件包来定制你的设备。对于开发者来说,OpenWrt是一个框架,开发者不必麻烦地构建整个固件就能得到想要的应用程序;对于使用者来说,这意味着完全定制的能力,与以往不同的方式使用设备,OPKG包含超过3500个软件。 默认使用LuCI作为web交互界面。

OpenWrt另有一个复刻分支项目,名为LEDE,两者于2018年1月合并,合并后的项目使用OpenWrt的名字、LEDE的源代码[6]

历史

2002年底Linksys公司推出WRT-54G,一款基于MIPS架构的无线路由器,使用802.11g标准使得带宽在理论上能够达到54M,在当时是一次巨大的进步。WRT-54G作业系统以Linux取代VxWorks,哥伦比亚大学法学院教授Eben Moglen向Linksys提出开源要求。

2003年7月,Linksys迫于压力,开源了WRT54G的固件;2004年,Sveasoft公司发布了Alchemy。从此无线路由器进入了可以刷机的时代。

2004年1月出现所谓的OpenWRT,第一个版本是基于Linksys源码及uclibc中的buildroot项目。

2005年初,BrainSlayer发布了一个新的发行版:DD-WRT。接著又有HyperWRT。同年,OpenWRT开发小组释出第一个 “experimental” 版本,这版本跟Linksys的GPL源码已大相径庭,使用Linux核心源码2.4.3x,还使用了更模组化的buildroot2。

2007年,“White Russian” 版本发布[7]

2011年9月21日,juhosg接手OpenWrt,并释出了wr703n的官方源码。

2013年4月,OpenWrt 12.09 发布,Linux核心版号为3.3版。

由于WRT54G价格低廉,OpenWrt又开源免费,它在当时成为了学习嵌入式Linux的最佳平台。OpenWrt本身未带任何UI,需要通过LuCI,webif等各种延伸界面,LuCI界面是使用率最高的Web管理界面。

释出版本

版本[8][9] 一般可用 内核 最新小版本 发布日期 产品寿命结束[10] libc 注解
first Stable Release 2004-01 ? 不适用 不适用 不适用 uClibc Based on Linksys GPL sources for WRT54G and a buildroot from the uClibc project
0.9 (White Russian)[11][12] 2007-02-05 2.4.30 不适用 不适用 不适用 NVRAM-based, nas, wl. Supported platform: brcm-2.4.
7.06 (Kamikaze)[13] 2007-06-02 2.6.19 7.09 [14][15] 2007-09-30 Using opkg. Supported platforms: atheros-2.6, au1000-2.6, brcm-2.4, brcm47xx-2.6, ixp4xx-2.6, imagicbox-2.6, rb532-2.6 and x86-2.6.
8.09 (Kamikaze)[16] 2009-02-19 2.6.26 8.09.2[17][18] 2010-01-10 New platform: ar71xx.
10.03 (Backfire)[19] 2010-04-07 2.6.32 10.03.1[20] 2011-12-21 Supported platforms: adm5120_mips, adm5120_mipsel, ar7, ar71xx, atheros, au1000, avr32, brcm-2.4, brcm47xx, brcm63xx, cobalt, ep80579, ifxmips, ixp4xx, kirkwood, octeon, orion, ppc40x, ppc44x, rb532, rdc, x86 and xburst.
12.09 (Attitude Adjustment)[21] 2013-04-25 3.3 不适用 不适用 不适用 CoDel (network scheduler) backported from Linux 3.5 to 3.3. New platforms: ramips, bcm2708 (Raspberry Pi) and others.
14.07 (Barrier Breaker)[22] 2014-10-02 3.10.49 不适用 不适用 不适用 New platforms: i.MX23, i.MX6.[23]
15.05 (Chaos Calmer)[24] 2015-09-11 3.18.20 15.05.1[25] 2016-03-16 2016, March nftables (available since Linux kernel 3.12); New platforms: TBA if any
17.01.0 (Reboot (OpenWrt/LEDE))[26] 2017-02-22 4.4.50 17.01.7 2019-06-20 2019, June musl[27] There were only release notes for "OpenWrt/LEDE 17.01.7 - Seventh Service Release - June 2019" with a code revision "rTODO-2252731af4".[28] The official announcement of "OpenWrt/LEDE v17.01.7 service release" was never made in the OpenWrt Forum due to GPG signing certs issues.[29]
18.06.0[30] 2018-07-31 4.9.111 / 4.14.52 18.06.9 2020-12-09 2020, December
19.07.0[31] 2020-01-06 4.14.162 19.07.10 2022-04-20 2022, April WPA3 support.[32] Flow offloading (beta).[33]
21.02.0[34] 2021-09-04 5.4.143 21.02.7 2023-05-01 2023, May WPA3, TLS and HTTPS support included by default, initial DSA页面存档备份,存于互联网档案馆) support, LXC and ujail support [35]
22.03.0[36] 2022-09-06 5.10.138 22.03.6 2023-12-05 2024, April Firewall4 based on nftables, many new devices added, more targets converted to DSA, dark mode in LuCI, year 2038 problem handled, core components updated.[37]
23.05.0[38] 2023-10-13 5.15.134 23.05.2 2023-11-16 2025, March New devices added, ipq40xx target converted to DSA, default cryptographic library switched to mbedtls, core components updated.[39]
图例:   旧版本   旧版本,仍被支持   最新版本

LEDE

LEDE
 
 
登陆界面
开发者LEDE 项目
编程语言Lua
作业系统家族类Unix
运作状态与OpenWrt合并
源码模式开放源代码
首次发布2016年5月,​8年前​(2016-05
当前版本
  • 23.05.5(2024年9月25日;稳定版本)[1]
  • 24.10.0-rc2(2024年12月4日;最终测试版本)[2]
 
支持的语言26种语言[40]
更新方式opkg
软件包管理系统opkg
支援平台23个平台使用以下指令集:AVR32、ARM、CRIS、m68k、MIPS、PowerPC、SPARC、SuperH、Ubicom32、x86、x86-64[41]
内核类别单体内核Linux
使用者空间BusyBox, GNU
默认用户界面CLI, WebUIs
许可证自由软件GPL及其他许可证)
官方网站lede-project.org
仓库  

Linux 嵌入式开发环境,即The Linux Embedded Development Environment (LEDE),该项目是OpenWrt项目的一个分支,[42][43][44]成立于 2016 年 5 月,由部分 OpenWrt 核心开发者创立,原因是他们对 OpenWrt 内部管理流程产生了分歧[45]。LEDE 项目延续了 OpenWrt 的目标,专注于嵌入式系统的开发,但引入了新的开发和治理流程。[46]

2017 年 5 月,OpenWrt 和 LEDE 双方开始寻求项目的合并,并在经过一年的协调后,达成了共识。LEDE 开发者于 2017 年 6 月通过了合并提案,并在 2018 年 1 月正式宣布两者重新合并。[47]

合并后,保留了 OpenWrt 的品牌名称,但在项目治理和开发流程上借鉴了 LEDE 的许多机制。该合并在 OpenWrt 18.06 版本发布之前完成。合并后的项目继续以 OpenWrt 名义运作,并维持其作为开源嵌入式 Linux 系统的重要地位。[48]

版本 发布日期 内核 说明
17.01.0 2017-02-22 4.4.50 第一个稳定版本 [49]
17.01.1 2017-04-19 4.4.61 Bug 修复和增强 [50]
17.01.2 2017-06-12 4.4.71 安全修复 [51]
17.01.3 2017-10-03 4.4.89 安全修复 [52]
17.01.4 2017-10-18 4.4.92 安全修复(KRACK 漏洞,针对服务端的修复)[53]
17.01.5 2018-07-18 4.4.140 安全修复 [54]
17.01.6 2018-09-03 4.4.153 安全修复 [55]

特色

OpenWrt遵循著市集-哲学而且已知有著丰富的选项。功能如下:

Web 界面

在8.09版之前,OpenWrt提供最小GUI。OpenWrt推出8.09及日后新版中,有更多的Web界面可供选择。[61]这个新界面基于LuCI,是一种MVC英语Model–view–controller架构,由Lua语言撰写。[60]

X-Wrt是一个专为OpenWrt所设计的套件,是LuCI以外的另一种选择,在包仓库中名为webif²,由使用者自行下载安装。

应用

  • 用于脱机离线下载
  • VPN服务器
  • SSH服务器
  • 网络代理
  • 主机游戏加速
  • 内网穿透
  • 动态DDNS
  • 单线多拨及带宽叠加
  • 多线路拨号宽带叠加
  • QOS智能限速
  • 远程视频监控
  • 去除广告,屏蔽恶意域名
  • 网络打印机
  • 软路由
  • 比特币矿机
  • Docker
  • 高可用性(HA)和负载均衡[62]

硬件兼容性

OpenWrt运行许多不同的路由器,并在其网站上包括一个兼容硬件表。[63]在其买家指南中,比起博通,他们更建议购买高通Atheros芯片设备。[64] OpenWrt在各大社区和无私贡献的帮助下,你甚至在传统的ARM硬路由上可以见到OpenWrt的身影,也能部署在x86-64的传统电脑软路由里OpenWrt的兼容性远远不止如此。

正式采用

OpenWrt,特别是其Buildroot构建系统,已经采用了很多次:

  • Freifunk及其他网状网络社区
  • Bufferbloat.net (Cerowrt)
  • IETF IPv6集成项目HIPnet和HomeNet是基于OpenWrt

衍生分支

  • LEDE作为OpenWrt项目的分支机构而成立,并拥有许多相同的目标。现在已与OpenWRT合并。
  • CeroWrt – 目的是补充debloat测试kernel tree,并为缓冲区修复的现实世界测试提供一个平台[65][66]
  • Coova chilli – 基于OpenWrt的专注于无线热点,一个chillifire的分支专注于无线热点管理
  • Gargoyle – OpenWrt的一个Web界面,强调可用性,后来分支到一个单独的分发
  • Flukso – 使用Atheros AR2317芯片组的无线传感器节点,运行修补的OpenWrt OS进行通信。GitHub上提供的源和硬件原理图。
  • Fon – 基于OpenWrt的无线路由器充当热点。fonosfera.org上的源和工具链
  • Linino – 基于OpenWrt的基于MIPS架构Arduino的分发:GitHub项目
  • Midge Linux – 基于英飞凌 ADM-5120 SoCs的设备的基于OpenWrt的发行版,例如Edimax BR-6104K和BR-6104KP。
  • OpenSAN – iSCSI目标存储区域网络实现。
  • PacketProtector – 基于OpenWrt的安全分发,包括IDSIPS英语Internet Provider SecurityVPN和Web防病毒功能。
软件包包括Snort,Snort-inline,FreeRADIUS,OpenVPN,DansGuardian和ClamAV。
这些工具可以通过OpenWrt的旧Web GUI管理界面访问,称为X-Wrt或webif^2。项目于2012年6月7日结束。[67]
  • Turris Omnia英语Turris Omnia的Omnia路由器是使用OpenWrt的衍生运行
  • 无线社区网络的多种草根项目,包括Freifunk,Libre-Mesh和qMp
  • libreCMC – 基于OpenWrt的分发,没有非自由软件或二进制blob,由自由软件基金会认可[68]
  • Asuswrt(asuswrt-merlin),载体为Asus网通产品。
  • 部分企业如小米TP-LinkD-Link 发布的家用路由器固件是基于 OpenWrt 的二次开发版本。[69][70][71]
  • ImmortalWrt - 一个OpenWrt的衍生版本,主要由中国的开发者社区维护。[72][73]
  • 友善电子生产的Nano Pi系列的Soc设备,并提供基于 OpenWrt 的衍生操作系统 FriendlyWrt。[74]

路由器固件项目列表

注释

  1. ^ 1.0 1.1 OpenWrt 23.05.5 - Service Release - 25. September 2024. 2024年9月25日. 
  2. ^ 2.0 2.1 https://openwrt.org/releases/24.10/notes-24.10.0-rc2.
  3. ^ OpenWrt 22.03.0-rc6 - Sixth Release Candidate - 2 August 2022. OpenWrt. 2022-08-02 [2022-08-02]. 
  4. ^ LuCI Translation Portal. 2004-09-01 [2010-12-31]. (原始内容存档于2010-11-19). 
  5. ^ Config.in in trunk/target – OpenWrt. dev.openwrt.org. 2013-11-22 [2014-02-13]. (原始内容存档于2014-02-22). 
  6. ^ Solidot | OpenWrt 和 LEDE 项目宣布合并. www.solidot.org. [2020-08-05]. (原始内容存档于2018-06-14). 
  7. ^ 存档副本. [2022-04-29]. (原始内容存档于2022-05-02). 
  8. ^ OpenWrt version history. 2023-10-16 [2022-04-29]. (原始内容存档于2022-05-02). 
  9. ^ Release Builds. 2023-10-19 [2024-03-23]. (原始内容存档于2024-05-05). 
  10. ^ Security - Support status. December 28, 2015 [2024-01-09]. (原始内容存档于2024-05-24). 
  11. ^ Whiterussian 0.9 / Kamikaze snapshots. 2007-02-05 [2024-03-23]. (原始内容存档于2024-05-06). 
  12. ^ WHITE RUSSIAN 0.9. 2007-02-05 [2024-03-23]. (原始内容存档于2022-08-14). 
  13. ^ Kamikaze 7.06. 2007-06-02 [2024-03-23]. (原始内容存档于2023-08-04). 
  14. ^ Kamikaze 7.07. 2007-07-26 [2024-03-23]. (原始内容存档于2024-05-06). 
  15. ^ Kamikaze 7.09. 2007-09-30 [2024-03-23]. (原始内容存档于2024-05-06). 
  16. ^ Kamikaze 8.09. 2009-02-19 [2024-03-23]. (原始内容存档于2024-03-17). 
  17. ^ Kamikaze 8.09.1. 2009-06-03 [2024-03-23]. (原始内容存档于2023-12-11). 
  18. ^ Kamikaze 8.09.2. 2010-01-10 [2024-03-23]. (原始内容存档于2023-11-09). 
  19. ^ Backfire 10.03. 2010-04-07 [2024-03-23]. (原始内容存档于2024-02-21). 
  20. ^ Backfire 10.03.1. 2011-12-21 [2024-03-23]. (原始内容存档于2023-12-11). 
  21. ^ Attitude Adjustment. 2013-04-25 [2024-03-23]. (原始内容存档于2023-12-02). 
  22. ^ Barrier Breaker. 2014-10-02 [2024-03-23]. (原始内容存档于2024-02-26). 
  23. ^ OpenWrt Project: Freescale i.MX. openwrt.org. July 16, 2013 [2018-07-16]. (原始内容存档于2024-05-09) (英语). 
  24. ^ Chaos Calmer. 2015-09-11 [2024-03-23]. (原始内容存档于2024-04-15). 
  25. ^ OpenWrt 15.05.1 "Chaos Calmer". 2016-03-16 [2024-03-23]. (原始内容存档于2024-04-06). 
  26. ^ LEDE 17.01 "Reboot". 2019-06-29 [2024-03-23]. (原始内容存档于2024-05-08). 
  27. ^ [OpenWrt-Devel] OpenWrt switches to musl by default. 2015-06-16 [June 27, 2015]. (原始内容存档于2023-11-04). 
  28. ^ OpenWrt/LEDE 17.01.7 - Seventh Service Release - June 2019. 2019-06-20 [2024-03-23]. (原始内容存档于2024-02-21). 
  29. ^ OpenWrt 17.01.7 - date of release?. July 20, 2019 [2024-01-11]. (原始内容存档于2024-05-06). 
  30. ^ OpenWrt 18.06. 2018-07-31 [2024-03-23]. (原始内容存档于2024-03-14). 
  31. ^ OpenWrt 19.07. 2020-01-06 [2019-11-07]. (原始内容存档于2019-11-07). 
  32. ^ Mehrtens, Hauke. OpenWrt 19.07.0 - First Stable Release - 6 January 2020. OpenWrt Wiki. January 6, 2020 [2020-01-31]. (原始内容存档于2020-01-12). 
  33. ^ Man, Low Kah. Speedtest OpenWRT with flow offloading. Leow Kah Man - Tech Blog. February 1, 2020 [2024-03-23]. (原始内容存档于2024-01-17). 
  34. ^ OpenWrt 21.02. 2021-09-04 [2021-12-26]. (原始内容存档于2021-10-20). 
  35. ^ Mehrtens, Hauke. OpenWrt 21.02.0 - First Stable Release - 4 September 2021. OpenWrt Wiki. September 4, 2021 [2021-12-26]. (原始内容存档于2021-11-30). 
  36. ^ OpenWrt 22.03. 2022-09-06 [2024-03-23]. (原始内容存档于2024-04-16). 
  37. ^ OpenWrt 21.03.0 - First Stable Release - 6 September 2022. OpenWrt Wiki. September 15, 2022 [2024-03-23]. (原始内容存档于2024-05-10). 
  38. ^ OpenWrt 23.05. 2023-10-13 [2024-03-23]. (原始内容存档于2024-05-05). 
  39. ^ Mehrtens, Hauke. OpenWrt 23.05.0 - First Stable Release - 13 October 2023. OpenWrt Wiki. 2023-10-11 [2023-10-24]. (原始内容存档于2024-05-10) (英语). 
  40. ^ Lua Configuration Interface: /modules/luci-base/po. 2017-05-10 [2017-05-14]. (原始内容存档于2017-09-26). 
  41. ^ LEDE Source Repository: /target/Config.in. 2017-03-30 [2017-05-14]. (原始内容存档于2017-09-26). 
  42. ^ OpenWRT Gets Forked By Some Of Its Own Developers As LEDE Project. www.phoronix.com. [2024-10-13] (英语). 
  43. ^ LEDE and OpenWrt [LWN.net]. lwn.net. [2024-10-13]. 
  44. ^ Chirgwin; Richard. Router hackers reach for the fork: LEDE splits from OpenWRT. 5-5-2016. 
  45. ^ LEDE and OpenWrt [LWN.net]. lwn.net. [2024-10-13]. 
  46. ^ [OpenWrt Wiki] OpenWrt 18.06. openwrt.org. [2024-10-13]. 
  47. ^ Announcing the OpenWrt/LEDE merge. OpenWrt Forum. 2018-01-02 [2024-10-13] (英语). 
  48. ^ [OpenWrt Wiki] About the OpenWrt/LEDE project. openwrt.org. [2024-10-13]. 
  49. ^ Lede-project.org. February 22, 2017. Retrieved October 20, 2017.. 
  50. ^ Lede-project.org. April 19, 2017. Retrieved October 20, 2017.. 
  51. ^ Lede-project.org. June 12, 2017. Retrieved October 20, 2017.. 
  52. ^ Lede-project.org. October 3, 2017. Retrieved October 20, 2017.. 
  53. ^ Lede-project.org. October 18, 2017. Retrieved October 20, 2017.. 
  54. ^ Lede-project.org. July 15, 2018. Retrieved July 20, 2018.. 
  55. ^ Lede-project.org. September 2, 2018. Retrieved November 2, 2018.. 
  56. ^ Debating overlayfs. June 15, 2011 [2015-07-24]. (原始内容存档于2015-07-24). 
  57. ^ OpenWrt partition layout. [2015-07-24]. (原始内容存档于2015-07-24). 
  58. ^ OpenWrt Unified Configuration Interface. [2015-07-24]. (原始内容存档于2015-07-24). 
  59. ^ freecwmp is a CWMP client for OpenWrt. [2015-07-24]. (原始内容存档于2014-07-09). 
  60. ^ 60.0 60.1 LuCI project. [February 28, 2009]. (原始内容存档于2015-10-26). 
  61. ^ OpenWrt 8.09 release notes. [February 23, 2009]. (原始内容存档于2015-08-17). 
  62. ^ [OpenWrt Wiki] mwan3 (Multi WAN load balancing/failover). openwrt.org. [2024-10-13]. 
  63. ^ Table of Hardware [OpenWrt Wiki]. wiki.openwrt.org. [2016-10-06]. (原始内容存档于2016-10-09). 
  64. ^ Buyers' Guide [OpenWrt Wiki]. wiki.openwrt.org. [2016-10-06]. (原始内容存档于2016-10-09). 
  65. ^ CeroWrt Wiki. [2015-09-16]. (原始内容存档于2015-10-07). 
  66. ^ ANNOUNCE: debloat-testing kernel git tree. LWN.net. [2014-02-13]. (原始内容存档于2014-02-22). 
  67. ^ "closing time" message from author on PacketProtector forum. [2017-02-19]. (原始内容存档于2013-04-21). 
  68. ^ Free Software Foundation adds libreCMC to its list of endorsed distributions. FSF.org. 2014-09-04 [2014-12-21]. (原始内容存档于2014-12-21). 
  69. ^ GPL Code Center | TP-Link Australia. www.tp-link.com. [2024-10-13]. 
  70. ^ GPL Code Center | TP-Link Australia. www.tp-link.com. [2024-10-13]. 
  71. ^ [OpenWrt Wiki] Xiaomi. openwrt.org. [2024-10-13]. 
  72. ^ Project ImmortalWrt. GitHub. [2024-10-13] (英语). 
  73. ^ ImmortalWrt Firmware Selector. firmware-selector.immortalwrt.org. [2024-10-13]. 
  74. ^ FriendlyElec Downloads. www.friendlyelec.com. [2024-10-13]. 

外部链接