Article de reference

OpenWrt

OpenWrt (de l'anglais open wireless router ) est un projet open source pour les systèmes d'exploitation embarqués basés sur Linux , principalement utilisé sur les appareils emba...

OpenWrt (de l'anglais open wireless router ) est un projet open source pour les systèmes d'exploitation embarqués basés sur Linux , principalement utilisé sur les appareils embarqués pour acheminer le trafic réseau. Les principaux composants sont Linux, util-linux , musl , et BusyBox . Tous les composants ont été optimisés pour être suffisamment petits pour s'adapter au stockage et à la mémoire limités disponibles dans les routeurs domestiques.

OpenWrt est configuré à l'aide d'une interface de ligne de commande ( ash shell) ou d'une interface Web (LuCI). Il existe environ 8000 packages logiciels optionnels disponibles pour l'installation via le système de gestion de packages opkg .

OpenWrt peut fonctionner sur différents types d'appareils, notamment les routeurs CPE , les passerelles résidentielles , les smartphones , les ordinateurs de poche (par exemple, Ben NanoNote ). Il est également possible d'exécuter OpenWrt sur des ordinateurs personnels et des ordinateurs portables .

Histoire

Le projet OpenWrt a été lancé en 2004 après que Linksys ait développé le micrologiciel de sa série de routeurs sans fil WRT54G avec un code sous licence GNU General Public License . Selon les termes de cette licence, Linksys était tenu de rendre le code source de sa version modifiée disponible sous la même licence, ce qui a permis aux développeurs indépendants de créer des versions dérivées. La prise en charge était initialement limitée à la série WRT54G, mais a depuis été étendue pour inclure de nombreux autres routeurs et appareils de nombreux fabricants différents.

En utilisant ce code comme base, puis comme référence, les développeurs ont créé une distribution Linux qui offre de nombreuses fonctionnalités qui n'étaient pas présentes auparavant dans les routeurs grand public. Au début, certaines fonctionnalités nécessitaient un logiciel propriétaire. Par exemple, avant OpenWrt 8.09 (basé sur Linux 2.6.25 et le b43module du noyau), le WLAN pour de nombreux routeurs basés sur Broadcom ne pouvait être obtenu que via le wl.omodule propriétaire (qui nécessitait Linux 2.4.x).

Les versions d'OpenWrt étaient historiquement nommées d'après des cocktails, tels que White Russian , Kamikaze , Backfire, Attitude Adjustment, Barrier Breaker et Chaos Calmer, et leurs recettes étaient incluses dans le message du jour (motd) affiché après la connexion à l'aide de l' interface de ligne de commande .

En mai 2016, OpenWrt a été forké par un groupe de contributeurs principaux d'OpenWrt en raison de désaccords sur le processus interne. Le fork a été baptisé Linux Embedded Development Environment (LEDE). Le schisme a été résolu un an plus tard. Après la fusion, annoncée en janvier 2018, la marque OpenWrt est préservée, avec de nombreux processus et règles LEDE utilisés. Le nom du projet LEDE a été utilisé pour la version 17.01, avec les versions de développement de la version 18.01 sous la marque OpenWrt, abandonnant le schéma de nommage original basé sur le cocktail.

Communiqués de presse

LEDE

Le projet Linux Embedded Development Environment ( LEDE ) était un fork du projet OpenWrt et partageait de nombreux objectifs similaires. Il a été créé en mai 2016 par un groupe de contributeurs principaux d'OpenWrt en raison de désaccords sur les processus internes d'OpenWrt. Le schisme a été nominalement réconcilié un an plus tard, en mai 2017, en attendant l'approbation des développeurs de LEDE. La fusion conserve la marque OpenWrt, mais utilise de nombreux processus et règles de LEDE. Le vote de la proposition de fusion a été adopté par les développeurs de LEDE en juin 2017, et officiellement annoncé en janvier 2018. Le processus de fusion a été achevé avant la sortie d'OpenWrt 18.06.

Version Date de sortie Noyau Remarques
17.01.0 22/02/2017 4.4.50 première version stable
17.01.1 19/04/2017 4.4.61 Corrections de bugs et améliorations
17.01.2 12/06/2017 4.4.71 correctifs de sécurité
17.01.3 03/10/2017 4.4.89 correctifs de sécurité
17.01.4 18/10/2017 4.4.92 correctifs de sécurité ( KRACK , dans la mesure où ils peuvent être résolus par des correctifs côté serveur)
17.01.5 18/07/2018 4.4.140 correctifs de sécurité
17.01.6 03/09/2018 4.4.153 correctifs de sécurité

Caractéristiques

OpenWrt dispose d'un système de fichiers racine accessible en écriture , permettant aux utilisateurs de modifier n'importe quel fichier et d'installer facilement des logiciels supplémentaires. Cela contraste avec d'autres micrologiciels basés sur des systèmes de fichiers en lecture seule qui ne permettent pas de modifier les logiciels installés sans reconstruire et flasher une image complète du micrologiciel. Cela est accompli en superposant un système de fichiers SquashFS compressé en lecture seule avec un système de fichiers JFFS2 accessible en écriture à l'aide d'overlayfs . Des logiciels supplémentaires peuvent être installés avec le gestionnaire de paquets opkg et le référentiel de paquets contient environ 8 000 paquets (d'ici 2022).

LuCI

OpenWrt peut être configuré via une interface de ligne de commande ou une interface Web appelée LuCI. OpenWrt fournit un ensemble de scripts appelés UCI (interface de configuration unifiée) pour unifier et simplifier la configuration via l'interface de ligne de commande. Des interfaces Web supplémentaires, telles que Gargoyle , sont également disponibles.

OpenWrt fournit régulièrement des correctifs de bogues et des mises à jour de sécurité, même pour les appareils qui ne sont plus pris en charge par leurs fabricants.

OpenWrt fournit des possibilités exhaustives pour configurer les fonctionnalités courantes liées au réseau, comme IPv4 , IPv6 , DNS , DHCP , le routage , le pare-feu , NAT , la redirection de port et WPA .

Les autres fonctionnalités incluent :

Développement

L'environnement de développement et le système de compilation d'OpenWrt, connus ensemble sous le nom d' OpenWrt Buildroot , sont basés sur un système Buildroot fortement modifié . OpenWrt Buildroot est un ensemble de Makefiles et de correctifs qui automatise le processus de construction d'un système OpenWrt complet basé sur Linux pour un appareil embarqué, en construisant et en utilisant une chaîne d'outils de compilation croisée appropriée .

Les périphériques embarqués utilisent généralement un processeur différent de celui des ordinateurs hôtes utilisés pour créer leurs images système OpenWrt, ce qui nécessite une chaîne d'outils de compilation croisée. Une telle chaîne d'outils de compilation s'exécute sur un système hôte mais génère du code pour un périphérique embarqué ciblé et l'architecture du jeu d'instructions (ISA) de son processeur. Par exemple, si un système hôte utilise x86 et qu'un système cible utilise MIPS32 , la chaîne d'outils de compilation standard de l'hôte s'exécute sur x86 et génère du code pour l'architecture x86, tandis que la chaîne d'outils de compilation croisée s'exécute sur x86 et génère du code pour l'architecture MIPS32. OpenWrt Buildroot automatise l'ensemble de ce processus pour fonctionner sur les architectures de jeu d'instructions de la plupart des périphériques embarqués et des systèmes hôtes.

OpenWrt Buildroot fournit les fonctionnalités suivantes :

  • Facilite le portage des logiciels entre les architectures
  • Utilise kconfig ( menuconfig du noyau Linux ) pour la configuration de toutes les options
  • Fournit une chaîne d'outils de compilateur croisé intégrée ( gcc , ld , uClibc , etc.)
  • Fournit une abstraction pour les outils automatiques ( automake , autoconf ), CMake et SCons
  • Gère le flux de travail de création d'images OpenWrt standard : téléchargement, correctifs, configuration, compilation et packaging
  • Fournit un certain nombre de correctifs courants pour les packages connus pour se comporter de manière incorrecte

Outre la création d'images système, l'environnement de développement OpenWrt fournit également un mécanisme de création simplifiée de packages logiciels OpenWrt sur plusieurs plates-formes. Le code source de chaque package logiciel est requis pour fournir un ensemble d'instructions de construction de type Makefile et un ensemble optionnel de correctifs pour les corrections de bogues ou les optimisations d'empreinte.

Compatibilité matérielle

OpenWrt gère de nombreux routeurs différents et inclut un tableau des matériels compatibles sur son site Web. Dans son guide d'achat, il indique que les utilisateurs recommandent des appareils équipés de puces sans fil provenant soit d'Atheros de Qualcomm , de Ralink (maintenant MediaTek ) ou de tout autre fournisseur proposant des pilotes et des spécifications open source. Il évite spécifiquement les chipsets Broadcom car l'ensemble des fonctionnalités est très limité en raison de l'absence de pilotes ouverts. OpenWrt recommande également de choisir un appareil doté d'un minimum de 16 Mo de mémoire flash et de 128 Mo de RAM, de préférence en quantités plus élevées.

Adoption

OpenWrt, en particulier son système de compilation Buildroot, a été adopté comme structure pour d'autres efforts. Par exemple

  • AltiWi, remplacement de Cloudtrax à « frais uniques ».
  • Bufferbloat.net (Cerowrt)
  • Freifunk et autres communautés de réseaux maillés
  • Les projets d'intégration IPv6 de l'IETF HIPnet et HomeNet sont basés sur OpenWrt
  • prplOS, un framework de niveau opérateur conçu pour alimenter les routeurs et les passerelles des FAI fabriqués par Prpl Foundation
  • SIMET Box, développé par NIC.br , est basé sur OpenWrt

Projets dérivés

  • AREDN Le réseau de données d'urgence radioamateur utilise un micrologiciel basé sur OpenWrt : Projet GitHub
  • CeroWrt – (2011-2014) projet visant à résoudre le problème de saturation de la mémoire tampon dans les réseaux domestiques, à prendre en charge IPv6, à intégrer DNSSEC, pour les réseaux filaires et sans fil, afin de compléter l'arborescence du noyau de test de saturation et de fournir une plate-forme pour les tests en conditions réelles des correctifs de saturation de la mémoire tampon . Le projet CeroWRT a été complètement achevé en 2014, lorsque les correctifs finalisés ont été fusionnés dans OpenWRT. Le « projet Bufferbloat » à l'origine de CeroWRT a continué à rechercher de nouvelles méthodes telles que CAKE .
  • Coova chilli – Basé sur OpenWrt et axé sur les points d’accès sans fil, un fork de chillifire axé sur la gestion des points d’accès sans fil
  • Flukso – Nœuds de capteurs sans fil utilisant un chipset Atheros AR2317 exécutant un système d'exploitation OpenWrt corrigé pour la communication. Sources et schémas matériels disponibles sur GitHub .
  • Fon – Routeurs sans fil basés sur OpenWrt agissant comme points d'accès sans fil. Sources et chaîne d'outils disponibles sur fonosfera.org
  • Gargoyle – une interface Web pour OpenWrt mettant l'accent sur la convivialité, qui a ensuite été transformée en une distribution distincte
  • Gluon – Cadre de création de firmwares basés sur OpenWrt adaptés au déploiement de réseaux maillés : Projet GitHub
  • JUCIWRT – une distribution moderne utilisant l'interface Web JUCI qui est devenue plus tard un flux OpenWrt. Le code source de JUCI est disponible sur mkschreder/juci et est toujours utilisable en installant le flux OpenWRT trouvé sur mkschreder/juci-openwrt-feed
  • libreCMC – Distribution basée sur OpenWrt qui exclut les logiciels non libres ou les blobs binaires, approuvée par la Free Software Foundation
  • Linino – Distribution basée sur OpenWrt pour l' Arduino Yùn basé sur MIPS : Projet GitHub
  • Midge Linux – une distribution basée sur OpenWrt pour les appareils basés sur les SoC Infineon Technologies ADM-5120 , tels que Edimax BR-6104K et BR-6104KP.
  • OpenMPTCProuter – agrégation de plusieurs connexions Internet à l'aide de Multipath TCP
  • OpenSAN – Réalisation d’un réseau de stockage cible iSCSI .
  • PacketProtector – Distribution de sécurité basée sur OpenWrt qui inclut des fonctionnalités IDS , IPS , VPN et antivirus Web. Les packages comprenaient Snort, Snort-inline, FreeRADIUS , OpenVPN , DansGuardian et ClamAV . Ces outils étaient accessibles via l'ancienne interface de gestion graphique Web d'OpenWrt, appelée X-Wrt ou webif^2. Le projet a pris fin le 7 juin 2012.
  • Le kit de développement logiciel QCA (QSDK) de Qualcomm , utilisé comme base de développement par de nombreux OEM, est un dérivé d'OpenWrt
  • RutOS – un système d'exploitation pour tous les routeurs Teltonika, basé sur OpenWrt. Code source trouvé sur GPL - Teltonika Networks Wiki.
  • SmoothWAN – agrégation de plusieurs connexions Internet et conditionnement du réseau à l’aide de Speedify , Engarde et tinyfecvpn.
  • Les routeurs Turris Omnia et Turris MOX fonctionnent sur un dérivé d'OpenWrt
  • Les firmwares des routeurs sans fil d'Ubiquiti sont basés sur OpenWrt
  • Divers projets locaux pour les réseaux communautaires sans fil , notamment Freifunk , Libre-Mesh et qMp
  • Certains firmwares de routeurs TP-Link , Xiaomi , ZyXEL et D-Link sont dérivés d'OpenWrt
  • FreeWRT était une distribution Linux utilisée dans les systèmes embarqués tels que les périphériques WLAN de Linksys et Asus. Non lié à un projet (du même nom) basé sur le firmware Sveasoft.
  • Friendly Electronics fabrique la série NanoPi de dispositifs SoC et met à disposition un système d'exploitation dérivé d'OpenWRT appelé FriendlyWRT.
  • L'interface utilisateur graphique personnalisée Technicolor d'Ansuel est une interface Web de gestion modifiée développée sur la base du firmware officiel Technicolor for Homeware, qui exécute un fork d'OpenWrt, déverrouillant les modems/routeurs Technicolor.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index