PirateBox TP-Link MR3020

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

Tutoriel pour transformer un routeur TP-Link MR3020 en PirateBox, boite de partage de contenus

Tl-mr3020-02.jpg

Nouvelle procédure d'installation pour la PirateBox v1 (fin 2014)

En résumé :

  1. on télécharge le zip piratebox et le firmware correspondant à son routeur
  2. on décompresse le zip
  3. on met le répertoire décompressé et le firmware à la racine d'une clef USB formattée en FAT32
  4. on branche la cklef USB au routeur en mode 3G
  5. on se connecte à l'interface d'admin par défaut (admin & admin)
  6. on met à lour le firmware pour passer le routeur en openwrt
  7. on reboot le routeur

Ancienne procédure d'installation avant la v1

En résumé, les grandes étapes de la transformation du routeur en PirateBox :

  1. On installe un système d'exploitation alternatif sur le routeur : OpenWRT
  2. On configure le routeur pour qu'il puisse accéder à Internet et installer ainsi des logiciels complémentaires
  3. On installe ces logiciels complémentaires (scripts "PirateBox", hostapd qui permet d'être point d'accès wifi, lighthttpd en tant que serveur web, dnsmasq pour fournir l'adresse IP et rediriger les utilisateurs vers l'adresse piratebox.lan)
  4. Et voilà ...

Changer le système d'exploitation de son routeur pour OpenWRT

La première étape consiste à remplacer le système d'exploitation du routeur par un système opensource OpenWRT qui va offrir de nombreuses fonctionnalités supplémentaires

  • On branche le retour par cable sur son réseau local (boitier du FAI) (voir si besoin de mettre le bouton en position "WISP")
  • On télécharge le système d'exploitation alternatif : [OpenWRT customisé "PirateBox"]
  • Pour remplacer le système d'exploitation par défaut, ouvrir un navigateur à l'adresse : http://192.168.0.254 (pour le MR3020) ou http://192.168.1.1 (pour le WR703N)
    • Pour cela, il faut configurer manuellement l'adresse IP de son ordinateur pour être dans la même classe IP ("dans la même rue") que le routeur : prendre par exemple 192.168.0.82 avec comme masque de sous réseau 255.255.255.0
    • On accède alors à la page d'administration du routeur : aller au menu System tools > Firmware upgrade comme sur l'image ci-dessous, charger le fichier téléchargé avec le bouton "Browse" (openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin) et cliquer sur "update", /!\ ne surtout pas débrancher le cable réseau du routeur à ce moment là sous peine de le voir se transformer en brique. Il est aussi déconseillé de faire cette manip d'upgrade en étant connecté au routeur en wifi
Mr3020-openwrtinstall.png

Quand le nouveau système d'exploitation est installé (openwrt), le routeur a changé d'adresse de base : c'est maintenant 192.168.1.1

On change donc à nouveau l'adresse IP de son ordinateur pour être dans la "rue" 192.168.1. : configurer sa carte réseau avec une IP fixe de type 192.168.1.222 par exemple et (netmask) 255.255.255.0 (passerelle) 192.168.1.1

Se connecter au routeur en ligne de commande pour configurer son accès à Internet

On va utiliser respectivement telnet et puis ssh pour se connecter au routeur et faire comme si on était "dans" le routeur depuis son ordinateur et lui "parler" en lignes de commande :

Première étape, connexion en telnet et création d'un mot de passe pour activer ssh

on s'y connecte en telnet (sous windows, utiliser Putty, sous linux et macos, vive le terminal !) :

 telnet 192.168.1.1

on doit arriver à :

BusyBox v1.19.4 (2013-03-14 11:28:31 UTC) 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
 -----------------------------------------------------
 ATTITUDE ADJUSTMENT (12.09, r36088)
 -----------------------------------------------------
  * 1/4 oz Vodka      Pour all ingredients into mixing
  * 1/4 oz Gin        tin with ice, strain into glass.
  * 1/4 oz Amaretto
  * 1/4 oz Triple sec
  * 1/4 oz Peach schnapps
  * 1/4 oz Sour mix
  * 1 splash Cranberry juice
 -----------------------------------------------------
root@OpenWrt:~#

puis on crée un mot de passe pour activer ssh avec la commande :

passwd

on peut alors "sortir" du routeur et revenir à l'invite de commande de son ordi :

exit

Se connecter au routeur en ssh et le configurer pour qu'il accède à Internet

La connexion en ssh offre plus de possibilités et de sécurité que la connexion en telnet

  • on s'y reconnecte maintenant en ssh sur 192.168.1.1
 ssh root@192.168.1.1

dire "yes" pour valider l'authentification de la clef RSA (qui permet d'assurer que l'on se connecte bien au bon routeur)

  • On regarde comment est configuré son réseau local pour pouvoir connecter le routeur TP-LINK à Internet par cable, on peut pour cela regarder quelle adresse IP nous "donne" notre fournisseur d'accès quand connecté à "la boite"

Généralement, la "boite" de notre fournisseur d'accès fournit automatiquement une adresse IP à tout ordinateur qui s'y connecte (grâce à un serveur DHCP)

  • On configure alors le réseau du routeur
vi /etc/config/network

pour qu'il puisse aller sur Internet via mon réseau local, dans le cas le plus classique, la "boite" de mon FAI va donner automatiquement aux appareils une adresse IP (via DHCP) type 10.0.0.4, la configuration doit être similaire, sauf qu'il faut choisir UNE AUTRE ADRESSE IP type 10.0.0.5

config interface 'loopback'                                                               
        option ifname 'lo'                                                                
        option proto 'static'                                                             
        option ipaddr '127.0.0.1'                                                         
        option netmask '255.0.0.0'                                                        

config interface 'lan'                                                                    
        option ifname 'eth0'                                                              
        option type 'bridge'                                                              
        option proto 'static'                                                             
        option ipaddr '10.0.0.5'                                                       
        option netmask '255.255.255.0'                                                    
        option gateway '10.0.0.1'                                                     
        list dns '10.0.0.1'                                                       
        list dns '8.8.8.8'

Sous vi,

  • pour insérer / modifier le fichier faire : "esc + :i"
  • pour enregistrer le fichier : "esc + :w"
  • pour sortir de vi : "esc + :q"
  • Encore un reboot puis
ssh root@10.0.0.5
  • Tester si depuis le TP-LINK le net marche :
ping google.fr

Installer les scripts PirateBox et les logiciels complémentaires

Maintenant que la PirateBox est branchée sur Internet, on va pouvoir procéder à l'installation des logiciels complémentaires :

  • Brancher votre Clef USB sur le MR3020, elle doit être formatée en FAT32
  • Installer le package PirateBox (vous êtes toujours connecté en ssh sur la PirateBox) :
cd /tmp
opkg update && opkg install http://piratebox.aod-rpg.de/piratebox_0.6.3_all.ipk

opkg update permet de mettre à jour la liste des logiciels contenus sur les serveurs "dépots", quand on installe le paquet piratebox_0.6.3_all.ipk, cela installe automatiquement aussi d'autres logiciels complémentaires à ce paquet (python, hostapd, dnsmasq, lighttpd, ...)

Optionnel : Installation de Kareha Image Board (si vous ne souhaitez pas l’installer, passer à l’étape 23) :

/opt/piratebox/bin/timesave.sh /opt/piratebox/conf/piratebox.conf install
/opt/piratebox/bin/install_piratebox.sh /opt/piratebox/conf/piratebox.conf imageboard

Changer les identifiants (ADMIN_PASS et SECRET) de l'administrateur du forum Kareha :

vi /opt/piratebox/www/board/config.pl

Une fois les modifications terminées et sauvegardées, tapez EXIT. Débrancher le câble ethernet et débrancher l’alimentation du MR3020 (au moins 10 secondes).

  • Rebrancher l’alimentation.
  • Depuis un ordinateur, téléphone ou tablette, rejoindre le réseau Wi-Fi "PirateBox - Share Freely".
  • Ouvrir une page internet quelconque, la page PirateBox s’affiche.
  • Partager du contenu !
AccueilPB.png

/!\ Après installation du paquet PirateBox, la configuration réseau du routeur a été remise à l’adresse IP 192.168.1.1 Pour y accéder à nouveau, il faut faire un :

ssh root@192.168.1.1

A noter que sur un réseau tcp/ip, une adresse IP ne peut être partagée entre 2 machines, si jamais 2 machines cherchent à avoir la même adresse (192.168.1.1), c'est la guerre, il faut débrancher les machines du réseau et refaire la config pour éviter ce téléscopage

Ressources complémentaires

Customisations

voir dans le répertoire /opt/piratebox/www

puis uploader via la page de la piratebox et transférer vos fichiers et en ssh :

mv /opt/piratebox/www/Shared/index.html /opt/piratebox/www/index.html

Traduction en français

[MAJ] ça ne marche pas, j'étais tellement content que je croyais que c'était bon, mais après redémarrage zilch

Solutions ?

J'ai un peu galéré pour ça, la doc en ligne (ici : http://pirateboxfr.com/franchophonisation2/) est obsolète. Pour traduire en français la Boîte Pirate (en anglais ça peut faire peur aux voisins) il faut

  • se connecter à la boîte (connexion filaire) en tapant
ssh root@192.168.1.1

puis le mot de passe

  • entrer dans le fichier de configuration droopy en tapant
vi /opt/piratebox/bin/droopy
  • descendre tooouuut en bas à la ligne 731/1156 et changer

lang = "en" en lang="fr"

(rappel vi : "i" pour écrire "esc" pour sortir du mode édition ":wq" pour sauvegarder et sortir)

  • redémarrer la Boîte Pirate

Dépannage

Restaurer le firmware d'origine

Mode Recovery

En cas de problème qui ne permet plus d'accéder au routeur, le MR3020 a un mode recovery qui s'active facilement et permet d'accéder au routeur en telnet sans mot de passe :

  1. brancher le routeur
  2. la led wisp s'allume une première fois
  3. attendre 5s que la led "wisp" clignote doucement
  4. appuyer sur la led/bouton "wisp"
  5. la led clignote plus vite
  6. brancher le routeur en RJ45 sur un réseau
  7. configurer un Pc pour que sa carte réseau ait l'adresse IP fixe 192.168.1.12
telnet 192.168.1.1

normalement vous avez accédé au routeur en mode root

mount_root 

pour monter la partition en écriture

vi /etc/config/network

corriger la config réseau

passwd

pour changer le mot de passe root

Pour revenir à une configuration vierge d'origine :

mount_root
rm -rf /overlay/*

d'après https://github.com/MaStr/mkPirateBox/wiki/Installation

Debrick avec une liaison série

Openwrt Tricks et écoute réseau

tcpdump -Ani eth0 port 4919 and udp

Piratebox et réseau mesh

PirateBox et catalogue Calibre - calibre2opds pour ebooks

Matériel