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.
Tu as regardé dans le BIOS ? C’est une vieille machine mais tu peux peut-être bidouiller les IRQ ou même désactiver la carte son. Je sais que sur les BIOS que j’ai, je peux choisir les IRQ à allouer pour certains périphériques.
Sinon à propos d’OpenBSD, j’ai un dilemme : j’adore les fonctionnalités réseau mais pour d’autres raisons je veux avoir un serveur sous noyau Linux (parce que je connais mieux, qu’il y a des features Linuxiennes sympa, et que je préfère avoir des Gentoo partout sur des PC avec plein de packages à maintenir) ; mais j’utilise mon PC routeur comme serveur aussi. Et il n’y a pas de petite boite embarquée pas trop chère (Soekris c’est cher) pour faire tourner OpenBSD, sachant qu’il me faut au moins deux ports (y a moyen de faire du routage avec un seul port Ethernet, mais c’est de la grosse grosse bidouille sale et peu performante). Ou alors je branche la Freebox sur USB, hahahaha (mais il faut de l’USB 2.0 pour pas avoir un débit trop honteux).
De manière générale, ne pas intercaler un routeur est finalement pas si mal, ne serait-ce que pour augmenter sensiblement le débit. Je vais mettre le serveur à côté.
C’est vrai qu’en production il est toujours mieux d’administrer un OS qu’on connaît, mais mon but est justement d’apprendre à utiliser OpenBSD, et vu que de toute façon ce serveur est plus un bac à sable qu’autre chose… Au moins mon père arrêtera de le rebooter quand la connexion plantera, pensant que ça vient de là. (Je n’ose pas dire quel est son métier)
Bon ça attendra demain parce que là je suis un peu crevé, et énervé d’avoir perdu ma journée.
Ouais la freebox en USB c’est un peu la lose, mais ça permet de rendre ta machine directement adressée sur Internet. Enfin la freebox tu peux la mettre comme bridge je crois, ce qui n’est pas le cas de la club-internet.box.
Et sinon j’ai voulu acheter un t-shirt OpenBSD, mais 20€ c’est bien trop cher.