热门问题
时间线
聊天
视角
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