OpenWrt - OpenWrt
Dezvoltator | Proiect OpenWrt |
---|---|
Familia OS | Unix-like |
Starea de lucru | Actual |
Modelul sursă | Sursa deschisa |
Eliberarea inițială | Ianuarie 2004 |
Ultima lansare | 21.02.0 / 4 septembrie 2021 |
Repertoriu | |
Disponibil in | Engleză, chineză, poloneză, portugheză, punjabi, spaniolă, galeză + 25 de limbi traduse parțial |
Metoda de actualizare | opkg |
Manager de pachete | opkg |
Platforme | 50 de platforme diferite folosind următoarele seturi de instrucțiuni : ARC , ARM , m68k , MIPS , PowerPC , SPARC , SuperH , x86 , x86-64 |
Tipul de nucleu | Monolitic ( Linux ) |
Userland | BusyBox |
Interfață de utilizator implicită |
CLI , WebUI |
Licență | Software gratuit ( GPL și alte licențe) |
Site oficial | openwrt |
OpenWrt (de la un router wireless deschis ) este un proiect open-source pentru sisteme de operare încorporate bazate pe Linux , utilizat în principal pe dispozitive încorporate pentru a direcționa traficul de rețea. Principalele componente sunt Linux, util-linux , musl și BusyBox . Toate componentele au fost optimizate pentru a fi suficient de mici pentru a se încadra în stocarea limitată și memoria disponibilă în routerele de acasă.
OpenWrt este configurat folosind o interfață de linie de comandă ( ash shell) sau o interfață web (LuCI). Există aproximativ 3500 de pachete software opționale disponibile pentru instalare prin sistemul de gestionare a pachetelor opkg .
OpenWrt poate rula pe diferite tipuri de dispozitive, inclusiv routere CPE , gateway-uri rezidențiale , smartphone-uri , computere de buzunar (de exemplu, Ben NanoNote ). De asemenea, este posibil să rulați OpenWrt pe computere personale și laptopuri , care se bazează cel mai frecvent pe arhitectura x86 .
Istorie
Proiectul OpenWrt a fost început în 2004 după ce Linksys a construit firmware - ul pentru seria lor de routere wireless WRT54G cu cod licențiat sub licența publică generală GNU . Conform termenilor acestei licențe, Linksys a fost obligat să facă codul sursă al versiunii sale modificate disponibil sub aceeași licență, ceea ce a permis dezvoltatorilor independenți să creeze versiuni derivate. Asistența a fost inițial limitată la seria WRT54G, dar de atunci a fost extinsă pentru a include multe alte routere și dispozitive de la mulți producători diferiți.
Folosind acest cod ca bază și mai târziu ca referință, dezvoltatorii au creat o distribuție Linux care oferă multe caracteristici care nu se găseau anterior în routerele la nivel de consumator. La început, unele caracteristici necesitau software proprietar. De exemplu, înainte de OpenWrt 8.09 (bazat pe Linux 2.6.25 și b43
modulul kernel), WLAN pentru multe routere bazate pe Broadcom putea avea doar prin wl.o
modulul proprietar (și care necesita Linux 2.4.x).
Lansările OpenWrt au fost denumite în mod istoric după cocktailuri, cum ar fi White Russian , Kamikaze , Backfire, Attitude Adjustment, Barrier Breaker și Chaos Calmer, iar rețetele lor au fost incluse în mesajul zilei (motd) afișat după conectarea utilizând interfața liniei de comandă .
În mai 2016, OpenWrt a fost forțat de un grup de contributori de bază OpenWrt din cauza dezacordurilor privind procesul intern. Furca a fost denumită Linux Embedded Development Environment (LEDE). Schisma a fost reconciliată un an mai târziu. În urma remergerului, anunțat în ianuarie 2018, brandul OpenWrt este păstrat, cu multe dintre procesele și regulile LEDE utilizate. Numele proiectului LEDE a fost utilizat pentru v17.01, cu versiuni de dezvoltare OpenWrt marca 18.01, renunțând la schema de denumire originală bazată pe cocktail.
Lansări
Versiune (numele codului) | Data de lansare | Nucleu | libc | Note |
---|---|---|---|---|
0,9 (rus alb) | Ianuarie 2006 | 2.4.30 | uClibc | Bazat pe NVRAM nas ,, wl . Platforma Supported: brcm-2.4 .
|
7.06 (Kamikaze) | Iunie 2007 | 2.6.19 | Folosind opkg . Platforme suportate: atheros-2.6 , au1000-2.6 , brcm-2.4 , brcm47xx-2.6 , ixp4xx-2.6 , imagicbox-2.6 , rb532-2.6 și x86-2.6 .
|
|
7.07 (Kamikaze) | Iulie 2007 | 2.6.21 | Platformă nouă: amcc-2.6 .
|
|
7.09 (Kamikaze) | Septembrie 2007 | |||
8.09 (Kamikaze) | Septembrie 2008 | 2.6.26 | Platformă nouă: ar71xx .
|
|
10.03 (Backfire) | 7 aprilie 2010 | 2.6.32 | Platforme suportate: 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 și xburst .
|
|
12.09 (Reglarea atitudinii) | 25 aprilie 2013 | 3.3 |
CoDel ( programator de rețea ) backportat de la Linux 3.5 la 3.3. Platforme noi: ramips , bcm2708 (zmeură Pi) și altele.
|
|
14.07 (Breaker Barrier) | 2 octombrie 2014 | 3.10.49 | Noi platforme: i.MX23 , i.MX6 .
|
|
15.05 (Haos Calmer) | 11 septembrie 2015 | 3.18.20 | nftables (disponibil din kernel-ul Linux 3.12); Platforme noi: TBA dacă există | |
15.05.1 (Haos Calmer) | 16 martie 2016 | 3.18.23 | ||
17.01.7 (Repornire (OpenWRT / LEDE)) | 20 iunie 2019 | 4.4.182 | musl | |
18.06.0 | 31 iulie 2018 | 4.9.111, 4.14.52 | ||
18.06.1 | 19 august 2018 | 4.9.120, 4.14.63 | ||
18.06.2 | 31 ianuarie 2019 | 4.9.152, 4.14.95 | ||
18.06.4 | 1 iulie 2019 | 4.9.184, 4.14.131 | ||
18.06.5 | 8 noiembrie 2019 | 4.9.198, 4.14.151 | ||
18.06.6 | 10 ianuarie 2020 | 4.9.208, 4.14.162 | ||
18.06.7 | 31 ianuarie 2020 | 4.9.211, 4.14.167 | ||
18.06.8 | 6 martie 2020 | 4.9.214, 4.14.171 | ||
18.06.9 | 9 decembrie 2020 | 4.9.243, 4.14.206 | Remedii de securitate (DNS SAD), actualizări ale componentelor de bază și mai multă asistență pentru dispozitiv. Sfârșitul de asistență 18.06. | |
19.07.0 | 6 ianuarie 2020 | 4.14.162 | Suport WPA3 . | |
19.07.1 | 31 ianuarie 2020 | 4.14.167 | Securitate și remedieri de erori și mai multă asistență pentru dispozitiv. | |
19.07.2 | 6 martie 2020 | 4.14.171 | Securitate și remedieri de erori și mai multă asistență pentru dispozitiv. | |
19.07.3 | 20 mai 2020 | 4.14.180 | Securitate și remedieri de erori și mai multă asistență pentru dispozitiv. | |
19.07.4 | 10 septembrie 2020 | 4.14.195 | Stabilitate și suport pentru dispozitiv. | |
19.07.5 | 9 decembrie 2020 | 4.14.209 | Regresii și remedieri de securitate (DNS SAD). | |
19.07.6 | 19 ianuarie 2021 | 4.14.215 | Securitate și remedieri de erori | |
19.07.7 | 18 februarie 2021 | 4.14.221 | Securitate și remedieri de erori | |
19.07.8 | 7 august 2021 | 4.14.241 | Securitate și remedieri de erori | |
21.02.0 | 4 septembrie 2021 | 5.4.143 | Suport WPA3 , TLS și HTTPS inclus în mod implicit, suport inițial DSA , suport LXC și ujail | |
Legendă: Versiune veche Versiune mai veche, încă menținută Ultima versiune |
LEDE
Dezvoltator | Proiectul LEDE |
---|---|
Familia OS | Unix-like |
Starea de lucru | Fuzionat cu OpenWRT |
Modelul sursă | Sursa deschisa |
Eliberarea inițială | Mai 2016 |
Repertoriu | |
Disponibil in | 26 de limbi |
Metoda de actualizare | opkg |
Manager de pachete | opkg |
Platforme | 23 de platforme care utilizează următoarele seturi de instrucțiuni : AVR32 , ARM , CRIS , m68k , MIPS , PowerPC , SPARC , SuperH , Ubicom 32, x86 , x86-64 |
Tipul de nucleu | Monolitic ( Linux ) |
Userland | BusyBox , GNU |
Interfață de utilizator implicită |
CLI , WebUI |
Licență | Software gratuit ( GPL și alte licențe) |
Site oficial | lede-project |
Proiectul Linux Embedded Development Environment ( LEDE ) a fost o furcă a proiectului OpenWrt și a împărtășit multe dintre aceleași obiective. Acesta a fost creat în mai 2016 de un grup de contributori de bază OpenWrt din cauza dezacordurilor privind procesele interne OpenWrt. Schisma a fost reconciliată nominal un an mai târziu, în mai 2017, în așteptarea aprobării dezvoltatorilor LEDE. Remergerul păstrează marca OpenWrt, dar folosește multe dintre procesele și regulile LEDE. Votul propunerii de reîncadrare a fost adoptat de dezvoltatorii LEDE în iunie 2017 și a fost anunțat oficial în ianuarie 2018. Procesul de fuziune a fost finalizat înainte de lansarea OpenWRT 18.06.
Versiune | Data de lansare | Numarul de revizie | Note |
---|---|---|---|
17.01.0 | 22 februarie 2017 | r3205 | Prima lansare stabilă |
17.01.1 | 19 aprilie 2017 | r3316 | Kernel 4.4.61, remedieri de erori și îmbunătățiri |
17.01.2 | 12 iunie 2017 | r3435 | Kernel 4.4.71, remedieri de securitate |
17.01.3 | 3 octombrie 2017 | r3534 | Kernel 4.4.89, remedieri de securitate |
17.01.4 | 18 octombrie 2017 | r3560 | Kernel 4.4.92, remedieri de securitate ( KRACK , în măsura în care pot fi adresate de corecțiile de pe server) |
17.01.5 | 18 iulie 2018 | r3919 | Kernel 4.4.140, remedieri de securitate |
17.01.6 | 3 septembrie 2018 | r3979 | Kernel 4.4.153, remedieri de securitate |
Caracteristici
OpenWrt are un sistem de fișiere rădăcină care poate fi scris , permițând utilizatorilor să modifice orice fișier și să instaleze cu ușurință software suplimentar. Acest lucru este în contrast cu alte firmware bazate pe sisteme de fișiere numai în citire, care nu permit modificarea software-ului instalat fără a reconstrui și a clipi o imagine completă a firmware-ului. Acest lucru este realizat prin suprapunerea unui read-only comprimat SquashFS sistem de fișiere cu un inscriptibil JFFS2 sistem de fișiere folosind overlayfs . Software-ul suplimentar poate fi instalat cu managerul de pachete opkg , iar depozitul de pachete conține aproximativ 6000 de pachete.
OpenWrt poate fi configurat fie printr-o interfață de linie de comandă, fie printr - o interfață web numită LuCI. OpenWrt oferă un set de scripturi numite UCI (interfață de configurare unificată) pentru a unifica și simplifica configurația prin interfața din linia de comandă. Sunt disponibile și interfețe web suplimentare, cum ar fi Gargoyle .
OpenWrt oferă remedieri regulate de erori și actualizări de securitate chiar și pentru dispozitivele care nu mai sunt acceptate de producătorii lor.
OpenWrt oferă posibilități exhaustive de configurare a caracteristicilor comune legate de rețea, cum ar fi IPv4 , IPv6 , DNS , DHCP , rutare , firewall , NAT , redirecționare port și WPA .
Alte caracteristici includ:
- Configurare Extensible a driverelor hardware întregi, de exemplu , built-in switch - uri de rețea și de VLAN -capabilities, WNICs , modemuri DSL , FX , butoane hardware disponibile, etc.
- Rețea mesh prin BATMAN , OLSR și IEEE 802.11s - capacități ale driverelor WNIC și alte protocoale de rutare ad hoc mesh care au fost implementate în Linux.
- Funcționalitatea fără fir, de exemplu, face ca dispozitivul să acționeze ca un repetor fără fir , un punct de acces fără fir , o punte fără fir , un portal captiv sau o combinație a acestora cu, de exemplu , ChilliSpot , WiFiDog Captive Portal etc.
- Securitate wireless: injectare de pachete , de ex. Airpwn , lorcon , ea
- Protocoale de redirecționare a porturilor configurate dinamic UPnP și NAT-PMP prin upnpd etc.
- Portul bate
- Client TR-069 (CWMP)
- IPS prin Snort
- Managementul activ al cozii (AQM) prin intermediul planificatorului de rețea al kernel-ului Linux, cu multe discipline disponibile de așteptare . CoDel a fost backportat la Kernel 3.3. Aceasta încapsulează modelarea traficului pentru a asigura distribuția corectă a lățimii de bandă între mai mulți utilizatori și calitatea serviciului (QoS) pentru utilizarea simultană a aplicațiilor precum VoIP , jocuri online și streaming media fără a experimenta impactul negativ al saturației linkurilor.
- Echilibrarea încărcării pentru utilizare cu mai mulți furnizori de servicii Internet folosind rutare specifică sursei
- Tunelare IP ( GRE , OpenVPN, pseudowire etc.)
- Monitorizare și statistici extinse în rețea în timp real, de exemplu prin RRDtool , Collectd , Nagios , Munin lite , Zabbix etc.
- Servicii DNS dinamice pentru a menține un nume de domeniu fix cu un ISP care nu furnizează o adresă IP statică
- OpenWrt acceptă orice hardware care are suport Linux; dispozitivele care pot fi conectate (de ex. prin USB ) includ
- Pachetele software notabile pentru a utiliza suportul hardware sunt
- Partajarea fișierelor prin SAMBA , (compatibil cu Windows), NFS , FTP , SFTP. Partajarea imprimantei pe serverul de imprimare CUPS (spooling) sau p910nd (non-spooling)
- PulseAudio , Music Player Daemon , Streaming audio / video prin standarde AV DLNA / UPnP , server iTunes ( DAAP )
- Asterisc (PBX)
- MQ Telemetry Transport prin Mosquitto
Dezvoltare
Mediul de dezvoltare și sistemul de construire OpenWrt , cunoscut împreună ca OpenWrt Buildroot , se bazează pe un sistem Buildroot puternic modificat . OpenWrt Buildroot este un set de Makefiles și patch-uri care automatizează procesul de construire a unui sistem OpenWrt complet bazat pe Linux pentru un dispozitiv încorporat, prin construirea și utilizarea unui lanț de instrumente de compilare încrucișată adecvat .
Dispozitivele încorporate folosesc de obicei un procesor diferit de cel găsit în computerele gazdă utilizate pentru construirea imaginilor de sistem OpenWrt, necesitând un lanț de instrumente de compilare încrucișată. Un astfel de lanț de instrumente de compilare rulează pe un sistem gazdă, dar generează cod pentru un dispozitiv încorporat vizat și arhitectura setului de instrucțiuni al procesorului său (ISA). De exemplu, dacă un sistem gazdă folosește x86 și un sistem țintă utilizează MIPS32 , lanțul obișnuit de compilare al gazdei rulează pe x86 și generează cod pentru arhitectura x86, în timp ce lanțul de instrumente de compilare încrucișată rulează pe x86 și generează cod pentru arhitectura MIPS32. OpenWrt Buildroot automatizează întregul proces pentru a lucra la arhitecturile seturilor de instrucțiuni ale majorității dispozitivelor încorporate și a sistemelor gazdă.
OpenWrt Buildroot oferă următoarele caracteristici:
- Facilitează portarea software-ului între arhitecturi
- Folosește kconfig (Linux kernel menuconfig ) pentru configurarea tuturor opțiunilor
- Oferă un lanț de instrumente de compilare încrucișată integrat ( gcc , ld , uClibc etc.)
- Oferă o abstractizare pentru instrumentele automate ( automake , autoconf ), CMake și SCons
- Gestionează fluxul de lucru standard de creare a imaginilor OpenWrt: descărcare, corecție, configurare, compilare și ambalare
- Oferă o serie de remedieri comune pentru pachetele cunoscute care se comportă prost
Pe lângă construirea imaginilor sistemului, mediul de dezvoltare OpenWrt oferă și un mecanism pentru construirea simplificată pe mai multe platforme a pachetelor software OpenWrt. Codul sursă pentru fiecare pachet software este necesar pentru a furniza un set de instrucțiuni de construcție asemănător Makefile și un set opțional de patch-uri pentru remedierea erorilor sau optimizări ale amprentei.
Compatibilitate hardware
OpenWrt rulează multe routere diferite și include un tabel de hardware compatibil pe site-ul său web. În ghidul cumpărătorului, notează că utilizatorii recomandă dispozitive echipate cu cipuri wireless fie de la Qualcomm's Atheros, fie de la Ralink (acum MediaTek ). OpenWrt recomandă, de asemenea, alegerea unui dispozitiv cu minim 16 MB de bliț și 64 MB de RAM, de preferință cantități mai mari.
Adopţie
OpenWrt, în special sistemul său de construire Buildroot, a fost adoptat ca structură pentru alte eforturi. De exemplu
- Înlocuitor AltiWi „o singură taxă” pentru Cloudtrax.
- Bufferbloat.net (Cerowrt)
- Freifunk și alte comunități de rețea mesh
- Proiectele de integrare IETF IPv6 HIPnet și HomeNet sunt bazate pe OpenWrt
- prplWrt, cadru de tip operator, conceput pentru a alimenta routerele și gateway-urile ISP realizate de Fundația Prpl
- SIMET Box, dezvoltat de NIC.br , este bazat pe OpenWrt
Proiecte derivate
- AREDN - Rețeaua de date de urgență pentru radioamatori folosește un firmware bazat pe OpenWrt: Proiectul GitHub
- CeroWrt - (2011—2014) proiect de rezolvare a bufferbloat în rețeaua de acasă, suport IPv6, integrare DNSSEC, cu fir și wireless, pentru a completa arborele kernel-test debloat și pentru a oferi o platformă pentru testarea reală a corecțiilor bufferbloat
- Coova chilli - bazat pe OpenWrt cu accent pe hotspot-uri wireless, o furcă de chillifire cu accent pe gestionarea hotspot-ului wireless
- Flukso - Noduri de senzori fără fir care utilizează un chipset Atheros AR2317 care rulează un sistem de operare OpenWrt patch pentru comunicare. Surse și scheme hardware disponibile pe GitHub .
- Fon - Routerele wireless bazate pe OpenWrt care acționează ca hotspoturi. Surse și lanț de instrumente disponibile pe fonosfera.org
- Gargoyle - o interfață web pentru OpenWrt, cu un accent puternic pe utilitate, care ulterior a intrat într-o distribuție separată
- Gluon - Cadru pentru construirea firmwarelor bazate pe OpenWrt montate pentru implementarea rețelei mesh : Proiect GitHub
- JUCIWRT - o distribuție modernă care folosește webgui JUCI care a devenit ulterior un flux OpenWRT. Codul sursă pentru JUCI este disponibil la mkschreder / juci și este încă utilizabil prin instalarea fluxului openwrt găsit la mkschreder / juci-openwrt-feed
- libreCMC - Distribuție bazată pe OpenWrt care exclude software-ul non-gratuit sau blob-uri binare, aprobat de Free Software Foundation
- Linino - Distribuție bazată pe OpenWrt pentru proiectul Arduino Yùn: GitHub, bazat pe MIPS
- Midge Linux - o distribuție bazată pe OpenWrt pentru dispozitive bazate pe SoC -uri Infineon Technologies ADM-5120 , precum Edimax BR-6104K și BR-6104KP.
- OpenMPTCProuter - agregarea mai multor conexiuni la Internet folosind Multipath TCP
- OpenSAN - Realizarea rețelei de stocare țintă iSCSI .
- PacketProtector - Distribuție de securitate bazată pe OpenWrt care include funcții IDS , IPS , VPN și antivirus web. Pachetele includ Snort, Snort-inline, FreeRADIUS , OpenVPN , DansGuardian și ClamAV . Aceste instrumente erau accesibile prin intermediul vechii interfețe web de gestionare GUI a OpenWrt, numită X-Wrt sau webif ^ 2. Proiectul sa încheiat pe 7 iunie 2012.
- Qualcomm QCA Kit Software Development (QSDK) , care este folosit ca bază de dezvoltare de mulți OEM este un derivat OpenWRT
- RutOS - un sistem de operare pentru toate routerele Teltonika, bazat pe OpenWRT. Cod sursă găsit la GPL - Teltonika Networks Wiki .
- Routerele Turris Omnia și Turris MOX rulează pe un derivat OpenWrt
- Firmware-urile routerului wireless Ubiquiti se bazează pe OpenWrt
- Diverse proiecte de bază pentru rețele comunitare fără fir , inclusiv Freifunk , Libre-Mesh și qMp
- Unele firmware ale routerelor TP-Link sunt derivate din OpenWrt
- Unele firmware-uri de router Xiaomi sunt derivate din OpenWrt.
Vezi si
Referințe
linkuri externe
- Descărcări OpenWrt
- Listele de corespondență OpenWrt
- Proiectul LuCI
- Summit-ul OpenWrt
- prpl Foundation (o fundație non-profit fondată de Imagination Technologies pentru a sprijini platforma MIPS)
- GPL Code Center la Linksys