Table of Contents
réseau routeur dd-wrt
Linksys WRT54GL
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.
DD-WRT
C'est l'un des firmwares les plus connus que l'on peut mettre sur un WRT54Gx.
Procédure de flashage
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.
boot_wait
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 :
- télécharger la version “mini” ou “micro” du firmware ici : http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html
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.
- se connecter en LAN (câble) avec IE (car Firefox pose problème) à l'interface web du routeur (par défaut http://192.168.1.1 , pas de login et pass=
admin
). - faire un retour aux paramètres usine. Le routeur reprendra les paramètres par défaut cités plus haut.
- redémarrer le routeur
- faire la mise à niveau avec la version “mini” ou “micro” ; ne pas éteindre le routeur, déconnecter la prise réseau et attendre quelques minutes.
- le routeur reboot et normalement ça marche.
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.
- Il faut ensuite refaire un retour aux paramètres usine avant de le re-reflasher avec la version VPN de DD-WRT.
Si le flashage se passe mal
Ç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”.
SSH
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"
Commandes utiles
nvram show
: liste les paramètres de configuration
SNMP
Pour 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
Problèmes rencontrés
- Après flashage, j'ai noté des problèmes lors de l'enregistrement des préférences de DD-WRT avec Firefox 2.0.0.4 ; pas avec IE 7
Surveillance MRTG
Voici le schéma de fonctionnement du routeur :
- vlan0 : les 4 ports LAN
- vlan1 : le port WAN (Internet)
- eth0 : vlan0 + vlan1
- eth1 : wifi
- br0 : fond de panier = par où passent tous les flux
- lo : loopback
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
MAJ DD-WRT 2.4 SP1
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 :
- reconfiguration de MRTG nécessaire car les interfaces réseau ont changé de numérotation (.?!)
- je n'ai pas retrouvé l'OID du “Active IP connections” qui s'affiche sur la page “Router status” de l'interface web
- le multiposte de free ne fonctionne plus sans configuration, car la version 2.4 ne semble pas RTSP-compliant. Du coup il faut ajouter un trigger : lors d'un établissement de connexion tcp-udp/554, ouverture des ports > 1024.