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管理界面。
釋出版本
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-相容, s, DSL modems, 等。
- 各種计算机網路設定如下:
**路由可透過iproute2, , 等。
** 支持多种 IPv6过渡机制
** 網狀網路可經由B.A.T.M.A.N., 與IEEE 802.11s-相容的WNIC drivers
** 無線功能。如裝置實現無線路由、無線接取器、無線橋接、强制门户,或結合一些裝置如: ChilliSpot、等。
** 無線安全: ,例如: [http://airpwn.sourceforge.net/Airpwn.html Airpwn]、lorcon等。
** 狀態防火牆、NAT和路由器端口扫描(port forwarding)經由netfilter;其他還有已支持。
** UPnP與NAT端口映射协议可透過 upnpd來設定。
** 可透過knockd與knock達成。
** TR-069
** IPS經由Snort
** 使用多個互联网服务供应商達到負載平衡。
** IP穿透(tunneling)
** 網路監視與統計數據等。例如: RRDtool, , Nagios, , Zabbix等。
** 域名系统 (DNS)和DHCP經由Dnsmasq、等。
** 动态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, ,音效與影像流經由DLNA/UPnP AV standards、iTunes () 伺服器
** Asterisk
** 使用Mosquitto实现的MQTT
- 可延伸的Ajax,由LuCI支持這個新界面基於LuCI,是一種MVC架構,由Lua語言撰寫。
是一個專為OpenWrt所設計的套件,是LuCI以外的另一種選擇,在包倉庫中名為webif,由使用者自行下載安裝。
File:Openwrt-luci-firewall.png|LuCI
File:X-Wrt-logo.png|X-Wrt
File:Gargoyle Router Firmware quotas.png|Gargoyle
应用
*用于脱机离线下载
*VPN服务器
*SSH服务器
*网络代理
*主机游戏加速
*内网穿透
*动态DNS
*单线多拨及带宽叠加
*多线路拨号宽带叠加
*QoS智能限速
*远程视频监控
*去除广告,屏蔽恶意域名
*网络打印机
*软路由
*比特币挖矿
*Docker
*高可用性(HA)和负载均衡
硬件兼容性
OpenWrt運行許多不同的路由器,並在其網站上包括一個兼容硬件表。在其買家指南中,比起博通,他们更建议购买高通Atheros芯片设备。
OpenWrt在各大社区和无私贡献的帮助下,你甚至在传统的ARM硬路由上可以见到OpenWrt的身影,也能部署在x86-64的传统电脑软路由里OpenWrt的兼容性远远不止如此。
正式採用
OpenWrt,特別是其Buildroot構建系統,已經採用了很多次:
*及其他網狀網絡社區
*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日結束。
*的Omnia路由器是使用OpenWrt的衍生運行
*無線社區網絡的多種草根項目,包括Freifunk,Libre-Mesh和qMp
- 基於OpenWrt的分發,沒有非自由軟件或二進制blob,由自由軟件基金會認可
*Asuswrt(asuswrt-merlin),載體為Asus網通產品。
*部分企业如小米、TP-Link 和 D-Link 发布的家用路由器固件是基于 OpenWrt 的二次开发版本。
*ImmortalWrt - 一个OpenWrt的衍生版本,主要由中国的开发者社区维护。
*友善电子生产的Nano Pi系列的Soc设备,并提供基于 OpenWrt 的衍生操作系统 FriendlyWrt。
参见
- 客制路由器韌體清單
注釋
外部链接
*
*
*
评论 (0)