OpenWrt

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

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

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

## 历史

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” 版本发布

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

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

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

### 释出版本

版本（代号）｜首次发布日期｜内核版本｜最新版本｜最新发布日期｜停止支持日期（预计）｜libc｜备注

o｜2004–01｜未知｜uClibc｜基于 Linksys 为 WRT54G 发布的 GPL 源代码以及 uClibc 项目的 buildroot

o（White Russian）｜2.4.30｜基于 NVRAM，包含 `nas`、`wl`。支持平台：`brcm-2.4`。

o（Kamikaze）｜2.6.19｜7.09｜不适用｜使用 `opkg`。支持平台：`atheros-2.6`、`au1000-2.6`、`brcm-2.4`、`brcm47xx-2.6`、`ixp4xx-2.6`、`imagicbox-2.6`、`rb532-2.6` 及 `x86-2.6`。

o（Kamikaze）｜2.6.26｜8.09.2｜不适用｜新增平台：`ar71xx`。

o（Backfire）｜2.6.32｜10.03.1｜不适用｜支持平台：`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` 及 `xburst`。

o（Attitude Adjustment）｜3.3｜将 CoDel（网络调度器）从 Linux 3.5 回移植至 3.3。新增平台：`ramips`、`bcm2708`（树莓派）等。

o（Barrier Breaker）｜3.10｜新增平台：`i.MX23`、`i.MX6`。

o（Chaos Calmer）｜3.18｜15.05.1｜2016年3月｜nftables（Linux 3.12 起提供）；新增平台：待补充。

o（Reboot（OpenWrt/LEDE））｜4.4｜17.01.7｜2019年6月｜musl｜仅发布了“OpenWrt/LEDE 17.01.7——第七次服务更新（2019年6月）”的发行说明，其代码修订版本为“rTODO-2252731af4”。由于 GPG 签名证书问题，OpenWrt 论坛从未正式发布“OpenWrt/LEDE v17.01.7 服务更新”的公告。

o｜4.9 / 4.14｜18.06.9｜2020年12月｜未知

o｜4.14｜19.07.10｜2022年4月｜支持 WPA3；引入流量卸载（Flow Offloading，测试版）。

o｜5.4｜21.02.7｜2023年5月｜默认包含 WPA3、TLS 和 HTTPS 支持；初步支持 DSA；支持 LXC 与 ujail。

o｜5.10｜22.03.7｜2024年7月｜基于 nftables 的 Firewall4；新增大量设备支持；更多目标平台迁移至 DSA；LuCI 新增深色模式；解决2038年问题；核心组件更新。

o｜5.15｜23.05.6｜2025年8月｜新增设备支持；ipq40xx 目标迁移至 DSA；默认加密库切换为 mbedtls；核心组件更新。

6.6｜24.10.7｜（2026年9月）｜新增设备支持；ipq806x 目标迁移至 DSA；改进对 Wi-Fi 6（802.11ax）的支持，并初步支持 Wi-Fi 7（802.11be）；核心组件更新。

c（Dave's Guitar）｜6.12｜25.12.4｜待定｜软件包管理器由 opkg 切换至 apk；Attended Sysupgrade（ASU）现已默认安装。

l

## LEDE

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。SquashFS是一种只读的压缩文件系统，压缩率和gzip差不多。jffs2是一种日志类型的文件系统，专为NOR Flash设计。
- 包管理器opkg，类似dpkg，可让使用者新增或移除软件。软件仓库大约有3500个包。是一个可以从本地或远端软件下载并安装OpenWrt包的轻量型实用工具。
- UCI (unified configuration interface) 脚本支持
- 完整的硬件驱动程式支持。例如: 内建网络交换器及其VLAN-相容, Wireless network interface controllers, DSL modems, Foreign exchange service (telecommunications)等。
- 路由可透过iproute2, Quagga, Bird Internet routing daemon等。
- 支持多种 IPv6过渡机制
- 网状网络可经由B.A.T.M.A.N., Optimized Link State Routing Protocol与IEEE 802.11s-相容的WNIC drivers
- 无线功能。如装置实现无线路由、无线接取器、无线桥接、强制门户，或结合一些装置如: ChilliSpot、WiFiDog Captive Portal等。
- 无线安全: 包注入Packet injection，例如: Airpwn、lorcon等。
- 状态防火墙、NAT和路由器端口扫描(port forwarding)经由netfilter；其他还有PeerGuardian已支持。
- UPnP与NAT端口映射协议可透过 upnpd来设定。
- port knocking可透过knockd与knock达成。
- TR-069
- IPS经由Snort
- 使用多个互联网服务供应商达到负载平衡。
- IP穿透(tunneling)
- 网络监视与统计数据等。例如: RRDtool, collectd, Nagios, Munin (network monitoring application), Zabbix等。
- 域名系统 (DNS)和DHCP经由Dnsmasq、MaraDNS等。
- 动态DNS可负责修复互联网服务供应商的DNS，但不提供静态IP地址
- 无线分散系统(WDS) 包含WPA-PSK、WPA2-PSK、WPA-PSK/WPA2-PSK混合加密模式
- OpenWrt支持各种Linux已支持的硬件，并透过USB连线
- 打印机
- 移动上网卡
- 网络摄像头
- 声卡
- 文件分享经由Samba，(Windows相容)，NFS和FTP，经由打印服务器CUPS (spooling) 或 p910nd (non-spooling)分享打印功能。
- PulseAudio, Music Player Daemon，音效与影像流经由DLNA/UPnP AV standards、iTunes (Digital Audio Access Protocol) 服务器
- Asterisk
- 使用Mosquitto实现的MQTT
- 可延伸的Ajax，由LuCI支持
- 系统更新，即便装置已不再受原厂支持。

### Web 界面

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

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

<image>

- LuCI

<image>

- X-Wrt

<image>

- Gargoyle

## 应用

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

## 硬件兼容性

OpenWrt运行许多不同的路由器，并在其网站上包括一个兼容硬件表。在其买家指南中，比起博通，他们更建议购买高通Atheros芯片设备。

OpenWrt在各大社区和无私贡献的帮助下，你甚至在传统的ARM硬路由上可以见到OpenWrt的身影，也能部署在x86-64的传统电脑软路由里OpenWrt的兼容性远远不止如此。

## 正式采用

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

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

## 衍生分支

- LEDE作为OpenWrt项目的分支机构而成立，并拥有许多相同的目标。现在已与OpenWRT合并。
- CeroWrt – 目的是补充debloat测试kernel tree，并为缓冲区修复的现实世界测试提供一个平台
- 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的安全分发，包括IDS，入侵防护，VPN和Web防病毒功能。

软件包包括Snort，Snort-inline，FreeRADIUS，OpenVPN，DansGuardian和ClamAV。

这些工具可以通过OpenWrt的旧Web GUI管理界面访问，称为X-Wrt或webif^2。项目于2012年6月7日结束。

- Turris Omnia的Omnia路由器是使用OpenWrt的衍生运行
- 无线社区网络的多种草根项目，包括Freifunk，Libre-Mesh和qMp
- libreCMC – 基于OpenWrt的分发，没有非自由软件或二进制blob，由自由软件基金会认可
- Asuswrt（asuswrt-merlin），载体为Asus网通产品。
- 部分企业如小米、TP-Link 和 D-Link 发布的家用路由器固件是基于 OpenWrt 的二次开发版本。
- ImmortalWrt - 一个OpenWrt的衍生版本，主要由中国的开发者社区维护。
- 友善电子生产的Nano Pi系列的Soc设备，并提供基于 OpenWrt 的衍生操作系统 FriendlyWrt。

## 基本资料

- 域：OpenWrt Screenshot 18.06.1.svg
- 开发者： OpenWrt Project
- 操作系统家族：类Unix系统
- 运作状态：支援中
- 源码模式：自由软件、开源软件
- 发行日期：2004年
- 语言：22种语言
- 更新方式：opkg, apk (25.12 以后)
- 软件包管理系统：opkg, apk (25.12 以后)
- 支援平台：使用以下架构的50种不同平台：AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64
- 内核类别：宏内核（Linux）
- 使用者空间：BusyBox、GNU
- 默认用户界面：命令行界面、WebUI
- 许可证：自由软件（GPL和其他许可证）