PirateBox Debian

De WikiOpenTruc
Aller à : navigation, rechercher

Avertissement : Page en cours (et en début) de rédaction. L'article est encore tout à fait incomplet, et le restera encore un moment. S'agissant d'une manip en cours, il y a des points en questionnement ... et peut-être des erreurs/horreurs. N'hésitez pas à corriger.

Cette page est expressément dédiée à l'implémentation particulière de la pirateBox sur un PC ordinaire sous OS Debian, avec l'idée de faire quelque chose de plus souple et standard. L'idée à terme relève de l'auto-hébergement + diffusion wifi (en gardant (et élargissant) évidemment toutes les capacités d'upload/download qui font tout l'intérêt de la pirateBox). C'est de toute manière l'une des orientations majeures prises par l'équipe "officielle" des développeurs de la pirateBox (http://forum.daviddarts.com ) en plus des nombreux forks qu'ils essaient de soutenir.
Liens : http://forum.daviddarts.com/read.php?7,7158 ,

Pour un article/compilation général sur la pirateBox, voir http://wiki.partipirate.org/wiki/PirateBox.
Pour un projet faisant appel à une PB sous Debian : http://entrepierres.net/wiki/PirateBox_Vilhosc1

(Version Debian stable à la date du 25/3/2013 = Squeeze 6.0.7)


Historique/rappels

Une piratebox, c'est votre petit réseau internet à vous, sans abonnement FAI, sans hébergeur, sans contrôle, sans tracking, sans pub. Tout ça pour moins de 100€ + un peu d'huile de coude.
La pirateBox originelle date de 2011/2012, est implémentée sur un tout petit boitier (TL MR3020). On ne détaillera pas tout ici pour la nième fois. Voici une poignée d'articles pertinents :


La 1° implémentation de la pirateBox a eu pas mal de succès. Le boitier TL MR3020 a même été en rupture de stock (mais il s'agit peut-être aussi d'une coïncidence ?).
Ce succès initial a immédiatement généré plein d'idées d'améliorations et de forks (plus de modularité/reconfigurabilité, serveur amélioré, etc). Cela a d'ailleurs conduit en mars 2013 à une restructuration des forums (http://forum.daviddarts.com/) pour tenir compte de toutes ces évolutions.
Le serveur web de la PirateBox originelle est un truc minimal en python (SimpleHTTPServer.py sauf erreur) , mais en février 2013 il semblerait que la dernière version de la PB (28/2/2013 = 0.7) tourne sous Lighttpd qui est plus puissant et infiniment plus standard (bonne nouvelle !).
Sans surprise, on glisse doucement vers une problématique d' auto-hébergement + diffusion hertzienne (... + maillage).

http://www.terror-byte.net/?p=87 4 février 2013: Packaging: This is the most exciting news, PirateBox should soon be packaged into .deb, .rpm, and .xz files for easy unpacking in your local distribution. This will also allow us to push PirateBox into Ubuntu, Fedora, and Arch repositories so PirateBox will be as simple as an apt-get install or pacman -S away. This is what I am personally most excited about as it opens us up to a whole new world. Au 27/3/2013, c'est la dernière news sur terror-byte.



Premières customisations coté serveur

Premières tentatives d'améliorations du serveur. Il y a plein de liens à droite à gauche. C'est du bidouillage look/design, mais ça montre bien le souhait immédiat de chacun de customiser sa pirateBox.

Toutes les astuces comme celles indiquées au-dessus sont intéressantes, mais, pour aller plus loin il est nécessaire de toucher plus profondément à l'architecture logicielle de la pirateBox elle-même. (Ce que l'équipe de développeurs, et d'autres, sont en train de faire).

Implémentations sur PC standard, laptop, etc


A noter que l'implémentation de PirateBox sur Raspberry-Pi est aussi un sujet très actif (depuis début 2012) ... et que Raspberry-Pi tourne sous Raspbian qui est un avatar de Debian. Il y a donc probablement aussi des informations à glaner de ce coté là.
Just got my RPi, so much nicer for deving pirateboxes than cramming things in a router. Lots and lots of room and the debian install is nice and rich. ([1])


Liens un peu obsolètes


Scénario d'installation

On s'inspire ici de la démarche adoptée pour la partageBox http://attackvector.free.fr/diy/partage-b0x/partagebox.pdf et des forums chez daviddarts.
Il ne s'agit pas de décompacter un fichier binaire tout ficelé, mais plutôt d'installer pas à pas tous les éléments individuels, afin de mieux comprendre le fonctionnement et aussi pour faciliter la customisation.
On suppose la machine avec Debian installé et munie d'une connexion filaire (internet) opérationnelle et d'une antenne wifi. S'agissant d'un PC ordinaire, on suppose aussi disposer d'au moins un disque dur (on ne s'occupe donc pas de clé USB, lecteur USB, etc). Concernant le système Debian, il peut avoir été installé avec plein d'options (paquets dns, serveur, etc), ou en version plus light. Donc, selon son incomplétude ... il y aura des paquets à se procurer. On indique les paquets nécessaires à installer. S'ils sont déjà présents, il est évidemment inutile de les réinstaller. Après chaque installation/configuration il est évidemment nécessaire de redémarrer le service pour que les changements soient pris en compte.

Ingrédients : firewall, serveur DHCP, serveur DNS, portail, logiciel serveur web, serveur ftp.
Paquets Debian: http://www.debian.org/distrib/packages

Raccord carte/antenne + installation paquets wifi + configuration

  • Raccorder la carte/antenne (via port USB pour ce projet)
  • Installer les paquets relatifs au wifi
  • Configurer

Dans la partageBox, il y a "séparation" (?) des réseaux wifi et filaire et paramétrage différencié des 2. (On imagine qu'il est aussi possible que la connexion filaire soit simplement physiquement débranchée la plupart du temps.)
La configuration du réseau wifi est bien sûr spécifique au matériel carte/antenne retenu.
A noter que l'usure de la carte/antenne est directement corrélée au milliWatts que vous lui faites débiter. Si le fabricant indique que 2000mW est possible, il s'agit en fait d'une valeur max que la carte peut supporter ponctuellement, pas de la valeur pour un fonctionnement permanent. 2000mW 24h/24 pendant 1 mois ou 100mW pendant 3 ans ... à vous de choisir.
A noter aussi que votre installation doit émettre, mais évidemment aussi recevoir du signal. Si vous faites "hurler" votre antenne, le captage du signal retour sera rendu nettement plus difficile, voire impossible. Là aussi, c'est une bonne raison de ne pas pousser les manettes.

Liens

Installation firewall + configuration

  • Installer

Le noyau linux (et donc Debian) est déjà muni d'un firewall de base qui se résume à un fichier de configuration brut qui est déjà configuré par défaut "comme il faut". Il existe plusieurs firewall sous Debian, tous plus ou moins basés sur les 2 paquets basiques iptables/netfilter Voir [2][3] etc (googler firewall+debian). Dans l'absolu, il n'y a donc pas de nécessité d'installer un autre firewall, ces logiciels étant en fait surtout des surcouches

  • Configurer

Voir [4][5] etc

Installation du serveur DHCP + configuration

Pour faire court, le serveur DHCP est le logiciel qui s'occupe d'affecter une adresse IP aux matériels concernés présents. Voir: http://fr.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol + http://wiki.debian.org/fr/DHCP_Server etc (googler Debian+DHCP)

  • Installer
  • Configurer le fichier /etc/dhcp/dhcpd.conf

Installation d'un serveur Web + configuration

Plusieurs serveurs web sont proposés sous Debian stable http://packages.debian.org/stable/web/ . Parmi les plus connus : Apache, Lighttpd, Nginx (http://fr.wikipedia.org/wiki/Serveur_HTTP). Uhttpd qui est le serveur web intégré d'openWRT n'est pas proposé sous Debian (même pas en testing ou unstable).
A priori, on aurait tendance à opter pour le serveur retenu par les développeurs de la pirateBox, à savoir Lighttpd. (voir aussi http://fr.wikipedia.org/wiki/Lighttpd). D'après l'un des devs : This package uses lighttpd and may perform much faster than the old python script based stuff Apache est peut-être un peu surdimensionné pour l'usage envisagé (... et est peut-être aussi un peu ancien).
(les raisons du choix de lighttpd)

  • configurer

Si on veut proposer l'hébergement/support de fichiers PHP, alors cela nécessite 1/ l'installation de paquets dédiés à cette tâche et 2/ de le notifier dans la configuration du serveur.

Au 25/2/2013, PHP pour PirateBox est qualifié de very expérimental (http://piratebox.aod-rpg.de/dokuwiki/doku.php/modifications/lighttpd_051#php_for_piratebox)

Voir aussi : http://piratebox.aod-rpg.de/dokuwiki/doku.php/piratebox_lighttpd

Installation serveur ftp ...

(liste non exhaustive)

  • avant d'installer le logiciel retenu, il faut bien sûr définir un peu l'architecture/arborescence de l'espace réservé aux uploads/downloads.



à suivre ...


Antenne, carte/antenne

Diverses contraintes s'appliquaient pour le choix d'une carte antenne, dont une bonne compatibilité Debian. http://wiki.debian.org/fr/WiFi liste, assez précisément, les chipsets/firmware compatible Debian. Après investigations, le matériel retenu pour la présente implémentation est une carte/antenne très connue et éprouvée http://www.alfa-awus036h.com/alfa-awus036h-accueil.php . On trouvera pas mal d'informations et conseils sur cette carte ici : http://www.crack-wifi.com/forum

Discussions sur les cartes/antennes compatibles Raspberry-Pi PirateBox + AccessPoint ici :

L'awus036NH est dite compatible et awus036H est dite non-compatible ? Un peu étonnant.

Commandes utiles

Simple pense-bête des commandes utiles pour analyser/installer/paramétrer une pirateBox.

cd        change de répertoire
ifconfig  configure une interface réseau
iwconfig  configure une interface réseau sans-fil (wireless)
lsusb     list USB devices
ln        Créer des liens entre des fichiers
mkdir     Créer des répertoires
mv        Déplacer ou renommer des fichiers
passwd    Modifier le mot de passe d'un utilisateur
ps        Présenter un cliché instantané des processus en cours
reboot    Arrêter le système
rm        Effacer des fichiers et des répertoires
sed       stream editor for filtering and transforming text
sudo      execute a command as another user
tar       utilitaire tar de gestion d'archives (décompresse etc)
wget      utility for downloading network data


Commandes spécifiques
hostapd
iw        A priori lié au wireless etc


Acronymes
AP Access Point (mode) = Mode Point d'Accès = capacité de l'installation wifi à fonctionner en tant que point d'accès ou point de connexion.

Remarques annexes

Il ne faut pas perdre de vue qu'une pirateBox reste, pour l'instant, soit au mieux connectée à des pirateBox voisines, soit isolée. Une simple page avec des liens (ce qui se fait de plus courant), aura tous ses liens non fonctionnels. Donc, pour l'instant, la pirateBox reste un objet réservé a du travail local. Cela n'enlève rien à son intérêt ... mais il ne faut pas non plus oublier ce point.

PirateBoxs maillées

Voir PirateBoxs_maillées (meshed)

Articles connexes


Autres liens