热门问题
时间线
聊天
视角
OpenWrt
用於嵌入式裝置(通常是無線路由器)的高度可擴展GNU/Linux散佈版 来自维基百科,自由的百科全书
Remove ads
![]() |
Remove ads
相对原厂固件而言,OpenWrt不是一个单一、静态的固件,而是提供了一个可添加软件包的可写的文件系统。这使用户可以自由的选择应用程式和配置,而不必受装置提供商的限制,并且可以使用一些适合某方面应用的软件包来定制你的装置。对于开发者来说,OpenWrt是一个框架,开发者不必麻烦地构建整个固件就能得到想要的应用程式;对于用户来说,这意味着完全定制的能力,与以往不同的方式使用装置,OPKG包含超过3500个软件。 默认使用LuCI作为web交互界面。
OpenWrt另有一个复刻分支项目,名为LEDE,两者于2018年1月合并,合并后的项目使用OpenWrt的名字、LEDE的原始码。[5]
Remove ads
历史
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” 版本发布[6]
2011年9月21日,juhosg接手OpenWrt,并释出了wr703n的官方原始码。
2013年4月,OpenWrt 12.09 发布,Linux核心版号为3.3版。
由于WRT54G价格低廉,OpenWrt又开源免费,它在当时成为了学习嵌入式Linux的最佳平台。OpenWrt本身未带任何UI,需要通过LuCI,webif等各种延伸界面,LuCI界面是使用率最高的Web管理界面。
Remove ads
Remove ads
LEDE
Linux 嵌入式开发环境,即The Linux Embedded Development Environment (LEDE),该项目是OpenWrt项目的一个分支,[41][42][43]成立于 2016 年 5 月,由部分 OpenWrt 核心开发者创立,原因是他们对 OpenWrt 内部管理流程产生了分歧[42]。LEDE 项目延续了 OpenWrt 的目标,专注于嵌入式系统的开发,但引入了新的开发和治理流程。[44]
2017 年 5 月,OpenWrt 和 LEDE 双方开始寻求项目的合并,并在经过一年的协调后,达成了共识。LEDE 开发者于 2017 年 6 月通过了合并提案,并在 2018 年 1 月正式宣布两者重新合并。[45]
合并后,保留了 OpenWrt 的品牌名称,但在项目治理和开发流程上借鉴了 LEDE 的许多机制。该合并在 OpenWrt 18.06 版本发布之前完成。合并后的项目继续以 OpenWrt 名义运作,并维持其作为开源嵌入式 Linux 系统的重要地位。[46]
特色
OpenWrt遵循着市集-哲学而且已知有着丰富的选项。功能如下:
- 可写的根目录,让用户自行新增,移除或修改任何文件。SquashFS与JFFS2文件系统的集成形成的overlayfs机制[54]形成重叠[55]。squashfs是一种只读的压缩文件系统,压缩率和gzip差不多。jffs2是一种日志类型的文件系统,专为NorFlash设计。
- 包管理员opkg,类似dpkg,可让用户新增或移除软件。软件仓库大约有3500个包。是一个可以从本地或远程软件下载并安装OpenWrt包的轻量型实用工具。
- UCI (unified configuration interface) 脚本支持[56]
- 完整的硬件驱动程式支持。例如: 内建网络交换器及其VLAN-兼容, WNICs, DSL modems, FX等。
- 各种电脑网络设置如下:
- 路由可透过iproute2, Quagga, BIRD等。
- 支持多种 IPv6过渡机制
- 网状网络可经由B.A.T.M.A.N., OLSR与IEEE 802.11s-兼容的WNIC drivers
- 无线功能。如装置实现无线路由、无线接取器、无线桥接、强制网络门户,或结合一些装置如: ChilliSpot、WiFiDog Captive Portal等。
- 无线安全: Packet injection,例如: Airpwn(页面存档备份,存于互联网档案馆)、lorcon等。
- 状态防火墙、NAT和路由器端口扫描(port forwarding)经由netfilter;其他还有PeerGuardian已支持。
- UPnP与NAT-PMP可透过 upnpd来设置。
- port knocking可透过knockd与knock达成。
- TR-069[57]
- IPS经由Snort
- 使用多个互联网服务供应商达到负载平衡。
- IP穿透(tunneling)
- 网络监视与统计数据等。例如: RRDtool, Collectd, Nagios, Munin lite, Zabbix等。
- 域名系统 (DNS)和DHCP经由Dnsmasq、MaraDNS等。
- 动态DNS可负责修复互联网服务供应商的DNS,但不提供静态IP地址
- 无线分散系统(WDS) 包含WPA-PSK、WPA2-PSK、WPA-PSK/WPA2-PSK混合加密模式
- OpenWrt支持各种Linux已支持的硬件,并透过USB连线
- 著名的软件支持硬件 :
- 文件分享经由Samba,(Windows兼容),NFS和FTP,经由print server CUPS (spooling) 或 p910nd (non-spooling)分享打印功能。
- PulseAudio, Music Player Daemon,音效与影像流经由DLNA/UPnP AV standards、iTunes (DAAP) 伺服器
- Asterisk
- MQ Telemetry Transport经由Mosquitto
- 可扩展的Ajax,由LuCI支持[58]
- 系统更新,即便装置已不再受原厂支持。
Remove ads
在8.09版之前,OpenWrt提供最小GUI。OpenWrt推出8.09及日后新版中,有更多的Web界面可供选择。[59]这个新界面基于LuCI,是一种MVC架构,由Lua语言撰写。[58]
X-Wrt是一个专为OpenWrt所设计的包,是LuCI以外的另一种选择,在包仓库中名为webif²,由用户自行下载安装。
-
LuCI
-
X-Wrt
-
Gargoyle
应用
硬件兼容性
OpenWrt运行许多不同的路由器,并在其网站上包括一个兼容硬件表。[61]在其买家指南中,比起博通,他们更建议购买高通Atheros晶片装置。[62] OpenWrt在各大社区和无私贡献的帮助下,你甚至在传统的ARM硬路由上可以见到OpenWrt的身影,也能部署在x86-64的传统电脑软路由里OpenWrt的兼容性远远不止如此。
正式采用
OpenWrt,特别是其Buildroot构建系统,已经采用了很多次:
- Freifunk及其他网状网络社区
- Bufferbloat.net (Cerowrt)
- IETF IPv6集成项目HIPnet和HomeNet是基于OpenWrt
派生分支
- LEDE作为OpenWrt项目的分支机构而成立,并拥有许多相同的目标。现在已与OpenWRT合并。
- CeroWrt – 目的是补充debloat测试kernel tree,并为缓冲器修复的现实世界测试提供一个平台[63][64]
- 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,IPS,VPN和Web防病毒功能。
- 软件包包括Snort,Snort-inline,FreeRADIUS,OpenVPN,DansGuardian和ClamAV。
- 这些工具可以通过OpenWrt的旧Web GUI管理界面访问,称为X-Wrt或webif^2。项目于2012年6月7日结束。[65]
- Turris Omnia的Omnia路由器是使用OpenWrt的派生运行
- 无线社区网络的多种草根项目,包括Freifunk,Libre-Mesh和qMp
- libreCMC – 基于OpenWrt的分发,没有非自由软件或二进制blob,由自由软件基金会认可[66]
- Asuswrt(asuswrt-merlin),载体为Asus网通产品。
- 部分企业如小米、TP-Link 和 D-Link 发布的家用路由器固件是基于 OpenWrt 的二次开发版本。[67][67][68]
- ImmortalWrt - 一个OpenWrt的派生版本,主要由中国的开发者社区维护。[69][70]
- 友善电子生产的Nano Pi系列的Soc装置,并提供基于 OpenWrt 的派生操作系统 FriendlyWrt。[71]
路由器固件项目列表
注释
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads