PirateBox TP-Link MR3020
Sommaire
- 1 Tutoriel pour transformer un routeur TP-Link MR3020 en PirateBox, boite de partage de contenus
- 1.1 Nouvelle procédure d'installation pour la PirateBox v1 (fin 2014)
- 1.2 Ancienne procédure d'installation avant la v1
- 2 Ressources complémentaires
- 3 Customisations
- 4 Traduction en français
- 5 Dépannage
- 6 Piratebox et réseau mesh
- 7 PirateBox et catalogue Calibre - calibre2opds pour ebooks
- 8 Matériel
Tutoriel pour transformer un routeur TP-Link MR3020 en PirateBox, boite de partage de contenus
Nouvelle procédure d'installation pour la PirateBox v1 (fin 2014)
- Voir page : http://piratebox.cc/openwrt:diy
En résumé :
- on télécharge le zip piratebox et le firmware correspondant à son routeur
- on décompresse le zip
- on met le répertoire décompressé et le firmware à la racine d'une clef USB formattée en FAT32
- on branche la cklef USB au routeur en mode 3G
- on se connecte à l'interface d'admin par défaut (admin & admin)
- on met à lour le firmware pour passer le routeur en openwrt
- 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 :
- On installe un système d'exploitation alternatif sur le routeur : OpenWRT
- On configure le routeur pour qu'il puisse accéder à Internet et installer ainsi des logiciels complémentaires
- 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)
- 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
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 !
/!\ 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
- Tutoriel en français avec routeur wifi et openwrt http://piratebox-lille.blogspot.fr/p/tutoriel-mr3020.html
- Tutoriel en anglais avec routeur wifi et openwrt http://wiki.daviddarts.com/PirateBox_DIY_OpenWrt
- Un tutoriel alternatif https://sites.google.com/site/cookingcomputersandmore/home/computers-electronics-and-gadgets/piratebox-on-tp-link-mr-3020
- Un wiki plein de ressources http://piratebox.aod-rpg.de/dokuwiki/doku.php
- Envoyer des fichiers via scp http://blog.v-jeremy.net/scp-transfert-de-fichier-via-ssh/
- Le paquet mkPirateBox actuel : https://github.com/MaStr/mkPirateBox/wiki/Installation, l'ancien https://github.com/cr/mkPirateBox/wiki/Installation
- Le serveur web droopy (obsolete, remplacé par lighthttpd) https://github.com/janbre/Assorted/tree/master/Piratebox
- Projet Uncloud : creer un hotspot serveur web local http://www.intk.com/projects/uncloud
- Les ressources de reso-nance http://reso-nance.org/wiki/wiki/piratebox
- Les ressources de Ping pour faire une "CultureBox" http://fablabo.net/wiki/Culturebox
- Les ressources du Loop https://wiki.leloop.org/index.php/PirateBox
Customisations
- Modif ESSID upload folder, url http://piratebox.aod-rpg.de/dokuwiki/doku.php/modifications/lighttpd_051
- Changer le ESSID, Config pour éviter le chargement de fichier index.htm(l) http://perso.numericable.fr/piratebox/PirateBox_Lille/tutoriel2.html
- update TP-Link MR3020 + ajout d'un chat, support iphone : http://forum.daviddarts.com/read.php?2,3820,4064#msg-4064
- ajout antenne externe https://apollo.open-resource.org/lab:argus#modifications
- Pour changer les logos et traduire les fichiers index.html et .READ.ME.htm
- fichier [.READ.ME.htm en français] traduit par [@PirateBx]
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
- Piratebox responsive design http://forum.daviddarts.com/read.php?2,7922
- Personnaliser le répertoire lighttpd http://sylvain.naud.in/post/2013/06/16/Personnaliser-le-r%C3%A9pertoire-Lighttpd-de-votre-PirateBox
- Amélioration du look avec Bootstrap http://biblionumericus.fr/2013/07/06/personnaliser-sa-piratebox/ et http://sylvain.naud.in/post/2013/06/15/Personnaliser-votre-PirateBox-avec-Bootstrap
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
- remettre le firmware d'origine https://docs.google.com/file/d/0B29hOjS3UlFmRGZiS0pxemJKMUk/edit?pli=1
- avec une clef USB (quand mount_root ne marche pas) http://piratebox.aod-rpg.de/dokuwiki/doku.php/openwrt/reflash_with_usb
- remettre la pirateBox à son stade initial (oubli de password root) : voir ci-dessous ?
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 :
- brancher le routeur
- la led wisp s'allume une première fois
- attendre 5s que la led "wisp" clignote doucement
- appuyer sur la led/bouton "wisp"
- la led clignote plus vite
- brancher le routeur en RJ45 sur un réseau
- 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
- http://ediy.com.my/index.php/blog/item/78-recover-bricked-tl-mr3020-wireless-n-router
- https://www.logre.eu/wiki/Debricker
Openwrt Tricks et écoute réseau
- http://wiki.openwrt.org/doc/howto/generic.failsafe#stage_2detect_when_failsafe_mode_can_be_triggered
tcpdump -Ani eth0 port 4919 and udp
Piratebox et réseau mesh
- http://forum.daviddarts.com/read.php?2,5630
- http://piratebox.aod-rpg.de/dokuwiki/doku.php?id=notepad_for_mesh&DokuWiki=b77d55d9e286362357024e7c7a6f99e7
- https://github.com/MaStr/mkPirateBox-Mesh
- http://wiki.reseaulibre.ca/guides/openwrt+batman/ et http://wiki.reseaulibre.ca/documentation/batman/
- Réseau mesh de piratebox http://pirateboxfr.xooit.fr/t6-Creation-d-un-reseau-meshe.htm
PirateBox et catalogue Calibre - calibre2opds pour ebooks
Matériel
- Le routeur utilisé : Le TL-MR3020 http://wiki.openwrt.org/toh/tp-link/tl-mr3020 chez pixmania
- De nombreuses transformations possibles : ajout carte sd, antenne externe, plug webcam, ... http://wiki.openwrt.org/toh/tp-link/tl-mr3020
- Batterie portable http://www.amazon.fr/TeckNet-Dual-Port-iEP380-II-incroyable-Blackberry/dp/B0041OQFAU