Accueil > Informatique > Installer OpenWRT sur un Linksys WRT54GL (Episode 2)

Installer OpenWRT sur un Linksys WRT54GL (Episode 2)

Maintenant que vous disposez d’un WRT54GL équipé d’un firmware OpenWRT nous allons voir comment « améliorer » un peu la bête.

Notez qu’après flashage de votre routeur avec le firmware OpenWRT Kamikaze les différents paramètres éventuellement présents dans la NVRAM ne sont pas pris en compte.
De ce fait les paramètres du firmware Linksys d’origine, d’une ancienne version d’OpenWRT ou de tout autre firmware alternatif ne sont pas repris.


En avant pour un peu de « bidouille » …


Si vous n’avez pas encore défini de mot de passe root via l’interface web, il est possible de le définir par telnet:


telnet 192.168.1.1


puis:


passwd root



Notez qu’une fois le mot de passe root défini, l’accès telnet est désactivé.
Il est donc judicieux de tester l’accès SSH avant de mettre fin à la connection telnet.


Ensuite nous allons commencer par faire un peu de ménage dans la NVRAM: ouvrez une connection SSH puis:


cd /tmp
wget http://downloads.openwrt.org/people/kaloz/nvram-clean.sh
chmod a+x nvram-clean.sh
./nvram-clean.sh
nvram commit
rm nvram-clean.sh



Assurons nous ensuite (toujours via SSH) que le boot_wait est toujours activé (on ne sait jamais):

nvram set boot_wait=on
nvram set boot_time=10
nvram commit && reboot



Afin de maintenir votre routeur toujours à l’heure, ce qui peut avoir son utilité lors de l’examen des logs, nous allons installer un client NTP:

Connectez vous en SSH et mettez à jour la liste des paquets disponibles:

opkg update

Note: la liste des paquets disponible n’est pas conservée après un reboot

Installez le client NTP:

opkg install ntpclient


Configurez votre TimeZone pour tenir compte du changement d’heure été/hiver:

uci set system.@system[0].zonename=France
uci set system.@system[0].timezone=CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00
uci commit system
timezone=$(uci get system.@system[0].timezone); [ -z "$timezone" ] && timezone=UTC; echo "$timezone" > /tmp/TZ




Voici maintenant un petit script pour activer/désactiver le wifi par simple pression sur le bouton Sisco SES présent en facade du routeur: cisco

Créez le dossier button dans /etc/hotplug.d et créez y le fichier 01-radio-toggle:

cd /etc/hotplug.d
mkdir button
vi 01-radio-toggle


Copiez y les lignes suivantes:

if [ "$BUTTON" = "ses" ] ; then
if [ "$ACTION" = "pressed" ] ; then
WIFI_RADIOSTATUS=$(wlc radio)
case "$WIFI_RADIOSTATUS" in
0)
echo 2 > /proc/diag/led/power
wlc radio 1
wifi
echo 1 > /proc/diag/led/ses_white
echo 1 > /proc/diag/led/power ;;
1)
echo 2 > /proc/diag/led/power
wlc radio 0
echo 0 > /proc/diag/led/ses_white
echo 2 > /proc/diag/led/wlan
echo 1 > /proc/diag/led/power ;;
esac
fi
fi

Source: http://hack-it.org/index.php?title=Linksys_WRT54GL




Par défaut votre routeur est accessible via SSH depuis l’internet, pour le rendre accessible uniquement depuis votre réseau local:


uci add firewall rule
uci set firewall.@rule[-1]._name=SSH
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].target=REJECT
uci set firewall.@rule[-1].proto=tcp
uci set firewall.@rule[-1].dest_port=22
uci commit firewall
/etc/init.d/firewall restart





Finissons cet article avec la gestion de la qualité de service (QoS).

Ceci permet de gérer la priorité de tel ou tel paquet en fonction du protocole, de l’adresse de destination, du port, …

Pour vous donner un exemple, cela permet de pouvoir surfer sereinement tout en récupérant la dernière iso debian via FTP.

Commençons par installer les paquets nécessaires:

opkg update
opkg install qos-scripts
opkg install luci-app-qos



Vous l’aurez deviné, le paquet luci-app-qos permet de gérer tout ca via l’interface graphique.

Il m’a cependant été nécessaire de me connecter via SSH pour activer la gestion de service:


/etc/init.d/qos start
/etc/init.d/qos enable


La dernière commande permet au script d’être pris en charge a chaque redémarrage.


Il ne vous reste plus qu’a établir les priorités en fonction de vos besoins.
Vous pourrez vérifier la prise en compte de vos réglages en vous connectant via SSH et en tapant:

iptables -L -v -t mangle | grep MARK



Ce qui devrait vous renvoyer quelque chose semblable à ceci:


90 4780 MARK tcp -- any any anywhere anywhere MARK match 0x0 tcp multiport ports 25,80,443,8000 MARK set 0x1
0 0 MARK udp -- any any anywhere anywhere MARK match 0x0 udp multiport ports 25,80,443,8000 MARK set 0x1
0 0 MARK tcp -- any any anywhere anywhere MARK match 0x0 tcp multiport ports 20,21 MARK set 0x3
0 0 MARK udp -- any any anywhere anywhere MARK match 0x0 udp multiport ports 20,21 MARK set 0x3



0x1 correspond à la priorité la plus élevée et ainsi de suite …



Categories: Informatique Tags: , , , ,
  1. ThibG
    09/03/2009 à 21:08 | #1

    Bonsoir,
    je viens d’installer openwrt sur un WRT54GL en suivant la même démarche que vous, et ça fonctionne à peu près bien.
    Cependant, le débit wifi est très variable, et un petit iwconfig wl0 me montre en effet un nombre impressionant de « Tx excessive retries » et un Bit Rate qui, selon les moments, a une valeur variable, qui peut atteindre 5.5Mb/s voire moins…
    Une idée ?

  2. 11/03/2009 à 18:35 | #2

    Bonjour,
    Je n’utilise que très rarement le wifi (d’ou l’utilisation du bouton « ses » pour activer/desactiver) depuis que je suis équipé en CPL.
    Cependant je viens de faire un test et iwconfig wl0 m’affiche un « Bit Rate » de 54 Mb/s et en effet quelques « Tx excessive retries » (8 pour un peu plus de 10min d’utilisation).

    N’étant pas un grand spécialiste je ne sais pas d’où cela peut provenir, je ne peux que vous conseiller de faire un tour sur le forum ou l’irc d’OpenWRT où quelqu’un pourra surement vous aider à ce sujet.

    Désolé de n’avoir pu vous venir en aide.

  1. Pas encore de trackbacks