Créer un réseau maillé avec Babel (retour sur ma soirée au HackStub)
Comme nous vous l’avions annoncé, Mercredi soir le HackStub accueilli par La plage digitale proposait une soirée hacking et comme d’habitude, les participants étaient libres de proposer des thèmes et de les exposer. Le principe est ensuite que si dans l’assemblée certains sont branchés et veulent voir de plus près de quoi il s’agit, un groupe se forme et c’est partit.
J´aimerai préciser que sur la quinzaine de personnes présente ce soir-là, nous avions un niveau de connaissances hétéroclite. Personnellement j´étais un peu perdu lors de la mise en place du réseau maillé, mais à plusieurs reprises j´ai demandé de l´aide et la personne interrogée a pris le temps de m´expliquer pour que nous puissions avancer ensemble. C´est exactement l´idée que je me faisais de l´esprit du hacking et des hackers en général, où le partage des connaissances et l’égalité entre les membres fait partie des principes. Ça fait vraiment plaisir de voir que c´est une réalité (en tout cas au HackStub).
Déroulement de la soirée :
Pour lancer la soirée, Alex est venu avec une présentation faite à l´arrache (selon lui), basée sur les différents types de chiffrements existant, avec pour chacun d’entre-eux une description de son fonctionnement.
Ensuite, Mathieu nous a proposé de traduire de l’anglais au Français différents ouvrages publiés sur Framalang sous licence(s) Libre(s). S’agissant d’un travail communautaire la traduction a été lancée sur un pad en ligne, sur lequel les participants peuvent se connecter et choisir une partie du texte n´ayant pas encore été traitée. Pour exemple ce soir-là nous pouvions y trouver en cours de traduction (débutée au RMLL à Bruxelles) un ouvrage traitant de la cryptographie, ainsi que d’autres ouvrages traitants de sujets divers, comme dans l’exemple suivant. Si vous avez un don (ou pas) pour les langues et la traduction allez-y, c´est une expérience vraiment enrichissante.
Au boulot :
Finalement nous avons poursuivi l´étude et l´expérimentation du fonctionnement d´un réseau Wifi maillé, que nous avions entamé lors de notre dernière rencontre. N’étant pas super calé (enfin pas encore :)) dans ce domaine, je vous propose un extrait du wiki, qui résume très bien de quoi il s’agit :
« Le réseau maillé (ou maillage en réseau) est une topologie réseau qualifiant les réseaux (filaires ou non) dont tous les hôtes sont connectés pair à pair sans hiérarchie centrale, formant ainsi une structure en forme de filet. Par conséquence, chaque nœud doit recevoir, envoyer et relayer les données. Cela évite d’avoir des points sensibles, qui en cas de panne, coupent la connexion d’une partie du réseau. Si un hôte est hors service, ses voisins passeront par une autre route. Un réseau en maille peut relayer les données à l’instar d’une déluge ou une itinéraire, mais dans le second cas le réseau doit prévoir des connexions sans interruption ou calculer une déviation… »
Pour construire un réseau Mesh il est donc nécessaire de s’appuyer sur un protocole de routage. Il en existe plusieurs dont B.A.T.M.A.N. (développé par la communauté Freifunk), mais pour construire notre réseau nous avons préféré utiliser Babel.
Pour participer au réseau il faut commencer par paramétrer son ordinateur afin qu’il puisse se connecter à la maille, alors j’ai tout d’abord ouvert un terminal (obligatoire pour le moment), installé babeld (présent dans la plus part des dépôts officiels) et stoppé Networkmanager (impératif).
Pour se connecter chaque nœud doit faire fonctionner :
# iwconfig wlan0 mode ad-hoc channel 11 essid « Hackstub-Mesh » (configuration de la carte réseau)
# ip link set up dev wlan0 (edit : activer l’interface réseau)
# ip addr add 198.168.18.1.23/24 dev wlan0 (edit : chacun choisi une adresse pour se connecter j’ai pris le 23connexion sur le portle 24 étant le masque de sous réseau /24)# babeld wlan0 (connexion à Mesh Babel)
Pour vérifier que l’on fait partie du réseau, il suffit d’ouvrir un nouveau terminal et de taper la commande :
route -n (trouver le chemin)
Si tout s’est bien passé la commande renverra la liste des utilisateurs qui sont connectés et comme vous pouvez le voir sur la copie suivante, à ce moment-là nous étions 9 à surfer sur notre réseau wifi Mesh.
Voici une autre vue de la maille avec l’application BabelWeb
S’amuser à connecter des ordinateurs sur une maille c’est bien, mais avec un accès à internet c’est encore mieux.
C’est ce que nous avons fait en utilisant un des nœuds pour créer un pont vers internet et c’est à partir de là que cela ne fonctionnait plus pour moi, par manque de temps je n’ai pas pu reconfigurer ma machine. Par contre ceux qui ont réussi à emprunter ce pont (dont nous nous posions des questions sur la rapidité), ont même pu visionner une vidéo en 320p sur Youtube :)
Puisque nous sommes joueurs nous avons aussi lancé un test de connexion (désolé pour la qualité de l’image), qui a atteint 8,83 Mbps. Chez moi et branché sur ma Freebox, je viens d’atteindre 9,42Mbps.
Conclusion le débit était bon!
Ce que je viens d’écrire c’est juste mon expérience d’utilisateur qui vient se raccorder à un réseau WIFI maillé, entendez par là la vue côté « client ». La partie serveur était gérée par une personne, un Archer et je n’ai pas vu comment il a paramétré sa machine. Tout ce que je voyais c’était son écran qui ressemblait plus à un screensaver Matrix et il lisait couramment ce qui s’y affichait. Mais la prochaine fois promis, j’irai voir ça de plus près.
Nous en sommes encore au début et je trouve que ce que nous avons expérimenté est déjà très prometteur. Il est tout à fait possible de créer un réseau Mesh à l’échelle d’une ville comme cela se fait déjà en Allemagne ou au Canada. Je vous propose une vidéo qui présente le travail de l’association reseaulibre, qui a déployé une infrastructure WIFI Mesh sur la ville de Montréal.
Impressionnant non ?
En tout cas j’ai hâte d’être à notre prochaine rencontre au HackStub, d’ici là, bon hack ;)