réseau routeur dd-wrt
Le WRT54Gx est un routeur/borne Wi-Fi bon marché (moins de 50 euros ; et, il est vrai, assez ancien) de marque Linksys (racheté depuis par Cisco) qui peut être flashé avec un Linux embarqué afin d'accroître ses fonctionnalités. Un matériel indispensable pour tout barbu qui se respecte.
La version “L” (pour Linux) dispose d'un CPU de 200MHz (overclockable après flashage), 16Mo de mémoire vive et 4Mo de mémoire flash.
C'est l'un des firmwares les plus connus que l'on peut mettre sur un WRT54Gx.
Je décris ici la procédure que j'ai suivie pour flasher mon routeur avec dd-wrt.v24_vpn_generic. Celle-ci varie selon la version du routeur ; dans mon cas il s'agit d'un WRT54GL v1.1 (n° de série qui commence par CL7B ou CL7C). Pour connaitre la version de son WRT54G, c'est ici.
J'ai lu qu'il fallait activer le boot_wait, une option qui correspond au temps d'attente au boot avant le chargement du firmware, et qui permet d'injecter un autre firmware en TFTP, dans le cas ou le routeur soit brické (ne démarre plus). Cela ne serait pas possible avec le firmware Linksys, mais au cas ou voici la procédure (non testée) : Pour cela il faut aller dans l'outil ping de l'interface graphique et saisir une à une ces 4 lignes :
;cp${IFS}*/*/nvram${IFS}/tmp/n ;*/n${IFS}set${IFS}boot_wait=on ;*/n${IFS}commit ;*/n${IFS}show>tmp/ping.log
Pour installer DD-WRT en version VPN, il faut dans l'ordre :
En effet lors du premier flashage, le firmware linksys ne supporte pas les images de plus de 3 Mo. Il faut donc passer par une version intermédiaire du firmware, plus petite, qui ne dispose pas de toutes les fonctionnalités de DD-WRT.
admin
).Dans mon cas, après le flashage je suis resté bloqué à l'identification de l'interface web (le routeur ne prenait pas mon mot de passe). Je l'ai débranché/rebranché, ça n'a rien fait. En revanche en restaurant les paramètres usine physiquement (maintenir enfoncé le bouton reset à l'arrière du boitier pendant 20 secondes), ça a rétabli l'accès à l'interface web.
Ça m'est arrivé une fois : j'ai omis de flasher mon routeur neuf avec une version “mini”. J'ai eu un message qui m'annonçait une erreur lors du flashage, je croyais qu'il ne l'avait donc pas pris en compte et j'ai redémarré le routeur. Erreur. La diode power clignote, je ping le routeur en 192.168.1.1 mais impossible d'accéder à l'interface web.
Pour résoudre ce problème, je me suis inspiré de cette page du wiki dd-wrt : il faut flasher par TFTP. La méthode la plus simple est de télécharger DrayTek Router Tools -un outil vraiment génial de simplicité- et de flasher son routeur avec ladite version “mini”.
On peut activer le SSH afin de se connecter avec le login root
et le mot de passe d'admin.
Pour éviter d'avoir à ressaisir à chaque fois son mot de passe, on peut s'authentifier par clé publique en la copiant dans Administration / Services / Secure Shell / Authorized Keys.
Sous Windows, on peut générer un couple clé publique / clé privée avec puttygen. Il faut ensuite utiliser le contenu du champ Public key for pasting into OpenSSH authorized_keys files. Ainsi lorsqu'on lance putty on obtient le shell directement :
Using username "root". DD-WRT v23 SP2 vpn (c) 2006 NewMedia-NET GmbH Release: 09/15/06 (SVN revision: 3932) Authenticating with public key "rsa-key-20070708"
nvram show
: liste les paramètres de configurationPour récupérer le nombre de connexions actives (comme fourni dans l'interface web), il suffit d'ajouter ce script au démarrage :
#!/bin/sh cd /tmp/var/snmp grep count_ip_conntrack < snmpd.conf || echo "exec count_ip_conntrack \ /bin/sed -n $= /proc/net/ip_conntrack" >> /var/snmp/snmpd.conf killall -TERM snmpd /usr/sbin/snmpd -c /var/snmp/snmpd.conf
Voici le schéma de fonctionnement du routeur :
Seules les 4 premières interface citées ci-dessus sont intéressantes à monitorer.
(___br0___) / | \ \_ \____ / | \ \__ \_____ / | \ \ \ | [0] [1] [2] [3] [4] | | [wlan] | |vlan1 ---- vlan0 ----- | | | | WAN LAN | | WLAN | | | | | |Internet 1 2 3 4 | | WLAN | <-- label +---------------------------+ +--------+ ethernet switch wireless eth0 (cpu port 5) eth1
Cela fait une dizaine de jour que je suis passé de DD-WRT 2.3 SP2 à la version 2.4 SP1. L'interface de cette dernière comporte plus de fonctions que l'on devait, avec la 2.3, passer en ligne de commande.
Les problèmes rencontrés :