[Tuto] Créer sa PirateBox

linux 17 sept. 2013

Salut les hackerz ! (ou pas)

Aujourd’hui c’est mardi, j’ai passé mon lundi à faire des sauvegardes par-ci par-là, pour formater mon Windows 7 vieillissant (20min pour démarrer, record) et ma Mint 13 (en meilleur état, mais quand même). Vous vous en doutez, j’ai grandement réduit la partition allouée à Windows, qui ne démarre pour ainsi dire jamais (mais des fois que…), pis installé une elementaryOS de derrière les fagots à la place de Mint.

Cela m’a permis de retomber par hasard sur un p’tit bout de base de données de feu mon ancien blog, avec les tutoriels pour créer sa PirateBox à la maison. Avec @HadDevallez, ça nous a sur-motivés. Lui a attaqué direct avec un tuto pris sur le net… et ça n’a pas fonctionné :mrgreen: . On retombe donc dans la même problématique qu’il y a 1 an et demie : les tutos foisonnent sur le net, ya du bon, et du moins bon. Du coup, j’ai suivi mon propre tutoriel, et l’ai mis à jour, pour que vous puissiez en profiter si besoin. Ça aura mis un an, mais j’aurais fini par le re-publier, celui-ci… Enjoy 😉

Comme pour le premier, il est accompagné de captures d’écrans, et j’ai essayé de simplifier au maximum : les 2-3 tutoriels que j’ai trouvés sur le net sont vraiment rébarbatifs pour un non-initié, sans rien d’autre que des lignes de commande, et seulement pour Linux (on peut pas le leur reprocher) ou de temps en temps Mac OS (et là on est en plein dans l’hérésie).

Oh, et en passant, vous croiserez ma PirateBox à la Fête de la Science, ce samedi 12 octobre à l’Université de Technologie de Troyes. N’hésitez pas ! 🙂

 

Rappel : la PirateBox, c’est quoi ?

Question essentielle (et légitime) s’il en est une.

Pour faire simple : c’est un point d’accès Wi-Fi isolé (comprenez par là qu’il n’est pas connecté au net) auquel tout le monde peut se connecter, qui permet de discuter, d’échanger des fichiers… de façon complètement anonyme. C’est-à-dire que le boîtier (dans notre cas un petit routeur associé à une clé USB) n’enregistre rien : ni les connexions, ni les échanges, ni les discussions. Bref, aucune info permettant d’identifier ses utilisateurs. Ça demande de se trouver à proximité, mais c’est entièrement Hadopi-proof. Un des objectifs du projet, c’est aussi d’arriver à les faire communiquer entre elles, idéalement en se passant d’Internet (un réseau maillé si on veut, ou chacune des PirateBox sert de relais, encore faut-il qu’elles soient nombreuses…).

Vous commencez à me connaître. Un des charmes de ce petit bidule, c’est qu’il n’utilise que des logiciels libres et gratuits.

Le concept est sous CopyLeft de David Darts (que je remercie au passage pour son excellent tuto sur l’installation de Debian sur un Dockstar, qui m’a bien servi en son temps), et à la base ce projet revenait à une somme non négligeable (pour moi, étudiant) : environ 100$ (un plug computer –le fameux DockStar–, un routeur, une clé USB…).

C’est David Morefield qui a le premier utilisé un routeur bien moins cher pour faire sa PirateBox. Son article, quoique clair (mais plus à jour), est en anglais et sans aucune capture d’écran, ce qui peut rebuter le néophyte.

En France, c’est Jean Debaecker, un Lillois (instant taunt : pour les choses intéressantes, de toute façon, c’est au-dessus de Lyon que ça se passe), qui a repris le concept en 2012 si ma mémoire est bonne.

Allons-y !

 

Étape 1 : les bases

Alors déjà : le tutoriel semble long, mais c’est parce que je détaille tout. Sincèrement, en 20 minutes, c’est plié. Et si vous avez des questions, direction les commentaires 😉

Pré-requis matériels : le routeur (le TL-MR3020 de chez TP-Link, ici, acheté pour ma part chez CDiscount pour 30€ environ) ; un câble RJ45, l’alimentation du routeur (si si), un PC (Windows, Lunix, BSD, Mac… à vous de voir, mais évitez quand même Ordissimo, quoi, un peu de sérieux), une connexion à Internet et une clé USB (qui servira à stocker les fichiers échangés : visez facile le 4Go, perso j’ai mis une clé de 8Go qui traînait). C’est tout !

Pré-requis logiciels : de quoi vous connecter en Telnet et SSH au routeur (Windows : KiTTY), ainsi que le firmware alternatif OpenWrt pour le MR3020. Encore une fois, c’est tout 😉

 

Étape 2 : installer OpenWrt

C’est la seule partie un tantinet « chaud patate », parce qu(‘il faut bien lire ce que je mets avant de faire n’importe quoi. Et en cas de n’importe quoi, c’est un poil galère pour remettre le routeur à zéro (mais ça se fait, hein !). Allez-y doucement, donc 🙂

  1. Mettez le routeur en mode WISP (le p’tit switch/bouton/chose sur le côté du routeur).
  2. Branchez le câble RJ45 à votre pc, puis au routeur.
  3. Coupez éventuellement le Wi-Fi, ça peut éviter des conflits tout moisis…
  4. Ouvrez votre navigateur préféré, et rendez vous à l’adresse http://192.168.0.254/ (identifiant : admin, mot de passe : admin).
    Normalement, vous avez sous les yeux une magnifique page verte brandée TP-Link.
  5. Dans le menu de gauche : direction « System Tools », puis « Firmware upgrade »Capture1
  6. Cliquez sur « choisir un fichier », et sélectionnez le fichier .bin téléchargé au début du tuto. Cliquez maintenant sur « Upgrade ». Confirmez que vous êtes d’accord quand on vous le demande.Capture2
  7. Laissez le machin faire son boulot, et faites-vous un café. C’est bon, le café \o/Capture4
  8. Une fois la manip’ terminée (un message vous en informe –ou le navigateur n’arrive plus à afficher la page :mrgreen: ), le routeur redémarre tout seul.Capture5

 

Étape 3 : configuration d’OpenWrt

    1. Lancez KiTTY, et connectez-vous en Telnet au routeur, qui a maintenant pour IP 192.168.1.1 . Pour les Linuxiens, un simple telnet 192.168.1.1 suffit (supériorité de l’OS, tout ça).

      Pour les Windowsiens, via PuTTY
      Pour les Windowsiens, via KiTTY
    2. On se trouve maintenant face à une superbe fenêtre vantant une recette de cocktail, c’est normal. Entrez simplement la commande passwd pour choisir un mot de passe de connexion. Cela va désactiver Telnet, activer SSH, et du coup éviter que n’importe qui joue avec notre configuration. Quand vous tapez le mot de passe, rien ne s’affiche et c’est normal.capturepbox1
    3. Une fois le mot de passe changé, entrez la commande vi /etc/config/network, qui nous ouvre le fichier où l’on configure les interfaces réseau du machin. Vi est un éditeur de texte, son fonctionnement peut paraître compliqué quand on ne connaît pas. On s’inquiète pas, et on se concentre sur le « paragraphe » qui commence par config interface 'lan' (le deuxième, a priori).
      Il faut modifier l’ipaddr (j’ai choisi de lui donner l’IP 192.168.0.42) et d’ajouter option gateway '192.168.0.1'list dns '192.168.0.1' et list dns '8.8.8.8'. Je vais revenir là-dessus un peu plus bas, mais comme vous lisez avant de manipuler, vous serez pas perdu… 😉

Capture9
Sur la capture ci-dessus, les IP ne sont pas toutes identiques, mais c’est parce qu’à l’époque je n’étais pas sur le même réseau, tout ça… Et on voit une partie ‘wan’, n’en tenez pas compte.
Pour utiliser Vi : on se déplace avec les flèches directionnelles, on appuie sur la touche ‘Inser’ pour pouvoir taper du texte, pis quand on a fini, on fait ‘Echap’, puis on tape :wq pour enregistrer (w = write) et fermer Vi (q = quit).

    1. Maintenant, on va faire une sauvegarde de la configuration du pare-feu, puis le bidouiller. Entrez donc :
      cp /etc/config/firewall /etc/config/firewall.bak, puis vi /etc/config/firewall.
      Là, basiquement, il faut modifier les 23 premières lignes : ajouter des ‘ un peu partout, et changer les REJECT en ACCEPT. Voir ci-dessous le résultat à obtenir 🙂

 

capturepbox2

  1. Maintenant, on entre vi /etc/config/wireless, et on ajoute simplement un dièse ( # ) devant la ligne « option disabled  1 », pour qu’au prochain démarrage OpenWrt allume le module Wi-Fi du routeur. Vous pouvez aussi remplacer le 1 par un 0, sans le dièse cette fois. Les deux méthodes sont censées avoir le même effet.

 

 

Étape 4 : installer le logiciel PirateBox

Je sens poindre un « C’pas trop tôt » dans l’assistance. Oui, toi là-bas. On se tait et on reste attentif.

Bref ! Le MR3020 est maintenant prêt à accueillir les scripts d’installation de la PirateBox. Qu’attendons-nous ? 🙂

  1. Débranchez le MR3020 du secteur, connectez-le en ethernet à votre réseau « normal » (votre box, ou autre, tant qu’il a accès au net), branchez la clé USB (formatée en FAT32 !) au routeur puis rallumez tranquillement ce dernier. Reconnectez votre ordinateur au réseau de la maison.
  2. Windowsiens, relancez KiTTY, et connectez-vous cette fois en SSH (port 22) à l’IP définie dans le fichier /etc/config/interfaces. Le nom d’utilisateur à entrer est root. Linuxiens, ouvrez un terminal et entrez-y ssh root@IP, où ‘IP’ est celle choisie auparavant. Dans les deux cas, si ça couine que la clé du serveur est inconnue, dites-lui que vous vous connectez quand même, ça lui fera les pieds (et pas que).
  3. Vous êtes de nouveau en train de lire la recette du cocktail, c’est bien. Testons la connexion internet du routeur : ping -c3 google.com doit retourner « 3 packets received ».Capture17
  4. Maintenant, entrez :
    cd /tmp pour vous placer dans le répertoire « temp », qui se vide à chaque démarrage. Les fichiers d’installation, pas besoin de les garder 😉
    opkg update && opkg install http://piratebox.aod-rpg.de/piratebox_0.6.3_all.ipk pour lancer l’installation. Ça peut être un poil long, surtout pour ce qui est de python-mini. Quand tout ça est fini, un message vous en informe. Entrez alors reboot, débranchez le câble RJ45, et puis… C’est tout.

Vous devez voir apparaître le réseau de la PirateBox sur vos périphériques habituels !

Menu_001

Voilà, il suffit à n’importe qui de s’y connecter, il n’y a pas de sécurité sur le réseau (d’où la nécessité de ne pas laisser le MR3020 connecté au net via votre box, sinon c’est open-bar pour tout le monde… et c’est vous qui êtes responsable), et cette personne sera redirigée lors de la navigation vers la page qui va bien. En anglais, cela dit.

Screenshot_2013-09-17-15-32-41
Le Nexus 4 aime la PirateBox 😉

 

Pour la personnalisation, cela fera l’objet d’un prochain tutoriel : réglages, francisation, installation du forum… et accès au contenu de la PirateBox (parce qu’il faut faire le ménage, des fois). Stay tuned !

 

Mots clés