OpenWrt
页面Template:Multiple issues/styles.css没有内容。脚本错误:没有“Message box”这个模块。Template:Main Other Template:NoteTA 脚本错误:没有“Unsubst”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。 OpenWrt是一个适用于嵌入式设备的Linux发行版。
相对原厂固件而言,OpenWrt不是一个单一、静态的固件,而是提供了一个可添加软件包的可写的文件系统。这让使用者可以自由选择应用程序和配置,而不必受设备提供商的限制,并且可以使用一些适合某方面应用的软件包来定制你的设备。对于开发者来说,OpenWrt是一个框架,开发者不必麻烦地构建整个固件就能得到想要的应用程序;对于使用者来说,这意味着完全定制的能力,与以往不同的方式使用设备,OPKG包含超过3500个软件。默认使用LuCI作为web交互界面。
OpenWrt也有另一个复刻分支项目,名为LEDE,两者于2018年1月合并,合并后的项目使用OpenWrt的名字、LEDE的源代码。[1]
历史[编辑]
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” 版本发布[2]
2011年9月21日,juhosg接手OpenWrt,并释出了wr703n的官方源码。
2013年4月,OpenWrt 12.09 发布,Linux核心版号为3.3版。
由于WRT54G价格低廉,OpenWrt又开源免费,它在当时成为了学习嵌入式Linux的最佳平台。OpenWrt本身未带任何UI,需要通过LuCI,webif等各种延伸界面,目前LuCI界面是使用率最高的Web管理界面。
释出版本[编辑]
| 版本[3][4] | 一般可用 | 内核 | 最新小版本 | 发布日期 | 产品寿命结束[5] | 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)[6][7] | 2007-02-05 | 2.4.30 | 不适用 | 不适用 | 不适用 | NVRAM-based, nas, wl. Supported platform: brcm-2.4.
| |
| 7.06 (Kamikaze)[8] | 2007-06-02 | 2.6.19 | 7.09 [9][10] | 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)[11] | 2009-02-19 | 2.6.26 | 8.09.2[12][13] | 2010-01-10 | New platform: ar71xx.
| ||
| 10.03 (Backfire)[14] | 2010-04-07 | 2.6.32 | 10.03.1[15] | 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)[16] | 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)[17] | 2014-10-02 | 3.10.49 | 不适用 | 不适用 | 不适用 | New platforms: i.MX23, i.MX6.[18]
| |
| 15.05 (Chaos Calmer)[19] | 2015-09-11 | 3.18.20 | 15.05.1[20] | 2016-03-16 | 2016, March | nftables (available since Linux kernel 3.12); New platforms: TBA if any | |
| 17.01.0 (Reboot (OpenWrt/LEDE))[21] | 2017-02-22 | 4.4.50 | 17.01.7 | 2019-06-20 | 2019, June | musl[22] | There were only release notes for "OpenWrt/LEDE 17.01.7 - Seventh Service Release - June 2019" with a code revision "rTODO-2252731af4".[23] The official announcement of "OpenWrt/LEDE v17.01.7 service release" was never made in the OpenWrt Forum due to GPG signing certs issues.[24] |
| 18.06.0[25] | 2018-07-31 | 4.9.111 / 4.14.52 | 18.06.9 | 2020-12-09 | 2020, December | ||
| 19.07.0[26] | 2020-01-06 | 4.14.162 | 19.07.10 | 2022-04-20 | 2022, April | WPA3 support.[27] Flow offloading (beta).[28] | |
| 21.02.0[29] | 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 [30] | |
| 22.03.0[31] | 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.[32] | |
| 23.05.0[33] | 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.[34] | |
| 24.10.0[35] | 2025-02-06 | 6.6 | 24.10.5 | 2025-12-19 | 2026, February | New devices added, ipq806x target converted to DSA, improved support for WiFi6 (802.11ax) and initial support for WiFi7 (802.11be), core components updated.[36] | |
| 图例:
Template:Redirect category shell | |||||||
LEDE[编辑]
脚本错误:没有“main”这个模块。 LEDE原本为OpenWrt的一个复刻分支。OpenWrt过去一段时间曾没有关键性更新以及对新设备的支持,而关于这些的讨论也迟迟未有结果,这使得一群OpenWRT核心贡献者感到不满;2016年5月,大部分原OpenWRT社区的核心开发组成员决定另立新项目,暂时以“Linux Embedded Development Environment”(Linux嵌入式开发环境)作为项目名称,一年后才正式以暂定名称的缩写LEDE定名。
2017年6月,LEDE社区和OpenWRT社区均同意将原OpenWRT项目合并至LEDE项目之中。LEDE项目的名号将不再使用,而是继承原来OpenWRT的名号,但沿用LEDE社区的版规和流程规定。主体代码以LEDE 17.x 为基础,将OpenWRT的源代码逐步合并至LEDE Snapshot上,系统标识改为OpenWRT。
特色[编辑]
OpenWrt遵循着市集-哲学而且已知有着丰富的选项。功能如下:
- 可写的根目录,让使用者自行新增,移除或修改任何档案。其原理是使用OverlayFS在只读的SquashFS上叠加可读写的JFFS2。[37][38]。SquashFS是一种只读的压缩文件系统,压缩率和gzip差不多。jffs2是一种日志类型的文件系统,专为NOR Flash设计。
- 包管理器opkg,类似dpkg,可让使用者新增或移除软件。软件仓库大约有3500个包。是一个可以从本地或远端软件下载并安装OpenWrt包的轻量型实用工具。
- UCI (unified configuration interface) 脚本支持[39]
- 完整的硬件驱动程式支持。例如: 内建网络交换器及其VLAN-相容, 脚本错误:没有“ilh”这个模块。s, DSL modems, 脚本错误:没有“ilh”这个模块。等。
- 各种计算机网络设定如下:
- 路由可透过iproute2, 脚本错误:没有“ilh”这个模块。, 脚本错误:没有“ilh”这个模块。等。
- 支持多种 IPv6过渡机制
- 网状网络可经由B.A.T.M.A.N., 脚本错误:没有“ilh”这个模块。与IEEE 802.11s-相容的WNIC drivers
- 无线功能。如装置实现无线路由、无线接取器、无线桥接、强制门户,或结合一些装置如: ChilliSpot、脚本错误:没有“ilh”这个模块。等。
- 无线安全: 脚本错误:没有“ilh”这个模块。,例如: Airpwn(页面存档备份,存于互联网档案馆)、lorcon等。
- 状态防火墙、NAT和路由器端口扫描(port forwarding)经由netfilter;其他还有脚本错误:没有“ilh”这个模块。已支持。
- UPnP与NAT端口映射协议可透过 upnpd来设定。
- 脚本错误:没有“ilh”这个模块。可透过knockd与knock达成。
- TR-069[40]
- IPS经由Snort
- 使用多个互联网服务供应商达到负载平衡。
- IP穿透(tunneling)
- 网络监视与统计数据等。例如: RRDtool, 脚本错误:没有“ilh”这个模块。, Nagios, 脚本错误:没有“ilh”这个模块。, Zabbix等。
- 域名系统 (DNS)和DHCP经由Dnsmasq、脚本错误:没有“ilh”这个模块。等。
- 动态DNS可负责修复互联网服务供应商的DNS,但不提供静态IP地址
- 无线分散系统(WDS) 包含WPA-PSK、WPA2-PSK、WPA-PSK/WPA2-PSK混合加密模式
- OpenWrt支持各种Linux已支持的硬件,并透过USB连线
- 著名的软件支持硬件 :
- 可延伸的Ajax,由LuCI支持[41]
- 系统更新,即便装置已不再受原厂支持。
Web 界面[编辑]
在8.09版之前,OpenWrt提供最小GUI。OpenWrt推出8.09及日后新版中,有更多的Web界面可供选择。[42]这个新界面基于LuCI,是一种MVC架构,由Lua语言撰写。[41]
脚本错误:没有“ilh”这个模块。是一个专为OpenWrt所设计的套件,是LuCI以外的另一种选择,在包仓库中名为webif,由使用者自行下载安装。
-
LuCI
-
X-Wrt
-
Gargoyle
应用[编辑]
- 用于脱机离线下载
- VPN服务器
- SSH服务器
- 网络代理
- 主机游戏加速
- 内网穿透
- 动态DNS
- 单线多拨及带宽叠加
- 多线路拨号宽带叠加
- QoS智能限速
- 远程视频监控
- 去除广告,屏蔽恶意域名
- 网络打印机
- 软路由
- 比特币挖矿
- Docker
- 高可用性(HA)和负载均衡[43]
硬件兼容性[编辑]
OpenWrt运行许多不同的路由器,并在其网站上包括一个兼容硬件表。[44]在其买家指南中,比起博通,他们更建议购买高通Atheros芯片设备。[45] OpenWrt在各大社区和无私贡献的帮助下,你甚至在传统的ARM硬路由上可以见到OpenWrt的身影,也能部署在x86-64的传统电脑软路由里OpenWrt的兼容性远远不止如此。
正式采用[编辑]
OpenWrt,特别是其Buildroot构建系统,已经采用了很多次:
- 脚本错误:没有“ilh”这个模块。及其他网状网络社区
- Bufferbloat.net (Cerowrt)
- IETF IPv6集成项目HIPnet和HomeNet是基于OpenWrt
衍生分支[编辑]
- LEDE作为OpenWrt项目的分支机构而成立,并拥有许多相同的目标。现在已与OpenWRT合并。
- CeroWrtTemplate:Snd 目的是补充debloat测试kernel tree,并为缓冲区修复的现实世界测试提供一个平台[46][47]
- Coova chilliTemplate:Snd 基于OpenWrt的专注于无线热点,一个chillifire的分支专注于无线热点管理
- GargoyleTemplate:Snd OpenWrt的一个Web界面,强调可用性,后来分支到一个单独的分发
- FluksoTemplate:Snd 使用Atheros AR2317芯片组的无线传感器节点,运行修补的OpenWrt OS进行通信。GitHub上提供的源和硬件原理图。
- FonTemplate:Snd 基于OpenWrt的无线路由器充当热点。fonosfera.org上的源和工具链
- LininoTemplate:Snd 基于OpenWrt的基于MIPS架构的Arduino的分发:GitHub项目
- Midge LinuxTemplate:Snd 基于英飞凌 ADM-5120 SoCs的设备的基于OpenWrt的发行版,例如Edimax BR-6104K和BR-6104KP。
- OpenSANTemplate:Snd iSCSI目标存储局域网络实现。
- PacketProtectorTemplate:Snd 基于OpenWrt的安全分发,包括IDS,Template:Le,VPN和Web防病毒功能。
- 软件包包括Snort,Snort-inline,FreeRADIUS,OpenVPN,DansGuardian和ClamAV。
- 这些工具可以通过OpenWrt的旧Web GUI管理界面访问,称为X-Wrt或webif^2。项目于2012年6月7日结束。[48]
- 脚本错误:没有“ilh”这个模块。的Omnia路由器是使用OpenWrt的衍生运行
- 无线社区网络的多种草根项目,包括Freifunk,Libre-Mesh和qMp
- 脚本错误:没有“ilh”这个模块。Template:Snd 基于OpenWrt的分发,没有非自由软件或二进制blob,由自由软件基金会认可[49]
- Asuswrt(asuswrt-merlin),载体为Asus网通产品。
- 部分企业如小米、TP-Link 和 D-Link 发布的家用路由器固件是基于 OpenWrt 的二次开发版本。[50][50][51]
- ImmortalWrt - 一个OpenWrt的衍生版本,主要由中国的开发者社区维护。[52][53]
- 友善电子生产的Nano Pi系列的Soc设备,并提供基于 OpenWrt 的衍生操作系统 FriendlyWrt。[54]
参见[编辑]
注释[编辑]
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ 41.0 41.1 Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ 50.0 50.1 Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
外部链接[编辑]
- Template:Official website
- 脚本错误:没有“URL”这个模块。
- 脚本错误:没有“URL”这个模块。