Archive for the 'Internet' Category

Page 3 of 4

Corrélation entre la taille du pénis et les logiciels utilisés

J'ai lancé il y a peu un questionnaire dont le but est de déterminer si la taille du pénis a une quelconque influence sur le choix des logiciels utilisés.

Il y a actuellement plus de 1800 réponses au questionnaire. Je ferai un rapport je pense d'ici une semaine, quand la croissance du nombre de réponses s'approchera de zéro.

Avec plus de 2000 réponses je pense qu'on aura une base suffisamment significative pour pouvoir tirer des conclusions.

Je vous invite à tenter de passer le lien à vos connaissances afin d'étoffer la base de donnée.

Peerfuse

Il y a maintenant plus d'un mois j'ai débuté avec lodesi un projet intitulé Peerfuse, qui est un système de fichiers distribué peer-to-peer.

Le projet est découpé en deux sous projets distincts (possédant une base de code commune) :

  • peerfuse-net pour un réseau sur Internet avec des inconnus. La principale utilisation à laquelle on pense, est un but similaire à Emule, à part qu'au lieu d'avoir un espace par utilisateur, ici tout le monde partage le même espace. Ceci permet l'échange de vidéos, photos, musiques, programmes, images CD de distributions Linux, etc.
  • peerfuse-lan pour un réseau avec ses propres machines. Il permet par exemple de partager une partition /usr/local entre divers machines. Ainsi chacunes de ces machines possède virtuellement un grand nombre d'applications, et elles ne sont récupérées que lorsqu'on les utilise effectivement.

Le principe en surface est simple :

  • C'est un système de fichier, c'est à dire qu'il n'y a pas de GUI (bon en fait on en fera probablement une pour aider à effectuer certaines tâches).
    Il suffit donc de lancer peerfuse avec la commande mount sur un point de montage qui sera l'espace partagé.
  • Il n'y a pas de serveur central, lorsque l'on rejoint le réseau, il suffit de se connecter sur l'un des peers, qui va nous mettre en relation avec tous les autres.
  • La partition montée est commune à tout le monde. C'est à dire que l'arborescence présente dans le point de montage sera le même pour tout le monde.
    Lorsque l'on souhaite partager un fichier avec le reste du monde, il suffit donc de le copier vers le point de montage, et ainsi chaque utilisateur y verra le fichier et pourra le lire ou le copier à son tour (ce qui effectue un téléchargement).
  • Il y a tout de même un système de permissions, comme sur tout système de fichier unix.
    Sur peerfuse-net, chaque peer possède un UID, et chaque fichier qu'il crée aura pour propriétaire cet uid. Après les permissions unix s'appliquent comme d'habitude. Les groupes seront également supportés, avec le principe qu'un utilisateur est propriétaire du groupe au GID = UID. C'est donc lui qui ajoute des personnes à son groupe.
    Sur peerfuse-lan, les permissions du système unix sont concervées. Ainsi root sur une machine pourra voir root sur les autres machines.
  • Une autre puissance de peerfuse est de permettre un travail collaboratif. En effet, les fichiers sont modifiables par ceux qui en ont la permission. Il est ainsi facile d'imaginer qu'un projet soit créé sur un réseau peerfuse, dans un dossier où seul le groupe G a droit d'écriture dessus. Tous les membres de ce groupe pourront modifier et faire évoluer ce projet.
    Attention toute fois, pour des projets d'ampleur tels que des logiciels, il est préférable d'utiliser un système de gestion de version tel que Subversion. En effet, peerfuse ne gère pas l'historique des versions, ni les accès concurrents à un même fichier (la dernière écriture gagne).
  • Peerfuse fonctionne en mode déconnecté, c'est à dire que même lorsque l'on est déconnecté du réseau, on peut lancer peerfuse et ajouter des fichiers, en supprimer, en modifier, etc. Lors de la prochaine reconnexion au réseau, les changements seront appliqués.
  • Tous les échanges sont sécurisés, utilisant SSL pour les connexions.
    peerfuse-net renforce encore les systèmes de sécurité, avec signatures de tous les messages et fichiers, encryptage des fichiers accessible que par une partie des utilisateurs (propriétaire ou groupe), certificat délivré par une autorité afin d'assurer l'authenticité de tel utilisateur, etc.
  • Les transferts seront effectués probablement en UDP pour peerfuse-lan, afin de gagner un débit optimal.
  • Ces transferts seront effectués dans la limite du possible en streaming. Le but est de pouvoir lire une vidéo de façon totalement transparente même lorsqu'elle n'est pas encore sur la machine locale. Si le débit du transfert est plus rapide que celui de la vidéo, aucune différence ne sera faite.

C'est un projet assez novateur et dont les tentatives similaires (mais n'ayant pas le tiers des fonctionnalités que nous proposons) sont toutes tombées à l'eau. Je pense que Laurent et moi avons la volonté suffisante pour que ça ne soit pas le cas avec ce projet.

Cependant, comme on peut l'imaginer, il y a énormément de problèmes de sécurité dans peerfuse-net qui peuvent se poser, en raison de la présence éventuelle de malfaiteurs. Nous en avons déjà résolu une grande partie, mais il reste encore quelques sujets mineurs sur lesquels plancher.

Développement

Nous recherchons tout de même des développeurs afin de nous aider sur le projet, car il y a du boulot. Cela dit, je pense qu'on atteindra une première version stable et incomplète de peerfure-lan rapidement, étant donné qu'il ne pose plus de problèmes de sécurité, et qu'il manque uniquement les transferts des fichiers.

Vous pouvez récupérer les sources grâce à :

$ svn co https://piggledy.org/svn/peerfuse/trunk peerfuse

Login: anonymous
Password: <Enter>

Vous trouverez la base commune dans common/, la partie concernant peerfuse-net dans peerfuse-net/ et je vous laisse deviner où se trouve le code de peerfuse-lan.
La documentation se trouve dans doc/, cependant ne lisez pas proto.html qui est complètement dépassé maintenant.

Lisez plutôt peerfuse-net/PROTOCOL et doc/pfnet.proto.

N'hesitez pas à nous rejoindre sur le salon IRC #peerfuse@freenode. Une mailing list sera bientôt mise en place.

Plus d'informations sur http://peerfuse.org.

PHP sucks

J'avais un TP noté de PHP l'autre jour, l'occasion pour moi de découvrir les classes en PHP5, ce que je n'avais jamais vu. En effet, j'utilise très peu php, préférant le Python pour INL ou le HTML statique pour mon usage personnel.

Cela dit, j'ai redécouvert à quel point le PHP est un langage de merde.
En effet, pendant le développement de mon application web j'ai constaté que PHP échappait tout seul les chaînes récupérées par POST. Comportement de merde servant à contrer les attaques classiques de SQL injection ou autre, je suppose.
Malheureusement ça ne s'arrête pas là. En plus de ça, ce comportement est définissable dans la configuration de PHP ! Cela signifie que d'un serveur Apache à un autre le comportement peut différer !

En bref, je peux avouer que j'étais sur le cul, et me suis retrouvé contraint d'écrire la fonction suivante que j'appelle pour chaque chaîne récupérée via $_POST :

/* PHP REALLY SUCKS DICKS IN HELL */
function mystrip($string)
{
        if(get_magic_quotes_gpc())
                return stripslashes($string);
        else
                return $string;
}

Ce qui est débile, c'est que maintenant il faut appeler une autre fonction pour échapper les chaînes de caractères que je veux inclure dans une requête vers ma base mySQL. On strip pour rééchapper...
Détail amusant, la fonction à appeler n'est pas mysql_escape_string comme on pouvait s'y attendre, mais mysql_real_escape_string. En effet, on imagine que la première fonction n'échappe pas vraiment les chaînes, bien sûr, c'est probablement un petit jeu pour rendre le dev PHP encore plus frustrant.

J'en profite pour rajouter une petite anecdote. Le TP noté était en fait la réalisation d'un blog avec diverses fonctions, je ne vais pas détailler, j'ai trouvé le sujet intéressant (pour changer), et comme je l'ai dis plus haut ça m'a permis d'apprendre des trucs (plus ou moins agaçants);

Le rendu devait être accompagné d'un dump de la base SQL, et comme le formateur est un garçon charmant qui a entre autres organisé un concours au sein de l'école pour faire gagner des goodies récupérés aux TechDays (un sac Microsoft, une démo de Visual Studio 2008 et SQL Server 2008, super trop cool quoi) avec des questions "geeks" (sic) dont "Quel est le nom de la femme de Bill Gates", "Où se se situe geographiquement le siège de Microsoft" et "Quel est le meilleurs blog sur les technologies Microsoft" (la réponse à la dernière question est le blog de cette personne), j'ai donc décidé de mettre en premier billet l'excellent article de pankkake concernant la fin de l'empire Microsoft.

J'ai du mal à comprendre qu'on puisse être fanboy Microsoft. Je n'aime pas spécialement plus les fanboys Linux ou Apple (et y en a un certain nombres), mais eux ont la légitimité d'avoir un "combat" contre "la grosse méchante boite qui fait du fric car l'argent c'est mal". C'est quelque chose d'éthique.
Au contraire, fanboy Microsoft implique de kiffer grave des logiciels de piètre qualité, ce dont on se rends compte facilement quand on connaît un minimum le domaine, ce qui j'espère est le cas pour quelqu'un étant formateur dans une école d'informatique.

Mutt et ses amis

J'utilisais KMail jusqu'alors pour lire mon courrier, cependant le manque de raccourcis claviers et de souplesse de celui-ci m'ont fait passer à un superbe MUA qu'est Mutt.

mutt.png

Introduction

Tout d'abord il faut oublier ce que vous savez sur les clients mails tout en un. En effet, Mutt part du principe qu'il doit assurer uniquement la fonction minimale d'un client mail, c'est à dire afficher les mails. Il passe par d'autres programmes pour récupérer les mails, les envoyer, les filtrer, les écrire, etc.

Cependant, dans les dernières versions, il est tout de même possible de l'utiliser pour faire ces actions (SMTP POP3 et IMAP), mais nous allons faire avec des outils externes, c'est plus drôle.

Personnellement j'ai choisi les programmes suivants :

  • postfix pour envoyer les mails en relayant au serveur SMTP de mon FAI. L'intérêt pour moi est qu'il me sert également comme serveur MX pour lmes domaines afin de stocker dans ma boite système.
  • fetchmail pour récupérer les mails POP de mes différents comptes.
  • procmail pour trier mes mails dans les différents dossiers.

Il est à noter enfin que tout (y compris mutt) se trouve sur le serveur pour pouvoir accéder à ma boite mail depuis n'importe où.

Compilation

J'ai choisi de recompiler la dernière version à cette date de Mutt (1.5.17) afin d'appliquer un patch permettant d'avoir une sidebar avec la liste des dossiers, ce qui simplifie l'utilisation.
J'ai activé après les options suivantes pour la compilation :

$ ./configure --with-sasl --with-slang --enable-hcache --enable-imap --with-ssl

Ainsi que vous pouvez le voir, j'ai activé le support d'IMAP afin de jouir des fonctionnalités de celui-ci pour mon compte IMAP.

Maildir

Pour récupérer les mails que vous aviez avec votre ancien client mail, si ce dernier supportait le format Maildir il est aisé de récupérer le répertoire et de l'utiliser. J'ai mis le miens en tant que ~/Mail/.

Petite subtilité pour KMail, la gestion des sous répertoires est un peu chiante, en effet ils sont dans ~/Mail/.inbox.directory/, pareil pour les sous sous répertoires, etc. Personnellement j'ai tout déplacé afin que chaque répertoire soit directement dans ~/Mail/. Ainsi j'ai :

3 rom1@sunigav ~/Mail $ ls
cache    ircu       maa-commits  sent-mail      Taches
CoderZ   libcaca    mail.sh      server.rdl.fr  Tâches
Gunther  libodbc++  MenAreAnts   Spam           Wormux
inbox    listen.sh  Nekeme

Nous verrons l'intérêt des scripts mail.sh et listen.sh plus tard.

Postfix

Rien de spécial à faire, installez le et configurer (simple, personnellement c'est l'installeur Debian qui m'a posé les bonnes questions).

Fetchmail

Créez le fichier ~/.fetchmailrc et remplissez le avec vos comptes à la manière :

set postmaster "rom1"
set bouncemail
set no spambounce
set properties ""
poll pop.pro.proxad.net with proto POP3
       user 'ident' there with password 'pass' is 'rom1' here ssl
poll pop.1and1.fr proto POP3
        user 'ident' there with password 'pass' is 'rom1' here ssl
...

N'oubliez pas de chmod 600 le fichier, en effet il contient vos mots de passe en clair !

Lancez maintenant fetchmail en démon en compte utilisateur avec la commande suivante :

$ fetchmail -d 30 -a -m "/usr/bin/procmail -Y -d %T"

Fetchmail va récupérer les mails toutes les trente secondes et va les passer à procmail.

Procmail

Créez le fichier ~/.procmailrc et remplissez le de la manière suivante :

# caractère verbeux de procmail ; mettre 'yes' permet d'avoir des messages
# supplémentaires
VERBOSE=no

SHELL=/bin/sh

# chemin d'accès aux exécutables ; en mettre le minimum, pour n'accéder qu'aux
# programmes indiqués dans le fichier de configuration
PATH=/bin:/usr/bin:/usr/local/bin

# répertoire où seront stockés les mails ; s'assurer que votre MUA sait y
# accéder aussi
MAILDIR=/home/rom1/Mail

# si procmail n'arrive pas à délivrer le courrier, cette boîte sera utilisée
# en dernier ressort : il vaut mieux définir cette variable !
ORGMAIL=/home/rom1/emergency-inbox

# boîte de réception par défaut
DEFAULT=$MAILDIR/inbox/new

# fichier de log de procmail ; si vous définissez cette variable,
# procmail gardera une trace de son exécution dans le fichier
# indiqué. À consulter périodiquement !
LOGFILE=$MAILDIR/.procmail.log

# Fichiers de règles à inclure
INCLUDERC=/home/rom1/.procmail/spam.rc
INCLUDERC=/home/rom1/.procmail/ml.rc

Les fichiers de règles doivent juste contenir les règles les unes à la suite des autres. Voici un exemple simple de quelques règles :

:0
* ^Subject: .*libcaca.*
$MAILDIR/libcaca/new

:0
* ^Subject: .*Your partner will worship you for it.*
$MAILDIR/Spam/new

:0
* ^To: .*menareants.*
$MAILDIR/MenAreAnts/new

Il faut tout d'abord écrire une première ligne avec :0 (ajouter à cela quelques flags si nécessaire), ensuite une ou plusieurs lignes commençant par * contenant une regexp, et enfin l'action à mener dans le cas où toutes les regexp matchent. Notez que là c'est très basique, les possibilités sont immenses. Par exemple dans un avenir proche je compte le coupler avec spamassassin.
Voir la doc de postfix.

Mutt

Le plus chiant reste la configuration de Mutt. J'ai personnellement été fouillé de tous les côtés, pompé des bouts de configurations d'autres personnes, lu la doc, etc. C'est tellement paramétrable que c'est pas facile d'y arriver tout seul au début je pense.

Ma config (malgré sa taille) reste basique et va probablement évoluer au fur et à mesure de mon utilisation.

Voici les différents fichiers :

  • .muttrc - Configuration principale qui contient les options générales
  • gpg.rc - Configuration GPG. En theorie il n'y a que la clef à changer dans pgp_sign_as
  • mailboxes.rc - Contient les définitions des différentes boites, ainsi que du compte IMAP. Ainsi qu'on peut le voir, je ne l'ai pas encore configuré, mais les paramètres commentés peuvent être utile comme base
  • theme.rc - Thème de mutt

Je ne commenterai pas plus que ça, après tout la doc de Mutt est très complète là dessus.

En tous cas relisez chaque paramètre et personnalisez, ne prenez pas ça comme une configuration fonctionnelle. Mutt a la particularité justement que personne n'aura exactement les mêmes besoins et donc la même conf.

Indicateur de nouveaux mails

Il est toujours très plaisant d'avoir une indication des nouveaux mails sur une partie visible en permanence de son bureau. La subtilité ici est que Mutt est lancé sur une autre machine.

La solution que j'ai trouvé est super crade, mais elle marche, ce qui est déjà ça.
L'idée est d'écouter un port côté serveur et de balancer le nombre de nouveaux mails et de couper la connexion. Côté client il suffit donc de se connecter à ce port pour récupérer la valeur.

Voici donc l'uniligne ~/Mail/listen.sh :

#!/bin/sh
while [ 1 ]; do socat EXEC:"/home/rom1/Mail/mail.sh" TCP4-LISTEN:4875,reuseaddr; done

Comme vous pouvez le voir, on peut faire plus sexy. Il exécute le script ~/Mail/mail.sh dont le contenu est le suivant :

#!/bin/sh
find ~/Mail/ | grep new | grep -v "new$" | grep -v Spam | wc -l

La séparation est nécessaire car socat exécute un fichier et pas des commandes (utilisation de execvp() et non de system()). De toute façon je trouve pas ça plus mal de séparer les deux, ça permet de réutiliser mail.sh ailleurs.

Vous pouvez constater que mail.sh est carrément dégueulasse, mais bon on fait avec. Notez le grep -v Spam qui permet de ne pas compter les éventuels nouveaux mails qui se situent dans le dossier Spam.

Côté client il suffit de faire exécuter la commande suivante :

socat TCP4:sunigav:4875 STDOUT

Merci en tous cas à lodesi pour l'astuce du socat car je connais aussi mal bash que les chiens qui lechent leur gode.

Conclusion

Voilà un super Mutt fonctionnel, qui envoie, reçoit et trie les mails, lit avec elinks les mails HTML (malheureusement il y en a) et m'affiche un indicateur dans la statusbar de ion3 :

mutt1.png

Pensez à bien configurer mailcap pour les applications à utiliser.

BForCoderz

Bonjour,

Comme tout le monde le sait, les serveurs d'IRCube cryptent les noms d'hôtes. La partie cachée est celle avant le premier '.', et est remplacée par un hash MD2 ou MD5 de 32 bits sous forme hexadécimale.
Qui n'a jamais rêvé, à la place de 341B0FB4.w86-194.abo.wanadoo.fr, d'avoir un nom d'hôte cryptée tel que CACA.mondomaine.com, 1337.mondomaine.com, 69.mondomaine.com ou encore B00B.mondomaine.com ?

Ceci est maintenant possible, grâce à BForCoderz !

En effet, ce petit programme permet de mettre en oeuvre la technique du bruteforce, qui consiste à tester le maximum de possibilités afin de trouver laquelle correspond à l'hostname cryptée donnée.

Cette méthode peut paraître à première vue longue, mais justement BForCoderz met en oeuvre un système permettant de partager les opérations. Il utilise en effet une architecture client/serveur permettant de répartir les calculs sur différentes machines.
Il est donc pour cela nécessaire de lancer un serveur et divers clients reliés à lui, en attente d'opérations. Inutile de préciser qu'il ne sert à rien de lancer plus d'un client par processeur, ce qui ne ferait ralentir plus qu'autre chose.

Une fois le réseau mis en place, il vous suffit de vous connecter en telnet au serveur et de lancer une recherche, le serveur s'occupe du reste et vous remontera les divers résultats.
Il est à noter que j'ai également implémenté un système de masques qui permet de spécifier la forme des hosts à tester (par exemple %$-$-$-$ pour un hôte tele2 style b13-145-44-142.cust.tele2.fr). Vous trouverez plus d'informations sur le site de BForCoderz

Voici l'exemple d'une IRCubienne qui a choisie de renoncer à son hostname proxad.net, pour prendre à la place un hostname crypté bien plus sexy :

Utadah_Bay (~Syphaiwon@CACA.vaginus.org) has joined #IRCube

Notez qu'il faut pour cela posséder une IP fixe et avoir un fournisseur d'accès qui autorise la mise d'un reverse DNS autre que *.fai.com.

Enfin, ce projet a été étudié pour être le plus rapide possibles, grâce à diverses micro-optimisations, et ce même avec l'utilisation des masques. Ceux qui sont intéressés peuvent lire le code source disponible, et éventuellement contribuer. Je rajouterai qu'il n'y a absolument aucune vérification au niveau de la sécurité (bufferoverflow par exemple, même si il est très peu probable d'arriver à l'exploiter). En effet ce n'est actuellement pas primordial et pour une utilisation normale ça ne devrait pas poser de problèmes.

Pour plus d'informations et pour télécharger BForCoderz, visitez la page consacrée au projet : http://romain.peerfuse.org/projects/bforcoderz

Romain.

P.S.: Les plus perspicaces (et cons) d'entre vous se seront posé la question de l'éventualité de décrypter les hostnames d'IRCube. Je peux affirmer que cela risque d'être très dur. En effet, il faut savoir que le hash MD2 ou MD5 tient sur 128 bits, mais qu'on le tronque sur 32 bits, et que donc il y a un grand nombre de collisions (voir sur la page du projet). Vous obtiendrez cependant certes une liste restreintes (ou non) d'hostnames, mais il vous faudra tous les tester afin de déterminer laquelle est la bonne, ce qui réduit un peu l'intérêt.

Nulog 2

Bonjour,

D'ici quelques jours devrait paraître Nulog 2, une interface d'analyse de logs pare-feu Netfilter que j'ai développé au sein de mon stage chez INL.

Voici en avant première une screenshot :

nulog-newstyle.png

Comme vous pouvez le voir, Nulog 2 supporte les fonctionnalités suivantes :

  • Page d'accueil entièrement personnalisable
  • Affichage de "cadre" déplaçable et pliables
  • Les cadres peuvent contenir des tableaux, des histogrammes ou des camemberts
  • Utilisation d'AJAX pour une meilleurs interactivité avec l'utilisateur
  • Export des données en CSV
  • Gestion des logs de NuFW, le pare-feu authentifiant d'INL
  • Recherche par clics intuitive au sein de l'interface, par la cumulation des filtres (par exemple: "utilisateur Progs" -> "host 192.168.0.50" -> "port destination 25")
  • Interface multi-langage
  • Bien d'autres fonctionnalités qu'il serait vain d'exprimer

Il a été développé en Python, grâce aux frameworks Twisted et Nevow.

Internet Relay Chat 2.1.1

Bonjour,

Ainsi que tout le monde s'en branle, mon déménagement s'est bien passé mis à part quelques péripéties sans importance (coupures de courant, retard de la liaison Free).

Ce matin donc, n'ayant pas grand chose à faire (bon, si en fait, mais ayant la flemme de le faire), j'ai glandouillé en cherchant dans mon répertoire ~/src et j'ai retrouvé la première release d'IRC, le serveur IRC original de Jarkko Oikarinen.
J'avais, il y a quelques temps, tenté de corriger les erreurs de compilation afin de le porter à Linux.

J'ai eu alors l'idée saugrenue autant qu'inutile de faire une archive d e celui-ci facilement installable sous Linux afin de permettre aux passionnés d'histoire de l'Internet comme moi, de tester cette version antique d'IRC qui date de 1988 (juste à ma naissance en fait) !

J'ai donc changé pleinement le système d'installation en utilisant les autotools, en remplacement de la nécessité d'éditer le Makefile et des en-têtes C.
J'ai également fais une documentation qui explique comment installer facilement, et une super page pour mettre en téléchargement une archive de tout ça.

Il en résulte http://romain.peerfuse.org/projects/oldirc, avec une magnifique screenshot qui montre un mega essai :

screenshot

Comme vous pouvez le constater, je me suis amusé.

Topologie

Afin d'illustrer mon dernier billet, je m'étais ce matin mis en tête de dessiner l'ancienne et la nouvelle topologie du réseau. Ça n'a absolument aucun intérêt, mais c'est assez marrant à faire, et ça m'a permis de découvrir quelques outils.

lanmap

Tout d'abord en cherchant dans les paquets Debian, je trouve lanmap qui est pas trop mal. En fait il détecte tout seul et génère un graphe fréquemment avec les statistiques de traffic.
Malheureusement, il s'est loupé pour moi, ça ne ressemble pas trop à ça :

lanmap.png

Les machines 192.168.0.87 et 192.168.0.56 ne sont pas placées ainsi, les trois desktops étant derrière un hub (ce que lanmap ne peut détecter, étant de niveau 2).

Cheops

Après quelques recherches sur Google, je trouve un utilitaire intitulé Cheops qui permet de créer le graphe.

En fait le projet Cheops a été abandonné il y a quelques années, puis repris pour être renommé Cheops-NG (pour New Generation).

J'ai voulu tester les deux qui en fait détectent le réseau tout seuls, mais comme lanmap, se goure complètement. Cette fois ils indiquent ma machine comme était connectée d'un côté au routeur (192.168.0.1), et de l'autre côté aux deux autres desktops (.87 et .56). En plus de ça on ne peut pas décider de ses liens, et on ne peut pas introduire de materiel de niveau inférieur à 3 dans les graphes.

Bref je laisse tomber.

Dia

Je me penche vers Dia qui au final, malgré qu'il ne soit pas spécialisé dans la topologie réseau, possède des images Cisco et permet de faire des schemas simplement.

Je peux donc maintenant vous présenter mon ancien réseau :

lastlan.png

Et mon nouveau réseau :

newlan.png

Le seul changement, c'est le routeur 192.168.1.10/192.168.0.1 qui passe en tant que simple serveur. Le réseau 192.168.1.0/24 est supprimé, et le routeur 192.168.1.1 prends l'ip 192.168.0.1 pour que le changement soit transparent sur les autres machines.

Ce qui va me permettre de retenter l'installation d'OpenBSD sur la vieille machine, n'ayant besoin que d'une carte réseau maintenant.

OpenBSD, Ep.1

Aujourd'hui j'ai voulu installer OpenBSD sur mon routeur, une vieille machine sur laquelle se trouvait une Debian.

Le but était de rafraîchir un peu la machine (car j'ai fais plein de conneries dessus), mais également de tester un nouvel OS.

Je précise que j'avais déjà installé une OpenBSD dans un qemu, donc je n'ai pas débarqué et je connaissais un peu le processus d'installation qui, au final, n'est guère plus compliqué qu'une Debian (ncurse en moins), une fois que l'on a compris le partitionnement particulier d'OpenBSD.

J'ai donc sauvegardé les données sensibles, téléchargé puis gravé l'iso de 5 Mo, et rebooté le routeur sur le CD.

Je débute l'installation, fait mon partionnement très basique. La machine est très vielle, et ne possède que 10 Go d'espace disque. Je décide de faire un / de 4.5Go, une swap de 256Mo, et le reste en /home.
Là où je commence à être surpris, c'est concernant la configuration du réseau. Il me détecte trois interfaces au lieu de deux, ne3, ep0 et ep1. Je me dis que ep0 et ep1 doivent correspondre à eth0 et eth1. Bon je me goure complètement, donc je retente avec la configuration de ne3 et ep1. Là j'ai ne3 qui marche, mais pas ep1.

Bref, je vais épargner les détails, en gros je me rends compte au final, déjà que le nom de l'interface corresponds au type de carte, ensuite que ep0 et ep1 ont la même adresse MAC, et que ne3 est l'interface 192.168.1.0/24 (sur lequel se trouve le routeur club-internet), et ep* l'interface du LAN 192.168.0.0/24. Oui je ne sais toujours pas ce à quoi corresponds ep*.

Post-installation, j'accède bien à Internet, il ne connait plus qu'ep0 et plus ep1, mais alors que ep0 est bien configurée, je n'arrive qu'à me pinguer et pas à pinguer les autres machines du LAN.
Je commence à chercher un peu, beaucoup, dans la doc dans ce que je vois de similaire à Linux, etc, je ne comprends pas.

Au bout d'une heure, las, je me décide à aller sur #openbsd @ irc.freenode.org afin de demander de l'aide. On me reçoit correctement, et après avoir exposé mon problème, on me demande la sortie de dmesg.
Après analyse, on me dit qu'il y a un conflit au niveau de l'IRQ de la carte réseau avec la carte son, qu'une solution est de prendre une nouvelle carte PCI, ou de booter sur un live cd afin de changer l'IRQ manuellement. Ne voulant pas acheter une nouvelle carte réseau, ne sachant pas comment changer l'IRQ (car nul point de vue matériel), je me rabats sur la solution de virer la carte son.

Malheureusement, après avoir ouvert mon PC, je me rends compte que celle-ci est incorporée à la carte mère. Pas de chance.

Après reboot, l'interface ne3 ne fonctionne pas plus. Je commence à desespérer un peu, d'autant plus que sur IRC ils se foutent de moi lorsque je leur informe que Linux gérait le problème, que ce dernier réglait apparament tout seul les conflits d'IRQ.

Dépité, je décide finalement de télécharger une Debian Etch afin de la réinstaller sur le routeur. Cependant, je fut surpris de voir que celle-ci ne détecte qu'une seule carte réseau (ep0), et qu'en plus elle n'arrive pas à la faire marcher.

Bref, au final, ceci n'est pas une expérience très significative, vu que le problème vient bien de la machine.

Ma solution a été de changer la topologie du réseau, afin de brancher le hub du LAN 192.168.0.0/24 au routeur club-internet, et de changer le réseau de ce dernier (il était en 192.168.1.0/24).

Je pense que je vais du coup récupérer le routeur pour en faire un serveur. Le mieux serait que j'installe OpenBSD, je n'aurai donc besoin que d'une seule interface.

Par contre, je ne rebooterai pas histoire d'éviter le problème que j'ai connu (ne3 qui foire après un reboot).

Comme d'habitude, celui qui est arrivé jusqu'ici a le droit à toute mon indifférence.

INL

Il y a parfois des hasards étranges...

Je me propose de vous faire partager cette succession de coïncidences qui furent celles que j'ai rencontré autour d'INL.

Dimanche 25 mars

J'envoie ma première (et dernière) demande de stage à une boite que j'avais repéré parmis des boites faisant du libre.

Lundi 26 mars

Je reçois une réponse par mail. J'exprime ma joie sur IRC...

11:36  > AHAH
11:36  > j'ai reçu un mail pour un entretien pour mon stage
11:43  > (chez INL)
13:54 @lodesi> Progs: serieux ??
13:55 @lodesi> oh ok, j'viens de lire sur #wormux-fr
14:12  > :)
14:13 @lodesi> tu viens demain alors ?
14:13  > où ?
14:13 @lodesi> inl ?
14:13  > non
14:13 . Netsplit over, joins: @ChanServ
14:13  > demain en fait elle m'appelle pour un entretien téléphonique
14:13 @lodesi> ah ok
14:14  > oui
14:14  > pourquoi tu es à inl ? :)
14:14 @lodesi> bah, fais un whois sur mon client, tu verras ;)
14:14  > ouah ça déchire !!
14:16  > cet été tu es à inl ? :)
14:16 @lodesi> bah, à moins que je me fasse virer, ouep! :)
14:17  > lol
14:17  > ah c'est bien ça
14:17  > on va pouvoir faire des menareants ensemble à inl :)
14:17 @lodesi> lol, ici le sport officiel c'est bzflag ;)

J'apprends donc qu'à INL bosse lodesi, un codeur du jeu Wormux que je connais depuis un moment.

Mardi 27 Mars

J'apprends sur #wormux-fr que haypo bosse également chez INL !

09:32  > j'ai postulé pour INL dimanche et j'ai un entretien téléphonique
         dans la matinée
09:33 @gentildemon> lodesi, t'as avancé sur le bug du positionnement
                    des armes :p ?
09:33  > et j'ai appris hier que lodesi était chez INL !
09:33 @gentildemon> héhé :)
09:33 @gentildemon> haypo est là bas aussi non ?
09:34 @lodesi> ouaip

Mardi 17 Avril

C'est plus ou moins comme ça que j'apprends que hackter bosse à INL (quelques jours avant de le rencontrer sur place).

12:54 @haypo> ah, c'est parce que tu n'as pas encore croisé Damien
12:54 @haypo> va sur #django-fr
12:54  > qui est-ce
12:54 @haypo> tu verras
12:54 @haypo> Progs: damien boucard aka hackter/dboucard
12:54 @haypo> un ami et un collègue
12:54  > tu parles de hackter ?
12:54  > ok
12:54  > j'ai déjà joué à bzflag avec

Lundi 21 Mai

20:05  > puis comme Anicée a préféré aller à sa cyber-rencontre avec un connard
         nommé misc (tu dois connaitre Diije) plutot que de manger avec moi,
         bah je vais me faire de la bouffe pour moi tout seul

En fait je n'ai pas de trace écrite de ma découverte que misc appartient à INL. Plus tard dans la soirée Anicée m'a appelé pour que je vienne la chercher, et j'ai eu l'occasion de discuter avec lui, et il m'a appris la chose.

Conclusion

Tout IRC bosse à INL, c'est dingue non ?

Edit

En plus de ça, yeKcim, le graphiste de Wormux, a dessiné Nupik, le logo d'EdenWall, produit d'INL.




Bear