
OpenWrt est un système d'exploitation pour routeur gratuit et open source, développé sur le noyau Linux et largement utilisé dans les soft routers, routeurs matériels et divers appareils réseau embarqués. Contrairement aux firmwares de routeur classiques, OpenWrt fournit un système de fichiers entièrement accessible en écriture avec gestion de paquets, vous permettant d'installer librement toutes sortes d'applications pour étendre les fonctionnalités de votre routeur et vous affranchir des restrictions imposées par les fabricants.
L'un des systèmes de routage open source les plus populaires, OpenWrt bénéficie d'une communauté de développeurs active et d'un écosystème de plugins riche, avec plus de 1 000 paquets logiciels disponibles. Que vous souhaitiez transformer un routeur classique en soft router intelligent, mettre en place un NAS domestique ou filtrer les publicités, OpenWrt répondra à vos besoins.

Préparation
Configuration matérielle requise
Pour choisir un routeur compatible OpenWrt, privilégiez un appareil doté d'au moins 8 Mo de mémoire flash et 64 Mo de RAM afin de garantir le bon fonctionnement complet du système d'exploitation et de l'interface de gestion Web (LuCI).
Choix du firmware
Il est impératif de sélectionner le fichier firmware correspondant au modèle exact et à la version matérielle de votre routeur. Par exemple, un TP-Link WR841N version matérielle 8 nécessite le firmware spécifiquement conçu pour cette version ; utiliser le mauvais fichier risque de « briquer » l'appareil. Les fichiers firmware corrects se terminent généralement par factory.bin.
Vous pouvez vérifier la compatibilité de votre appareil via le sélecteur de firmware officiel OpenWrt.
Installation du firmware OpenWrt
Procédure de flashage
Le flashage du firmware OpenWrt s'effectue via l'interface de gestion Web d'origine du routeur :
- Connectez votre ordinateur au routeur avec un câble Ethernet (ne flashez jamais via WiFi)
- Connectez-vous à l'interface de gestion d'origine
- Accédez à « Outils système » → « Mise à jour du firmware »
- Sélectionnez le fichier firmware OpenWrt
factory.bintéléchargé - Cliquez sur « Mettre à jour » et attendez le redémarrage du routeur
⚠️ Important : Ne coupez jamais l'alimentation et ne débranchez aucun câble pendant le flashage, sous peine de briquer le routeur.
Premier accès
Une fois le flashage terminé, connectez-vous au routeur via un câble Ethernet et accédez à l'interface de gestion Web OpenWrt (LuCI) en naviguant vers http://192.168.1.1. Lors de la première connexion, aucun mot de passe n'est requis : cliquez simplement sur « Connexion ».
Sécurisation et configuration de base
Après l'installation d'OpenWrt, la première étape consiste à sécuriser le système :
Définir le mot de passe root
- Accédez à « Système » → « Administration »
- Dans le champ « Mot de passe du routeur », définissez un nouveau mot de passe root
- Cliquez sur « Enregistrer et appliquer »
Activer le WiFi
Par défaut, la fonctionnalité sans fil d'OpenWrt est désactivée et doit être activée manuellement :
- Accédez à « Réseau » → « Sans fil »
- Cliquez sur le bouton « Modifier » correspondant à votre périphérique sans fil
- Cochez « Activer le sans fil »
- Dans l'onglet « Sécurité sans fil », configurez le chiffrement (recommandé : WPA2-PSK) et définissez un mot de passe
- Cliquez sur « Enregistrer et appliquer »
Modifier l'adresse IP du LAN
Si un autre routeur de votre réseau utilise déjà 192.168.1.1, modifiez l'IP LAN d'OpenWrt pour éviter les conflits :
- Accédez à « Réseau » → « Interfaces » → « LAN » → « Modifier »
- Modifiez l'adresse IPv4 (par exemple
192.168.9.1) - Cliquez sur « Enregistrer et appliquer »
- Important : modifiez également les paramètres DHCP pour que la plage d'adresses attribuées corresponde au même sous-réseau que la nouvelle IP LAN
Après la modification, vous devrez utiliser la nouvelle adresse IP pour accéder à l'interface de gestion.
Configuration réseau de base
Baux DHCP
Dans « Statut » → « Baux DHCP », vous pouvez consulter tous les périphériques connectés et leurs attributions d'adresses IP.
Interfaces réseau
OpenWrt prend en charge plusieurs protocoles d'interface :
| Protocole | Description |
|---|---|
| DHCP | Obtient automatiquement une IP du routeur amont, le plus courant |
| Static (statique) | Configure manuellement l'adresse IP, le masque de sous-réseau et la passerelle |
| PPPoE | Connexion par numérotation, nécessite les identifiants fournis par votre FAI |
Redirection de ports
Dans « Réseau » → « Pare-feu » → « Redirection de ports », vous pouvez configurer des règles de redirection de ports pour acheminer les requêtes externes vers un serveur de votre réseau local.
Mode client sans fil (relais/pont)
OpenWrt peut être configuré en client sans fil pour se connecter à un réseau WiFi existant et partager cette connexion avec des appareils câblés sur le LAN. Cette fonction est couramment utilisée pour étendre la couverture réseau :
- Accédez à « Réseau » → « Sans fil »
- Cliquez sur « Scanner » pour rechercher les signaux WiFi disponibles
- Sélectionnez le réseau cible et cliquez sur « Rejoindre le réseau »
- Configurez le mode en « Client »
- Définissez les paramètres de sécurité sans fil (mot de passe, etc.)
- Enregistrez et appliquez
Journaux système
OpenWrt stocke des journaux système détaillés permettant de surveiller en temps réel l'état du réseau, notamment quels appareils ont obtenu une adresse IP et les activités système.
Dans LuCI, consultez-les via « Statut » → « Journal système », ou exécutez la commande logread via SSH.
Plugins LuCI recommandés
La force d'OpenWrt réside dans son riche écosystème de plugins. Voici quelques plugins LuCI pratiques :
| Plugin | Fonction |
|---|---|
| luci-app-statistics | Graphiques historiques du routeur : surveillance CPU, RAM, trafic réseau, etc. |
| luci-app-firewall | Gestion visuelle du pare-feu |
| luci-app-adblock | Filtrage publicitaire, blocage automatique des domaines publicitaires |
| luci-app-upnp | Support UPnP, mappage automatique de ports |
Pour installer des plugins, exécutez via SSH :
opkg update
opkg install luci-app-statistics
Ou recherchez et installez directement depuis « Système » → « Logiciels » dans LuCI.
Configuration avancée
Guide de configuration du routeur auxiliaire
Le routeur auxiliaire (Single-Arm Router) est un mode de déploiement courant pour les soft routers. Il ne remplace pas votre routeur principal : OpenWrt s'intègre simplement comme appareil auxiliaire dans votre réseau existant.
Pourquoi utiliser un routeur auxiliaire ?
- Pas de perturbation du réseau existant : le routeur principal continue de gérer DHCP et NAT, tandis qu'OpenWrt fournit des fonctionnalités supplémentaires en dérivation
- Commutation flexible : basculez la passerelle vers OpenWrt quand vous en avez besoin, sinon gardez la configuration d'origine
- Idéal pour les maisons et petites entreprises : un mini PC x86 + un routeur principal suffisent
Configuration réseau du routeur auxiliaire
- Accédez à « Réseau » → « Interfaces » → « LAN » → « Modifier »
- Modifiez les paramètres suivants :
- Adresse IPv4 : définissez une IP dans le même sous-réseau que le routeur principal. Si le routeur principal est
192.168.1.1, attribuez192.168.1.2au routeur auxiliaire - Masque de sous-réseau :255.255.255.0- Passerelle : pointe vers l'IP du routeur principal, par ex.192.168.1.1- DNS : utilisez un DNS public comme223.5.5.5(Alibaba) ou119.29.29.29(Tencent) - Désactivez le service DHCP : dans l'onglet « Serveur DHCP », cochez « Ignorer cette interface »
- Cliquez sur « Enregistrer et appliquer »
Utiliser le routeur auxiliaire depuis les clients
Deux méthodes pour router le trafic des appareils via le routeur auxiliaire :
Méthode 1 : définir manuellement la passerelle (recommandé)
- Sur les appareils devant passer par le routeur auxiliaire, définissez manuellement la passerelle sur l'IP du routeur auxiliaire (ex. 192.168.1.2)
- Idéal quand seuls certains appareils nécessitent des fonctionnalités spéciales
Méthode 2 : rediriger le DHCP du routeur principal vers le routeur auxiliaire - Dans les paramètres DHCP du routeur principal, pointez la passerelle par défaut vers l'IP du routeur auxiliaire - Tous les appareils passent automatiquement par le routeur auxiliaire, adapté à la domotique complète ou au filtrage publicitaire
Déploiement de conteneurs Docker
OpenWrt prend en charge l'exécution de conteneurs Docker, permettant de déployer divers services directement sur le routeur.
Installer Docker
# Mettre à jour les sources de paquets
opkg update
# Installer les paquets Docker
opkg install docker docker-cli luci-app-dockerman
# Démarrer le service Docker
/etc/init.d/dockerd enable
/etc/init.d/dockerd start
Une fois installé, un menu « Docker » apparaît dans l'interface LuCI pour gérer les conteneurs via le Web.
Déploiement de conteneurs Docker courants
Déployer AdGuard Home (filtrage publicitaire) :
docker run -d \
--name adguardhome \
--restart unless-stopped \
-p 53:53/tcp -p 53:53/udp \
-p 80:80/tcp -p 3000:3000/tcp \
-v /etc/adguardhome/work:/opt/adguardhome/work \
-v /etc/adguardhome/conf:/opt/adguardhome/conf \
adguard/adguardhome
Déployer Home Assistant (domotique) :
docker run -d \
--name homeassistant \
--restart unless-stopped \
--network host \
-v /etc/homeassistant:/config \
ghcr.io/home-assistant/home-assistant:stable
Déployer Aria2 (gestionnaire de téléchargement) :
docker run -d \
--name aria2-pro \
--restart unless-stopped \
-p 6800:6800 \
-p 6880:6880 \
-e PUID=1000 -e PGID=1000 \
-e RPC_SECRET=your-secret-token \
-v /mnt/downloads:/downloads \
p3terx/aria2-pro
Note : L'exécution de Docker sur un routeur nécessite des ressources matérielles suffisantes. Prévoyez au minimum 2 Go de RAM et 8 Go de stockage.
Multi-WAN et répartition de charge
Le multi-WAN permet à OpenWrt d'utiliser simultanément plusieurs connexions Internet pour augmenter la bande passante totale ou assurer une redondance.
Configuration multi-WAN
- Installez les paquets nécessaires :
opkg update
opkg install luci-app-mwan3
-
Accédez à « Réseau » → « Interfaces » et ajoutez plusieurs interfaces WAN : - WAN1 : connectée à l'Internet 1 (ex. eth1) - WAN2 : connectée à l'Internet 2 (ex. eth2)
-
Accédez à « Système » → « Répartition de charge (MWAN3) » pour configurer les stratégies : - Répartition de charge : le trafic est distribué proportionnellement sur plusieurs WAN - Mode actif/passif : basculement automatique vers le WAN de secours en cas de panne du WAN principal - Routage par stratégie : certains IP/ports passent par un WAN spécifique
Exemple de configuration MWAN3
# Vérifier l'état des interfaces WAN
mwan3 status
# Vérifier les stratégies
mwan3 policy
Solutions de filtrage publicitaire
Plusieurs options existent pour filtrer les publicités sur OpenWrt :
Option 1 : AdBlock (léger)
opkg install luci-app-adblock
AdBlock modifie la résolution DNS pour rediriger les domaines publicitaires vers 0.0.0.0, bloquant ainsi les publicités. Configuration simple et faible consommation de ressources.
Option 2 : AdGuard Home (recommandé)
Déployé via Docker (voir ci-dessus), il offre des fonctionnalités plus avancées : - Règles de filtrage personnalisables - Journaux de requêtes détaillés - Contrôle parental - DNS amont configurable
Option 3 : PassWall / OpenClash
Pour les utilisateurs ayant des besoins réseau spécifiques, ces outils prennent en charge plusieurs protocoles proxy et règles de routage.
# Exemple avec PassWall
opkg install luci-app-passwall
Note : Ces outils sont destinés à la recherche technique et à un usage légal. Veuillez respecter les lois en vigueur dans votre pays.
Structure des fichiers de configuration
Les fichiers de configuration d'OpenWrt utilisent une structure de sections et d'options/valeurs, situés dans le répertoire /etc/config/.
- Syntaxe générale :
config <type> ["<nom>"]pour définir une section,option <nom> "<valeur>"pour définir une option - Ces fichiers sont analysés par le système UCI (Unified Configuration Interface)
Fichiers de configuration réseau
La configuration des interfaces réseau est stockée dans /etc/config/network et peut utiliser les protocoles suivants :
none— non configuréstatic— IP statique (nécessiteipaddretnetmask)dhcp— attribution automatiquepppoe— connexion par numérotation
Configuration du commutateur et des VLAN
OpenWrt prend en charge la configuration de commutateur pour les VLAN :
- La configuration du commutateur est stockée dans
/etc/config/network - Sur le matériel Broadcom, le nom de la section doit être
eth0 - Chaque VLAN est nommé
vlan<n>, où n est le numéro du VLAN - Marquage des ports :
*(VLAN par défaut),u(non marqué),t(marqué) - Le port CPU sur le matériel Broadcom est le port 5
Configuration sans fil (ligne de commande)
Les paramètres WiFi sont configurés dans /etc/config/wireless, chaque pilote sans fil ayant un fichier de configuration correspondant dans /lib/wifi/<nom_du_pilote>.sh.
Options de configuration courantes :
- Niveau périphérique : distance, mode, diversity, rxantenna, txantenna, txpower
- Niveau interface : network, device, mode, ssid, bssid
Les modes sans fil pris en charge incluent : point d'accès (AP), client (Client), Ad-hoc, moniteur (Monitor) et WDS point-à-point.
Authentification 802.1x
OpenWrt prend en charge l'authentification 802.1x (configurations client et point d'accès), avec support des types EAP TLS, TTLS et PEAP.
Interfaces WAN et WAN6
- WAN : connexion amont IPv4
- WAN6 : connexion amont IPv6
- LAN : gère les connexions aval IPv4 et IPv6, pas besoin d'interface LAN6 séparée
Hotplug (connexion à chaud)
Les scripts hotplug permettent de configurer dynamiquement OpenWrt en réponse à des événements matériels, par exemple le montage automatique lors de l'insertion d'un périphérique USB.
Scripts d'initialisation (Init)
Les scripts de démarrage de tous les services système se trouvent dans /etc/init.d/, utilisant /etc/rc.common comme wrapper.
Commandes courantes :
/etc/init.d/<service> enable # Activer au démarrage
/etc/init.d/<service> start # Démarrer immédiatement
/etc/init.d/<service> stop # Arrêter le service
/etc/init.d/<service> restart # Redémarrer le service
Autres informations pratiques
Accès SSH
SSH permet la gestion en ligne de commande d'OpenWrt :
ssh root@192.168.1.1
L'accès SSH doit être activé dans « Système » → « Administration » → « Accès SSH ».
Éditeurs de texte
vi et nano sont disponibles pour éditer les fichiers de configuration en ligne de commande. Nano est recommandé pour les débutants :
opkg install nano
nano /etc/config/network
Outils de gestion Windows
Pour gérer OpenWrt depuis Windows, utilisez ces outils :
- PuTTY — client SSH
- WinSCP — transfert de fichiers SFTP
- SmarTTY — client SSH moderne
- cmder — ligne de commande améliorée
Développement et personnalisation (avancé)
📌 Cette section s'adresse aux développeurs. Si vous utilisez simplement OpenWrt comme routeur, vous pouvez la sauter.
Système de construction
Le système de construction OpenWrt permet aux développeurs de créer des images firmware personnalisées via la compilation croisée.
Récupération du code source
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
Structure des répertoires principaux :
| Répertoire | Description |
|---|---|
tools/ |
Outils de construction |
toolchain/ |
Chaîne de compilation croisée |
package/ |
Définitions de paquets |
target/ |
Configuration de la plateforme cible |
Configuration et compilation
./scripts/feeds update -a # Mettre à jour les sources de paquets
./scripts/feeds install -a # Installer les sources de paquets
make menuconfig # Configurer la compilation : plateforme, toolchain et paquets
make -j$(nproc) # Lancer la compilation
Paquets
Pratiquement tout dans le firmware OpenWrt est un paquet au format .ipk, que vous pouvez librement ajouter ou supprimer.
Créer un paquet personnalisé
Créez un Makefile pour définir un nouveau paquet :
include $(TOPDIR)/rules.mk
PKG_NAME:=my-package
PKG_VERSION:=1.0
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/my-package
SECTION:=utils
CATEGORY:=Utilities
TITLE:=My custom package
endef
define Package/my-package/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) ./files/my-script $(1)/usr/bin/
endef
$(eval $(call BuildPackage,my-package))
Options configurables : PKG_NAME, PKG_VERSION, PKG_RELEASE, PKG_SOURCE, PKG_SOURCE_URL, PKG_MD5SUM, etc.
Créer un paquet de module noyau
Créez un paquet pour un module noyau en définissant une section KernelPackage. Options configurables : TITLE, DESCRIPTION, SUBMENU, KCONFIG, FILES et AUTOLOAD.
Dépannage
# Diagnostiquer si un paquet apparaît dans menuconfig
make -C package/<nom> DUMP=1 V=99
# Nettoyer un paquet spécifique
make package/<nom>/clean V=99
# Installer un paquet spécifique
make package/<nom>/install V=99
Ajouter le support d'une nouvelle plateforme
Les techniques pour porter OpenWrt sur un nouvel appareil incluent :
- Identification du système d'exploitation (via nmap, etc.)
- Scan de ports
- Analyse d'images firmware binaires
- Vérification de la capacité de la mémoire flash
- Connexion au port série pour le débogage
Une fois les informations sur l'appareil et le kit de développement obtenus, vous pouvez adapter les patches noyau et les pilotes binaires pour OpenWrt, développer de nouveaux pilotes de mappage flash et des outils de construction de firmware.
Signaler des bugs
OpenWrt utilise GitHub Issues pour les rapports de bugs et les demandes de fonctionnalités. Les développeurs peuvent fermer, accepter et résoudre les tickets.
Comparaison : OpenWrt vs DD-WRT vs pfSense vs MikroTik RouterOS
| Dimension | OpenWrt | DD-WRT | pfSense | MikroTik RouterOS |
|---|---|---|---|---|
| Open source | ✅ Entièrement open source (GPL) | ✅ Open source | ✅ Open source (BSD) | ❌ Logiciel propriétaire |
| Prix | Gratuit | Gratuit | Gratuit | 45-295 $ (selon le niveau de licence) |
| Support matériel | Très large (1000+ appareils) | Large (700+ appareils) | Uniquement x86/APU | Uniquement matériel MikroTik |
| Écosystème de plugins | 1000+ paquets | Limité | Riche (ports FreeBSD) | Fonctionnalités intégrées riches |
| Interface Web | LuCI (léger) | Interface Web propriétaire | Interface Web professionnelle | WinBox / WebFig |
| Support Docker | ✅ Peut exécuter Docker | ❌ | ⚠️ Limité | ❌ |
| Courbe d'apprentissage | Moyenne | Moyenne | Plutôt raide | Raide |
| Cas d'utilisation | Soft router/maison/petite entreprise | Routage domestique | Pare-feu entreprise | Réseau entreprise/ISP |
| Activité de la communauté | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
Conseils de choix : - OpenWrt — Premier choix pour le flashage de soft router, la compatibilité matérielle la plus large et l'écosystème de plugins le plus riche - DD-WRT — Firmware routeur historique, idéal pour les utilisateurs qui veulent plus de fonctionnalités que le firmware d'origine sans trop se compliquer la vie - pfSense — Solution pare-feu/routage professionnelle, adaptée aux réseaux d'entreprise - MikroTik RouterOS — Niveau entreprise/ISP, puissant mais nécessite une formation spécialisée
FAQ OpenWrt
Q1 : Qu'est-ce qu'OpenWrt ? Quelle différence avec un firmware de routeur classique ?
R : OpenWrt est un système d'exploitation open source pour routeur basé sur le noyau Linux. La principale différence avec les firmwares classiques : - Entièrement personnalisable : OpenWrt fournit un système de fichiers complet avec gestion de paquets, permettant d'installer/désinstaller librement des logiciels - Open source et transparent : le code est entièrement public, sans backdoor, développé par la communauté - Large compatibilité matérielle : prend en charge plus de 1 000 modèles de routeurs - Fonctionnalités avancées : support des conteneurs Docker, VPN, QoS, filtrage publicitaire, soft router, etc.
Q2 : Quels routeurs sont compatibles avec OpenWrt ?
R : OpenWrt prend en charge un large éventail de matériels : - Routeurs domestiques : TP-Link, Netgear, Linksys, ASUS, Xiaomi, etc. - Soft routers x86 : Mini PC et ordinateurs industriels sur plateforme Intel/AMD x86 - Cartes de développement : Raspberry Pi, Banana Pi et autres SBC
Consultez le sélecteur de firmware OpenWrt pour vérifier la compatibilité de votre appareil.
Q3 : Le flashage d'OpenWrt peut-il briquer le routeur ? Comment le récupérer ?
R : Le flashage comporte des risques, mais il est généralement sûr si vous suivez les bonnes étapes : - Réduire les risques : utilisez le firmware correct, ne coupez pas l'alimentation pendant le flashage, sauvegardez d'abord le firmware d'origine - Méthodes de récupération : 1. Restauration TFTP : la plupart des routeurs supportent le mode de récupération TFTP 2. Débogage série : connectez-vous via un port série TTL pour réparer 3. Mode CFE/Bootloader : accédez au bootloader pour reflasher 4. Flashage matériel avec programmateur : ouvrez l'appareil et écrivez directement sur la puce flash avec un programmateur
Conseil : avant de flasher, sauvegardez le firmware d'origine et familiarisez-vous avec les méthodes de récupération de votre appareil.
Q4 : OpenWrt supporte-t-il Docker ?
R : Oui, OpenWrt peut exécuter des conteneurs Docker. Il faut installer dockerd et ses dépendances :
opkg install docker docker-cli luci-app-dockerman
Il est recommandé d'utiliser un appareil avec au moins 2 Go de RAM pour faire tourner des conteneurs Docker, afin de garantir stabilité et performance.
Q5 : Quelle est la relation entre OpenWrt et LEDE ?
R : LEDE (Linux Embedded Development Environment) est un fork d'OpenWrt. En 2016, certains développeurs ont créé le projet LEDE suite à des divergences sur les processus de développement. En 2018, LEDE et OpenWrt ont fusionné à nouveau et utilisent désormais le nom OpenWrt. L'OpenWrt que vous connaissez aujourd'hui intègre les améliorations de la période LEDE. Si vous rencontrez le terme LEDE dans d'anciennes documentations, il s'agit en fait d'OpenWrt.