Openwrt

openwrt
Utvecklaren GNU och Linksys- projektet
Första upplagan januari 2004
senaste versionen
Uppdateringsmetod opkg [d]
Pakethanterare opkg [d]
Plattformar som stöds x86 , AVR32 , ARM , ETRAX CRIS [d] , Motorola 680x0 , MIPS , PowerPC , SPARC , SuperH , Ubicom [d] och x86_64
Licens GNU GPL 2 [3]
Källkodsförråd git.openwrt.org/openwrt/...
Hemsida openwrt.org
 Mediafiler på Wikimedia Commons

OpenWrt  är ett inbäddat operativsystem baserat på Linux-kärnan , designat främst för hemroutrar (routrar, från den engelska  routern ). Huvudkomponenterna inkluderar Linux-kärnan, util-linux , uClibc eller musl [4] och BusyBox . Storleken på alla komponenter är optimerad på grund av att de flesta hemroutrar har en mycket begränsad mängd minne.

Historiskt sett har ett kommandoradsgränssnitt använts för att konfigurera OpenWrt , men ett alternativ är ett webbgränssnitt (det ingår för de flesta enheter i standarddistributionen av OpenWrt), som också ger alternativ för att konfigurera OpenWrt, även om det är mindre komplett. Teknisk support tillhandahålls traditionellt via forumet och IRC- kanalen.

Historik

OpenWrt-projektet startades 2004 efter att Linksys skapat firmware för deras WRT54G-serie av trådlösa routrar med öppen källkod , populära på den tiden , licensierade under GNU General Public License . Enligt villkoren i denna licens var Linksys skyldig att göra källkoden för dess modifierade version tillgänglig under samma licens, vilket gör det möjligt för oberoende utvecklare att skapa sina egna härledda versioner.

Till en början var stödet begränsat till Linksys WRT54G -serien , men utökades gradvis till att omfatta styrkretsar från andra tillverkare , inklusive x86 .  De mest populära inom projektet under lång tid var Linksys WRT54G och Asus WL500G-serien .

2016 lämnade åtta aktiva OpenWrt-utvecklare projektet och skapade sin egen gaffel av LEDE ( Linux Embedded Development Environment ) .  Detta beslut fattades av dem på grund av olösta hanteringsproblem i OpenWrt-projektet som har ackumulerats under lång tid [5] . 2017 släpptes den första utgåvan av LEDE, och 2018 slogs båda projekten (OpenWrt och LEDE) samman på de utvecklingsprinciper som utarbetats i LEDE: en förutsägbar utvecklingscykel, mer liberala regler för att acceptera ändringar av kod jämfört med tidigare OpenWrt , en öppen och offentlig acceptans process lösningar [6] .

Funktioner

Den huvudsakliga utmärkande egenskapen hos OpenWrt är fullt stöd för filsystemet JFFS2 , vilket gjorde det möjligt att installera ytterligare programvara från OpenWrt-förvaret (för detta användes tidigare ipkg pakethanteraren , nu är det opkg ). Detta gjorde OpenWrt till ett enkelt anpassningsbart operativsystem som kan anpassas till specifika applikationer. I versioner för routrar med ett flashminne på 4 MB eller mer, används SquashFS -filsystemet vanligtvis för att lagra ett oförändrat system och en överlagring på JFFS2-filsystemet (överlagring är en kombination av föränderliga och oförändrade filer i en katalog). I det här fallet används utrymmet mindre effektivt, eftersom ändringarna lagras i en separat sektion, men överlägget gör det enkelt att återgå till standardinställningarna.

Lagerfirmwaren tillhandahåller en grundläggande uppsättning funktioner, medan den pågående utvecklingen av "trunk"-versionen saknar ett förinstallerat webbgränssnitt. (Ytterligare) paket används för att utöka funktionaliteten. Recensioner noterar besväret med webbgränssnittet för oerfarna användare [7] [8] .

OpenWrt konfigureras med hjälp av kommandoraden ( med askskalet ), en uppsättning UCI-skript (Unified Configuration Interface) eller LuCI -webbgränssnittet baserat på det. Arkiverad 6 oktober 2014 på Wayback Machine . Det finns mer än 3500 mjukvarupaket tillgängliga i förvaret, tillgängliga för installation med pakethanteringssystemet opkg .

Typer av anslutningar som stöds

På grund av möjligheten till oberoende kompilering av firmware (inklusive kärnan), tillåter användningen av OpenWrt dig att implementera nästan alla kända nätverksmetoder. Som standard kan färdiga officiella distributioner använda följande anslutningar:

UCI och LuCI

Traditionell konfiguration av Unix-liknande system kräver att man fyller i ett stort antal textkonfigurationsfiler, varav de flesta har olika syntax , och anropar ett stort antal kommandoradsverktyg med olika parametrar, vilket kräver skapande och felsökning av ganska komplexa skript ( skript) .

Istället erbjuder OpenWrt ett enhetligt konfigurationsgränssnitt ( UCI ) Arkiverat 7 november 2017 på Wayback Machine ( Unified Configuration Interface ), som låter dig styra de flesta systemparametrar med hjälp av en enda konfigurationsfilsyntax och kommandorad.  

UCI-konfigurationsfilerna finns i /etc/config-grenen och är i allmänhet inte avsedda att redigeras av människor. Uci- verktyget används för att visa och ändra konfigurationsinställningar . När du kör uci set- kommandon skapas en tillfällig konfiguration, men den fungerande konfigurationen ändras inte. Kommandot uci revert omvänder ändringar som gjorts i den tillfälliga konfigurationen, vilket inte heller påverkar den fungerande. Den faktiska tillämpningen av konfigurationen sker endast med kommandot uci commit , som sätter den enhetliga konfigurationsbeskrivningen i ett ömsesidigt sammanhängande, konsekvent tillstånd av traditionella konfigurationsfiler och skript.

Standard webbgränssnitt LuCI Arkiverad 27 oktober 2017 på Wayback Machine ( engelska  Lua Configuration Interface  - konfigurationsgränssnitt på Lua ) använder UCI för att få information om systemet och göra ändringar i dess konfiguration.

X-Wrt

Systerprojektet X-Wrt är en slutanvändarförlängning av OpenWrt [7] [10] . OpenWrt är ett grundläggande system med ett minimalt webbgränssnitt för att konfigurera alternativ. Den huvudsakliga förlängningen av X-Wrt är webif² [11] , ett webbgränssnitt med cirka 40 sidor med routerkonfigurationsalternativ. Webif² innehåller grafer över nätverkstrafik och systemövervakning, sidor för nätverkskonfiguration och kontroll, trådlös anslutning och säkerhet. Inställningar tillhandahålls för följande tjänster: loggning , uppstart , cron , NVRAM , textredigering , ipkg hantering , SNMP , säkerhetskopiering och återställning , uppdatering av firmware , WAN , VLAN , Wi-Fi , WEP , WPA , WDS , MAC-filtrering , Brandvägg , vidarebefordran av portar , DHCP , Dnsmasq , Värdnamn , IP - kontroll , Routing , UPnP , QoS , DynDNS , Wake-on-LAN , OpenVPN , PPTP och WiFi hotspot .

Anteckningar

  1. https://openwrt.org/releases/22.03/notes-22.03.2 - 2022.
  2. https://openwrt.org/releases/21.02/notes-21.02.5 - 2022.
  3. https://github.com/openwrt/openwrt/blob/master/COPYING
  4. Felix Fietkau. OpenWrt växlar till musl som standard (nedlänk) . OpenWrt Development List (16 juni 2015). Datum för åtkomst: 16 juni 2015. Arkiverad från originalet 17 juni 2015. 
  5. Aktiva utvecklare av OpenWrt grundade en del av distributionen  : [ arch. 5 maj 2016 ] // OpenNET. - 2016. - 3 maj.
  6. OpenWrt- och LEDE-projekt går samman  : [ arch. 6 januari 2018 ] // OpenNET. - 2018. - 3 januari.
  7. 1 2 Oskolkov I. Lägg bara till funktionalitet  : Alternativ firmware för routrar // 3DNews. - 2011. - 5 maj.
  8. Edwards J. On Wireless Waves // WindowsIT PRO/RE. - Öppna system , 2006. - Nr 4.
  9. OpenWRT - Configuring Dual Access (Russian) PPPoE Arkiverad 1 augusti 2013 på Wayback Machine Denis Yuriev, blogg? Nej-nej-nej .., 28 juni 2013.
  10. Linux-format, 2007 .
  11. Process Lasso (nedlänk) . Arkiverad från originalet den 13 oktober 2007. 

Länkar