OpenWrt sur Raspberry Pi : utilisez votre Pi comme routeur

Les modèles récents de Raspberry Pi sont plus puissants que les routeurs traditionnels, donc en utiliser un comme routeur pourrait être intéressant. Ce n’est cependant pas parfait, car la plupart des logiciels routeur/firewall ne marchent pas sur Raspberry Pi (ou seulement en lignes de commande). Heureusement, OpenWrt pourrait être la solution. Il est disponible sur Raspberry Pi avec une interface web pour tout configurer. Je vous explique tout dans cet article.

OpenWrt est disponible pour tous les modèles de Raspberry Pi. Il peut être flashé sur carte SD comme tout autre système d’exploitation. Configurer le réseau au premier démarrage nécessite quelques commandes, mais ensuite, tout peut être fait depuis l’interface web.

Même si vous êtes habitué à OpenWrt sur un PC ou un routeur traditionnel, le processus d’installation et la configuration initiale sont assez différents. Laissez-moi vous guider à travers les premières étapes jusqu’à ce que vous ayez accès à l’interface web, la suite sera la même qu’avec n’importe quel équipement.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Conditions préalables : avant d’installer OpenWrt

Avant d’installer OpenWrt sur votre Raspberry Pi, il y a quelques pré-requis à garder à l’esprit. Laissez-moi vous expliquer.

Mettez à jour votre bootloader

Tous les modèles de Raspberry Pi disposent d’un morceau de code directement sur la carte principale (pas sur la carte SD) pour gérer le processus de démarrage. Il a été fréquemment mis à jour depuis la version initiale (par exemple pour la prise en charge de l’USB et du démarrage par le réseau, la correction de bugs, etc.)

OpenWrt exige que votre bootloader (le paquet EEPROM) soit à jour.
Cette mise à jour se fait automatiquement sur Raspberry Pi OS, donc si vous l’avez déjà utilisé (et avez fait les mises à jour) sur votre Raspberry Pi, il est probablement déjà à jour.

Mais, si vous venez d’acheter le Raspberry Pi, OpenWrt recommande d’installer d’abord Raspberry Pi OS, de mettre à jour l’EEPROM, et seulement ensuite d’installer OpenWrt.

Voici comment vérifier si le bootloader est à jour sur Raspberry Pi OS :

  • Dans un terminal, exécutez cette commande :
    sudo rpi-eeprom-update
  • Elle vous indiquera la version dont vous disposez et si une mise à jour est disponible.
  • Si nécessaire, vous pouvez ensuite installer la mise à jour avec :
    sudo rpi-eeprom-update -a
    sudo reboot

Une fois fait (après un redémarrage complet), vous pouvez arrêter le Raspberry Pi, et suivre les étapes suivantes pour installer OpenWrt dessus.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Attention : éviter les conflits de réseau

Comme pour la plupart des routeurs, OpenWrt sera configuré avec l’adresse IP 192.168.1.1 par défaut lors du premier démarrage. Il est fort probable que votre routeur actuel utilise déjà cette adresse IP, ce qui peut créer des conflits sur votre réseau.

Si vous ne voulez rien casser, il est préférable de débrancher le câble Ethernet au premier démarrage ou de créer un autre réseau physique tout en suivant ce tutoriel.

Vous pouvez, par exemple, utiliser un petit switch réseau (j’utilise celui-ci sur Amazon), y brancher le Raspberry Pi et votre PC, et configurer manuellement votre ordinateur pour qu’il utilise toute adresse IP commençant par 192.168.1.X.

Exigences matérielles

Si vous ne créez pas un réseau séparé (surtout si votre réseau principal est sur la même plage), vous aurez besoin d’un clavier et d’un écran branchés sur le Raspberry Pi.

Dans mon cas, mon réseau domestique commence par 192.168.222.X, ce qui ne créera pas de conflit. Mais je ne pourrai pas me connecter à 192.168.1.1 depuis mon ordinateur. Donc, je vais changer l’adresse IP du Raspberry Pi manuellement, avec quelques lignes de commande. Un clavier et un écran sont nécessaires pour cela.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Pour votre information, OpenWrt démarre avec une configuration QWERTY (US par défaut) et ne supporte aucune autre disposition. Si, comme moi, vous utilisez autre chose, vous pourriez avoir besoin de cette image pour le premier démarrage :

En dehors de cela, vous n’avez besoin de rien en particulier. Voici ce que j’utilise pour tester ce tutoriel pour vous :

C’est tout, voyons maintenant comment installer OpenWrt dessus.

Installer OpenWrt sur Raspberry Pi

Voici les étapes nécessaires pour installer OpenWrt sur Raspberry Pi :

  • Téléchargez la dernière image depuis le Wiki officiel.
  • Flashez-la sur une carte SD.
  • Démarrez le Raspberry Pi.
  • Configurez l’interface réseau.
  • Accédez à l’interface web.

Voyons en détail comment procéder pour chaque étape.

Télécharger OpenWrt depuis le site officiel

La première étape consiste à télécharger la dernière image disponible sur le Wiki officiel.

Cliquez sur le lien et cherchez ce tableau :

De là, trouvez la ligne correspondant à votre modèle de Raspberry Pi, et cliquez sur le lien de la première colonne. La dernière colonne est juste la mise à niveau du firmware, vous avez besoin de l’image d’installation pour le moment.

Flasher l’image téléchargée

Une fois l’image téléchargée, vous pouvez la flasher sur votre carte SD avec l’outil de votre choix. J’utilise Balena Etcher en général lorsque j’ai déjà l’image sur mon PC (il est légèrement plus rapide que Imager), mais tout autre outil conviendra.

  • Lancez Balena Etcher (ou votre outil préféré).
    Etcher est gratuit et peut être téléchargé ici si vous ne l’avez pas encore.
  • Insérez votre carte SD dans votre ordinateur.
  • Cliquez sur le premier bouton pour sélectionner l’image sur votre ordinateur.
  • Sélectionnez la carte SD si nécessaire (la plupart du temps, elle est sélectionnée automatiquement).
  • Cliquez sur « Flash ! » pour lancer l’installation.

Comme vous pouvez le constater, l’image est minuscule (185 Mo dans cet exemple), et la copie des fichiers ne prendra que quelques secondes.

Premier démarrage

Une fois la création de la carte SD terminée, insérez-la dans votre Raspberry Pi et mettez-le sous tension.

Vous verrez une série de messages de débogage (texte blanc sur un écran noir). Dès que le défilement s’arrête, appuyez sur « Entrée » pour accéder à l’invite de commande :

Si vous obtenez la même chose que sur la capture ci-dessus, tout va bien, et vous pouvez passer à l’étape suivante.

S’il ne démarre pas, ou si vous obtenez une erreur, vérifiez les pré-requis (en particulier la mise à jour de l’EEPROM) et n’hésitez pas à visiter le forum OpenWrt pour demander de l’aide.

Facultatif : définir l’adresse IP Ethernet

Comme expliqué précédemment, OpenWrt configure l’adaptateur Ethernet avec 192.168.1.1 par défaut. Si cela vous convient, vous pouvez probablement sauter cette étape et accéder directement à l’interface web.

Mais dans la plupart des cas (comme dans le mien), ça ne convient pas.
Mon réseau utilise la plage 192.168.222.1-254, et je veux accéder à OpenWrt depuis mes autres appareils.
Ou peut-être que l’adresse 192.168.1.1 est déjà utilisée sur votre réseau, vous devez donc définir une autre IP.

Dans tous les cas, vous pouvez changer l’adresse IP par défaut avec ces trois commandes :
uci set network.lan.ipaddr=<VOTRE-IP>
uci commit
/etc/init.d/network restart

N’oubliez pas : la disposition du clavier par défaut est en Qwerty (US), vous devrez donc peut-être utiliser la capture un peu plus haut pour taper ces commandes.

Si vous avez commencé avec le câble réseau déconnecté, pour éviter tout conflit, vous pouvez maintenant le brancher et continuer. Dans mon cas, je peux maintenant envoyer un ping au Raspberry Pi, je suis donc prêt à le configurer.

Accéder à l’interface web

Toute la configuration avec OpenWrt peut être faite à partir d’une interface web. Vous n’aurez donc plus à utiliser de commandes.

  • Ouvrez un navigateur web sur un PC connecté au même réseau que le Raspberry Pi, et tapez l’adresse IP du Raspberry Pi :
    http://<VOTRE-IP>
    C’est l’IP que vous venez de définir dans la ligne de commande, sinon il s’agit de 192.168.1.1 si vous ne l’avez pas changée.
  • Le nom d’utilisateur par défaut est root, et le mot de passe est vide.

Vous serez connecté à l’interface complète d’OpenWrt, mais avant d’aller plus loin, définir un mot de passe root est une bonne idée.

Définir le mot de passe root

La première étape, une fois connecté à l’interface web, sera de définir un mot de passe root.

Trouvez le sous-menu du mot de passe sous « System », et vous obtiendrez le formulaire suivant :

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Remplissez-le avec un mot de passe fort, et cliquez sur « Save » pour appliquer la modification.

Conseils pour utiliser OpenWrt sur Raspberry Pi

Nous avons presque terminé, mais laissez-moi vous donner quelques conseils pour utiliser OpenWrt sur votre Raspberry Pi.
Mon objectif aujourd’hui n’est pas de donner une masterclass sur OpenWrt, mais au moins d’expliquer les premières étapes pour bien démarrer.

Passer à SSH

Dès que vous avez défini l’adresse IP et le mot de passe root, le service SSH devient disponible.

Ainsi, si à l’avenir vous avez besoin d’exécuter quelques lignes de commande sur le Raspberry Pi, il sera probablement plus confortable d’utiliser votre client SSH plutôt que de les taper directement sur le Pi.

Vous pouvez vous connecter avec root. Sur la plupart des systèmes d’exploitation, vous pouvez utiliser cette commande à partir d’un terminal :
ssh root@IP

Tapez le mot de passe que vous venez de définir, et vous serez connecté (avec la disposition correcte du clavier comme vous utilisez sur votre PC !).

Si vous avez besoin de plus de conseils sur la façon d’utiliser SSH avec un Raspberry Pi, cliquez sur le lien pour lire mon guide complet à ce sujet. Il est principalement destiné à Raspberry Pi OS, mais les principes sont les mêmes avec n’importe quelle distribution (et je partage mon client SSH préféré dans ce guide).

Configurer le serveur DNS

J’ai eu de nombreux problèmes avec l’interface web au début, mais j’ai rapidement identifié la raison.
Je recevais ces erreurs :

  • « Failed to download the package list from X » (« Échec du téléchargement de la liste des paquets de X »)
  • « opkg_download: Check your network settings and connectivity. » (« opkg_download : Vérifiez vos paramètres réseau et votre connectivité. »)
  • « Failed to send request: Operation not permitted » (« Échec de l’envoi de la requête : Opération non autorisée »)

C’est parce que nous n’avons pas défini le serveur DNS. Donc, presque tout ce qui nécessite un accès à Internet ne fonctionnera pas avant d’effectuer les modifications suivantes :

  • Dans l’interface web, ouvrez « Network » > « Interfaces ».
  • Cliquez sur « Edit » en face de l’interface LAN.
  • Cliquez sur « Advanced settings » et trouvez le champ « Use custom DNS servers » :

Remplissez-le avec l’adresse de votre serveur DNS. Vous pouvez en utiliser un sur le réseau local si vous en avez un, ou simplement un serveur DNS public (je teste avec 8.8.8.8, le serveur DNS principal de Google, par exemple).

Cliquez sur « Save and apply », et cela devrait régler tous vos problèmes.

Installer des modules complémentaires

Si la connexion Internet est disponible et que le serveur DNS est configuré correctement, vous pouvez maintenant utiliser la fonction « Software » de l’interface web pour installer de nouveaux paquets.

La page est plutôt vide par défaut, cliquez sur « Update lists… » pour vous synchroniser avec le dépôt.
Vous devriez obtenir l’écran suivant :

Comme sur Raspberry Pi OS et la plupart des distributions Linux, vous pouvez facilement installer de nouveaux paquets sur OpenWrt depuis cette page (nous l’utiliserons plus tard).

Vous y trouverez des pilotes pour des périphériques spécifiques, ainsi que des paquets traditionnels (que vous pouvez utiliser en ligne de commande) ou des fonctionnalités pour l’interface Web. Il existe un moteur de recherche que vous pouvez utiliser pour trouver rapidement quelque chose ici.

Activer l’interface sans fil

Mon Raspberry Pi 4 dispose d’une interface sans fil, et elle a été détectée automatiquement. Vous pouvez donc la configurer rapidement et l’utiliser dès que vous avez accès à l’interface web.

J’ai perdu beaucoup de temps à tester ici parce que j’essayais de la configurer à partir du menu « Network » > « Interfaces », mais en fait, elle était déjà disponible sous « Network » > « Wireless ».

Si vous utilisez un Raspberry Pi 4, vous devriez avoir l’écran suivant :

Cliquez sur « Scan » pour voir une liste des réseaux sans fil détectés.
Cliquez sur celui auquel vous voulez être connecté et remplissez le formulaire avec votre mot de passe :

Suivez les étapes de l’assistant pour enregistrer la configuration et vous connecter à votre Wi-Fi.
Si tout se passe bien, vous devriez maintenant voir les deux configurations réseau sur la page d’accueil :

C’est un assez mauvais exemple, car je devrais utiliser deux plages réseau différentes si mon but était vraiment de créer un routeur. Mais je ne fais que vous montrer comment configurer les éléments basiques. Après cela, vous êtes libre de tout changer pour répondre à vos besoins.

Par exemple, une fois connecté à votre Wi-Fi, vous pouvez maintenant configurer l’Ethernet pour qu’il utilise une plage réseau différente, afin d’isoler votre réseau Ethernet des autres ordinateurs.

Comment utiliser un adaptateur USB

Les Raspberry Pi ne disposent que d’un adaptateur Ethernet, ce qui n’est pas génial pour créer un routeur. Sur certains modèles, vous disposez de l’interface sans fil, mais pas sur tous. Bonne nouvelle : si votre boîtier utilise un adaptateur USB vers Ethernet avec OpenWrt, il est pris en charge !

J’ai un modèle (d’une marque quelconque d’Amazon), et quand je l’ai branché, il a été détecté directement.

Sur le moniteur, j’ai eu ces messages :

Même si OpenWrt détecte que vous avez branché quelque chose, le pilote ne sera pas nécessairement installé par défaut (et ce n’est pas plug & play, vous devrez l’installer).

Il y a deux choses à noter dans la capture d’écran précédente :

  • Le fabricant est Realtek. Nous ne nous soucions pas de la marque notée sur l’adaptateur, l’élément important est le fabricant de l’adaptateur réseau, qui est généralement Realtek ou Intel.
  • Le modèle exact est 8153 (RTL8153).

Avec ces informations, vous pouvez aller dans le programme d’installation du logiciel et rechercher le pilote correspondant. Si vous avez un adaptateur différent, assurez-vous de rechercher votre modèle exact.

Le moteur de recherche n’est cependant pas parfait. Dans mon cas, il n’y a pas eu de résultat, quoi que j’aie essayé. J’ai trouvé en ligne que vous pouvez utiliser le pilote RTL8152 pour le modèle 8153. Je l’ai donc installé, et il a ensuite été détecté correctement dans l’interface web.

Mais vous devrez peut-être faire un peu de recherche pour trouver le bon pilote qui manque.

Une fois cela fait, vous pouvez aller dans Network » > « Devices et vous devriez voir votre adaptateur USB ici :

Cliquez sur « Configurer » pour créer une nouvelle interface utilisant ce périphérique réseau.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Rappel: J'ai crée une communauté d'utilisateurs de Raspberry Pi qui vous permet de partage vos avancées, poser vos questions et recevoir de nombreux avantages exclusifs (anglophones uniquement). Cliquez sur le lien pour en savoir plus.

Aller plus loin avec OpenWRT

À partir de là, l’utilisation d’OpenWrt sur votre Raspberry Pi ne sera pas différente de son utilisation sur n’importe quel autre appareil. Vous avez accès à l’interface web et votre matériel est correctement détecté (même si vous utilisez des adaptateurs USB), vous pouvez donc passer à autre chose et créer la configuration dont vous avez besoin.

Comme je vous l’ai dit, mon objectif ici était de vous aider à vous lancer en utilisant un Raspberry Pi au lieu d’un appareil plus traditionnel. Si vous avez besoin de plus de conseils, vous pouvez suivre la documentation officielle ou tout bon tutoriel en ligne, même s’il n’est pas écrit pour Raspberry Pi.

Et si vous n’aimez pas OpenWrt et voulez essayer la méthode plus traditionnelle (avec IPTables), vous pouvez suivre cet autre tutoriel que j’ai écrit il y a des années, expliquant comment tout faire manuellement :-). Il contient également une brève introduction sur les réseaux en général, qui pourrait être intéressante même si vous réalisez le même projet avec OpenWrt.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *