INSTALLATION D'UN SYSTEME OPENWRT SUR UN SOEKRIS NET 4501
Bonjour Ă tous, et bienvenu pour un nouveau tutoriel qui, je l'espĂšre, sortira certaines personnes de l'impasse. Dans un prĂ©cĂ©dent tuto, j'avais expliquĂ© comment installer pfSense sur un Soekris net4501. Mon choix pour pfSense Ă©tait orientĂ© pour plusieurs raisons : -pfSense est fiable. On l'utilisait dĂ©jĂ dans ma boite sur l'ancien routeur, qui Ă©tait en fait un ordinateur complet au service du routeur. MĂȘme dans sa version bĂ©ta, il fonctionnait dĂ©jĂ trĂšs bien (exception faite d'un problĂšme lors du redĂ©marrage en cas de coupure de courant, qui oblige Ă rentrer Ă la main la commande de mount de la partition de root). -Disposant de deux connexion internet, on avait un besoin vital de load balancing et de la gestion de deux Gateway pour notre rĂ©seau et nos serveurs internes, et contrairement Ă m0n0wall, son prĂ©dĂ©cesseur, pfSense le gĂšre mieux que bien. -Je pensais, Ă tord, que pfSense Ă©tait un produit lĂ©ger. En fait cette vision erronĂ©e Ă©tait due au fait que je n'avais pas vu le faussĂ© ce creuser entre les v1.x et les v2.x. Depuis la v2, pfSense nĂ©cessite plus de 128MoRAM. -Le fait aussi de disposer du mĂȘme systĂšme que l'actuel, je ne me pausai donc pas la question de la portabilitĂ© de la config. Seulement voila, comme dit plus haut, pfSense a grossi, il est devenu gourmand en performance, et demande dĂ©sormais plus de 128MoRAM. Ăpique dĂ©ception car, au moment du tuto prĂ©cĂ©dent, je disposai d'un Soekris net4501 disposant de 32MoRAM, soit trois fois en dessous du seuil critique. C'est Ă sa premiĂšre journĂ©e de mise en prod que les crash successif et les erreur 500 sur la page de gestion de config, m'ont fait rĂ©alisĂ© mon erreur. Il a donc fallu rechercher d'autres solutions. Voici un peu mon cheminement et les raisons pour lesquelles je ne les ai pas sĂ©lectionnĂ©e : -m0n0wall (freeBSD) : Petit, lĂ©ger, pratique, l'interface web est assez simple et esthĂ©tiquement agrĂ©able (contraste radicalement avec le rouge/gris de pfSense assez agressif). Il ne dispose cependant pas de gestion du Dual-WAN/Load Balancing ni d'une prise de commande en SSH, ce qui pose un rĂ©el problĂšme de configuration profonde, obligeant l'utilisation du port sĂ©rie. On peut s'amuser Ă ajouter des modules particulier, mais c'est une plaie. J'ai vite Ă©tĂ© dĂ©couragĂ© par l'absence totale d'activitĂ© en ce qui concerne le dĂ©veloppement de nouvelles versions, qui avant me laisser envisager de possibles updates. -netBSD pure (ï»żnetBSDï»ż) : J'ai envisagĂ© briĂšvement de monter un netBSD purement et simplement, et d'y incorporer les paquets nĂ©cessaires pour permettre de faire tourner ce qui devait tourner. Le problĂšme Ă©tait que, tournant sous linux, je n'avais pas vraiment de base pour dĂ©buter. JugĂ© trop long et trop complexe, l'idĂ©e a Ă©tĂ© abandonnĂ©e. -LFS Linux From Scratch (GNU/Linux) : Dans le mĂȘme raisonnement que pour netBSD, l'idĂ©e Ă©tait assez sĂ©duisante, Ă©tant donnĂ© ma proximitĂ© avec le systĂšme linux et excellente documentation internet. MalgrĂ© lâenthousiasme que cette idĂ©e a suscitĂ© (crĂ©ation d'une distribution personnalisĂ©e et m'appartenant), l'idĂ©e a cependant Ă©tĂ© abandonnĂ©e Ă cause de la trop grande demande en temps et l'investissement personnel nĂ©cessaire Ă sa bonne rĂ©alisation. -ipCop (GNU/Linux) : Une des distribution principales de routeurs. malgrĂ© l'absence de load-balancing prĂ©-installĂ©, l'idĂ©e de tourner sous linux est intĂ©ressante dans le sens ou, le systĂšme m'Ă©tant familier, je pouvais envisager, mieux que sur un BSD, lâhypothĂšse de charger moi mĂȘme les paquets nĂ©cessaires. Malheureusement, ipCop n'est pas vraiment prĂ©vu pour fonctionner en embarquĂ©. De plus le comportement agressif et l'aide minimale obtenue sur le forum de soutien de cette distribution m'ont rĂ©ellement dĂ©rangĂ©. Enfin, ipCop, dans son incapacitĂ© Ă dĂ©gainer une version embarquĂ© facile d'installation pour CF, j'ai Ă©tĂ© dans l'incapacitĂ© de faire dĂ©marrer ne serai-ce que le bootloader. -OpenWRT (GNU/Linux) : Au bord de la crise de nerf profonde, on est tombĂ© par hasard sur une distribution prometteuse nommĂ© "OpenWRT". Fonctionnant sous Linux, gĂ©rant le Load Balancing, le multi-wan, ayant un protocole SSH et une interface web, et surtout spĂ©cialisĂ© pour l'embarquĂ©, le choix s'est donc imposĂ©. MatĂ©riel requit : - Un routeur Soekris net4501 Je suis passĂ© Ă une version lĂ©gĂšrement au dessus pour cette installation. Il dispose du mĂȘme processeur que le prĂ©cĂ©dent, Ă la diffĂ©rence qu'il possĂšde 64MoRAM. Je dois normalement faire un portage vers la version 32MoRAM (cf. Tuto Soekris pfSense), si jamais je rencontre un problĂšme, je publierai une petite note. -Un cĂąble sĂ©rie. -Un lecteur de carte CompactFlash (CF). -Une carte CF d'au moins 128Mo. -Les images de OpenWRT Backfire 10.03.1-RC6, Ă savoir : --OpenWRT x86 generic combined jffs2 128k (contenant la partition de boot et l'image kernel) --OpenWRT x86 generic combined ext2 (contenant les root systĂšmes) Les images sont disponibles ici : http://downloads.openwrt.org/backfire/10.03.1-rc6/x86_generic/ Pourquoi la 10.03.1-RC6 ? Et bien au moment ou j'Ă©cris ce tuto, c'est la version la plus rĂ©cente. Ensuite, faites lâexpĂ©rience et chargez vos images dans votre CF, et bootez naĂŻvement votre routeur. Et bien vous aurez 2 problĂšmes : -un bon gros "waiting for /dev/sda2" -Et si vous passez cette Ă©tape, vous vous retrouverez devant un systĂšme qui ne reconnaĂźtra pas vos interfaces rĂ©seau. GĂȘnant pour un routeur non? PAS DE PANIQUE La derniĂšre version comporte des correctifs qui permettent de passer ces quelques blocages. De plus elle est stable, ce qui rajoute son intĂ©rĂȘt. Ătape 1 : Configuration prĂ©alable de minicom et du BIOS routeur. Tout d'abord, on commence par lancer minicom. Il faut le configurer en 19200n8 pour pouvoir se connecter au routeur (ce n'est pas sur, les vitesses pas dĂ©faut varie, surtout si ils sont de 2nd main). # minicom /dev/VOTRE_PĂRIPHĂRIQUE_SERIAL si vous utilisez comme moi un cable sĂ©rie-USB, ce sera /dev/ttyUSB0. Une fois dans minicom, faites Ctrl+O, puis allez dans rĂ©gler le port sĂ©rie, puis tapez sur E pour accĂ©der Ă la vitesse de transmission. Une fois dedans, rĂ©gler la vitesse. Ensuite, branchez votre cable sĂ©rie sur le routeur, et alimentez le. Une fois au terme du chargement du BIOS, avant que les 5 secondes ne soit Ă©coulĂ©, tapez "Ctrl+P". Vous devriez avoir un prompt ">". Tapez : > set ConSpeed=38400 puis > reboot Pendant que le routeur redĂ©marre, retournez dans le menu Ctrl+O -> E -> et rĂ©glez la vitesse sur 38400. Voila, votre routeur, votre minicom ET bientĂŽt votre systĂšme seront synchronisĂ©s sur la mĂȘme vitesse, Ă savoir 38400 bauds. Etape 2 : Installation des images en dd sur la CF. Une fois vos images de OpenWRT tĂ©lĂ©chargĂ©es sur votre disques, et que vous connaissez leur emplacement absolu (histoire de ne pas se tromper), et que votre carte CF est correctement introduite dans le lecteur de carte, vous allez lancer les lignes de code suivante : # dd if=chemin/openwrt-x86-generic-combined-jffs2-128k.img of=/dev/sdb # dd if=chemin/openwrt-x86-generic-combined-ext2.img of=/dev/sdb ATTENTION : Comme dit dans un tuto prĂ©cĂ©dent, le dd est une arme absolue. Elle Ă©crase tout et ecrit par dessus. Par consĂ©quent, si jamais vous tappez quelque chose dans le genre /dev/sda au lieu de /dev/sdb, c'est votre disque dur qui y passe. Et lĂ vous n'avez AUCUNE chance de rĂ©cupĂ©rer le moindre fichier. C'est puissant, et par consĂ©quent c'est a utiliser avec prĂ©caution. Si tout c'est bien passĂ©, normalement deux Ă©lĂ©ments sont apparus dans /dev/ : sdb1 et sdb2. C'est lĂ toute la magie de faire du transfert d'image comme ça, il se dĂ©merde pour faire les choses bien. Ătape 3 : Installation de la CF et lancement du routeur. Bon, bin maintenant on peut plugger la carte dans le port CF de votre soekris, lancer minicom, et mettre le soekris sous tension. Le BIOS se lance, il annonce le lancement de grub, et lĂ BAM! CaractĂšres Ă©tranges en tout genre qui sâaniment. PAS DE PANIQUE D'aprĂšs mon expĂ©rience, le Soekris n et4501 banchĂ© en sĂ©rie ne supporte pas grub visuellement. Sur certains appareils, les comportements varient : Ils peuvent ne pas aller plus loin que grub, ou se lancer sans l'afficher correctement. Heureusement, dans mon cas, j'ai Ă©tĂ© dans la 2e solution. AprĂšs quelques secondes d'attentes, vous pouvez apercevoir le chargement du noyau. A la ligne : Please press Enter to open Terminal, n'appuyez pas dessus. Il va y avoir un module (NatSemi pour les interfaces rĂ©seau du soekris) supplĂ©mentaire qui va se lancer et qui risquerai de ne pas bien afficher la so cute prĂ©sentation d'OpenWRT.
Et voila, maintenant cliquez sur Entrée et dites bonjour à OpenWRT embarqué =).
Notes :
Adresse IP : Par dĂ©faut, l'IP du routeur est dĂ©finie par OpenWRT comme Ă©tant la 192.168.1.1. Au cas oĂč comme moi vous auriez la nĂ©cessitĂ© de changer, les fichiers de configuration du rĂ©seau (et tant d'autres) sont ici : # vi /etc/config/network Puis ensuite allez dans l'interface eth0 et changez ipaddr 192.168.1.1 en ipaddr 192.168.***.*** <- l'adresse IP que vous voulez. Ensuite procĂ©dez Ă un reboot des interfaces via cette commande : # /etc/init.d/network restart Et voila, maintenant l'interface web de configuration est disponible en ligne Ă l'adresse IP indiquĂ©e ! ENJOY YOUR OPENWRT ROUTEUR!!














