Guillaume Vaillant : Mode de secours sur OpenWRT
mardi 19 mars 2013 à 15:56Un jour, j’ai fait une modif dans la conf de mon routeur (NetGear WNDR3700v2) qui tourne sous OpenWRT, j’ai rebooté le bazar, et là, catastrophe, plus moyen d’accéder à la bête…
Heureusement, là situation n’est pas totalement désespérée, ils ont tout prévu chez OpenWRT: quand il boote, pendant un cours instant, le routeur a l’IP par défaut 192.168.1.1/24 et un serveur telnet qui écoute sur cette IP. La procédure détaillée pour accéder à ce telnet et ce système minimal est disponible en anglais là.
Pour les impatients, voilà la méthode rapide. On part du principe que eth0 est votre interface réseau locale, et:
- définir l’IP de sa machine à 192.168.1.2 (en fait, on peut prendre n’importe quelle valeur entre 2 et 254):
ifconfig eth0 192.168.1.2/24
- dans un shell root, lancer un tcpdump:
tcpdump -Ani eth0 port 4919 and udp
- rebooter le routeur et guetter ce message dans la sortie de tcpdump:
Please press button now to enter failsafe
- quand le message apparaît, il faut appuyer sur n’importe quel bouton du routeur (sauf le on/off), et dans la sortie de tcpdump, on voir arriver ce message:
Entering failsafe!
- là, on est presque sauvé, on peut se connecter au routeur avec un gentil telnet (sans autentification) et monter le filesystem (commande: mount_root):
telnet 192.168.1.1 === IMPORTANT ============================ Use 'passwd' to set your login password this will disable telnet and enable SSH ------------------------------------------ BusyBox v1.15.3 (2011-11-24 00:44:20 CET) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M Backfire (10.03.1, r29592) ------------------------ * 1/3 shot Kahlua In a shot glass, layer Kahlua * 1/3 shot Bailey's on the bottom, then Bailey's, * 1/3 shot Vodka then Vodka. --------------------------------------------------- root@(none):/# mount_root
Maintenant, on a accès à un système assez basique pour tenter de réparer ou de restaurer sa conf d’avant la manip calamiteuse.
PS: Le shell dispose d’une commande help qui permet de connaître toutes les commandes disponibles
Original post of Guillaume Vaillant.Votez pour ce billet sur Planet Libre.
Articles similaires
- Guillaume Vaillant : antisèche: dd (29/08/2012)
- Guillaume Vaillant : mémo telnet… (03/10/2012)
- Guillaume Vaillant : Faire rapidement une clef d’install Debian (07/10/2011)
- Guillaume Vaillant : Appliquer automatiquement les mises à jour de sécurité de Debian (05/12/2012)
- Brice Capelle : BASH – Rajouter la date dans l’historique des commandes (18/04/2009)