Openwrt

user_icon admin | icon2 Net | icon4 26/7/2007 13h49| Type doc: article| Type File: txt| icon3 No Comment

Openwrt sur Asus WL-500G Premium


1. Qu'est que c'est ?

Openwrt est une distribution GNU/Linux utilisable sur de nombreux routeurs. La liste des routeurs supportés est consultable ici .

Ce firmware permet un paramétrage fin de toutes les fonctionnalités réseaux intégrées dans Linux. (Firewall, nattage, Qos, ...). Cela peut se faire en ligne de commande ou via une interface Web.

2. Installation sur un routeur Asus WL-500G Premium

2.1. Chargement de l'image openwrt

mkdir ~/openwrt && cd  ~/openwrt

wget http://downloads.openwrt.org/whiterussian/newest/default/openwrt-brcm-2.4-squashfs.trx

2.2. Flashage de l'image

source : http://wiki.openwrt.org/OpenWrtDocs/Hardware/Asus/WL500GP

Le flashage sera fera en tftp, il nous faut donc disposer d'un client tftp.

apt-get install tftp

Pour flasher ce routeur, celui-ci doit être en mode "Diag", pour cela:

  • Débrancher le cable d'alimentation

  • Enfoncer le bouton noir « restore » (et non « ez-setup » )

  • Maintenir le bouton enfoncé et reconnecter le cable d'alimentation

=> Clignotement de la LED à l'avant du routeur : OK nous sommes en pode DIAG

L'étape suivante est donc de flasher le bestiau.

$ tftp
connect 192.168.1.1
mode octet

trace
timeout 1
put openwrt-brcm-2.4-squashfs.trx

Attention

!!! Attendre au moins 6 minutes (voir 10) avant de redémarrer le routeur !!!

Et pour finir débrancher/rebrancher le cable d'alimentation.

On peut accéder en telnet à l'asus:

telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
 === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
 ------------------------------------------


BusyBox v1.00 (2007.01.30-11:42+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 WHITE RUSSIAN (0.9) -------------------------------
  * 2 oz Vodka   Mix the Vodka and Kahlua together
  * 1 oz Kahlua  over ice, then float the cream or
  * 1/2oz cream  milk on the top.
 ---------------------------------------------------

          

Comme indiqué dans le prompt on fixe un mot de passe avec la commande passwd et reconnexion en mode ssh. Le message n'apparait plus.

Etrangement le firmware ne 'voit' que 16Mo de mémoire alors que le WL500G Premium en dispose de 32Mo. Qu'a cela ne tienne :

nvram set sdram_init=0x0009
nvram set sdram_ncdl=0

nvram commit
reboot
telnet 192.168.1.1
free
              total         used         free       shared      buffers
  Mem:        30516         8540        21976            0          844
 Swap:            0            0            0
Total:        30516         8540        21976
          

Yes ;)

3. Configuration

Première chose à faire se connecter à l'ADSL pour avoir accès aux diverses resssources disponibles sur l'Internet.

3.1. Configuration de l'ADSL en PPPOE

Avant toute chose on doit vérifier le nom que portent les différentes interfaces réseaux. On le trouvera ICI.

Pour notre routeur il s'agit de :

  • LAN : vlan0

  • WAN : vlan1

  • Wifi : eth2

Comme indiqué ICI il nous suffit de flasher quelques variables NVRAM pour disposer de la connexion.

nvram set wan_ifname=ppp0

nvram set wan_proto=pppoe
nvram set ppp_idletime=10
nvram set ppp_mtu=1492 # The MTU of your ISP

nvram set ppp_passwd=<your_isp_password>
nvram set ppp_redialperiod=15
nvram set ppp_username=<your_isp_login>

nvram set pppoe_ifname=<your_WAN_interface_name>
nvram set wan_device=<your_WAN_interface_name>
nvram commit

avec pppoe_ifname et wan_device égales a vlan1.

Nota : Si le fournisseur d'accès Internet accèpte uniquement l'authentification CHAP alors renseigner le fichier /etc/ppp/chap-secrets comme suit:

#USERNAME  PROVIDER  PASSWORD  IPADDRESS
LOGIN     ""      PASS *
          

Et enfin ...

ifup wan

ce qui nous donne ...

ifconfig ppp0
ppp0      Link encap:Point-Point Protocol
          inet addr:xxx.xxx.xxx.xxx  P-t-P:yyy.yyy.yyy.yyy  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:125 errors:0 dropped:0 overruns:0 frame:0
          TX packets:95 errors:0 dropped:5 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:153070 (149.4 KiB)  TX bytes:4621 (4.5 KiB)

          

3.2. Installation de packages

Tout ce qui concerne l'installation de package se fait avec la commande ipkg ( du même type qu'apt-get pour debian)

La mise à jour de la liste des packages disponibles se fait par un ipkg update.

La liste des packages disponible : ipkg list

Nota : La configuration des dépots de packages est paramétrable dans /etc/ipkg.conf

3.3. Le serveur http

Openwrt est livré avec une interface web qui permet de gérer divers aspects d'une configuration.

http://192.168.1.1 (admin/admin)

Dans bien des cas celle-ci est suffisante ... mais elle ne gère pas, par exemple, la QOS ...

On va donc installé X-WRT qui va bien au delà.

L'installation se fait très simplement avec un navigateur Web. On se connecte au site http://x-wrt.org/#installation

Et on utilise la Method #2 en entrant l'adresse IP du routeur dans le champ Your router's IP address:

En cliquant sur ' Lasted Version ' ou 'Stable Version' l'installation se fait automatiquement :)

Après un reboot automatique du routeur on découvre ça :

Et là c'est le bonheur :)

Firewall, Qos, VPN, dyndns, wifi (wep,wpa/psk/radius) ...

Une mise à jour de l'interface se fait soit à travers l'interface ou encore avec la commande : ipkg install webif-lang-fr

3.4. Wifi en WPA

J'ai pu tester le WEP et le WPA mais malheureusement pas le WPA2 pour lequel ma carte n'est pas compatible :(

Le WEP reste classique, je vais donc juste m'étendre sur la connexion en WPA d'un Zaurus muni d'une carte Planex CF11X.

Pour le paramétrage coté Openwrt, pas de soucis. Voilà ce que ça donne

Mais pour la configuration de la planex ça a été une autre paire de manches... oui je m'égare mais je veux en laisser une trace ;)

Tout dabord l'installation des pakages suivants est nécessaire ( wpa-supplicant, prism3-firmware, network-suspend-scripts )

Pour la configuration de wpa-supplicant, il faut editer le fichier /etc/wpa-supplicant.conf :

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1

network={
ssid="MonESSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="Ma clé paratagée"
priority=0
}
          

Et enfin modifier le fichier /etc/network/interfaces comme suit:

# Wireless interfaces
iface wlan0 inet dhcp
        needs_reset yes
        needs_firmware hostap_fw_load
        pre-up wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
        pre-down killall wpa_supplicant
          

Voili, voilà .. le WPA fonctionne nickel même après un suspend du Zaurus :)

3.5. La QOS

La qualité de service va me servir à priorisé des flux en fonction de certains critères.

Par exemple le ssh doit à tout prix passer même lors de gros chargements en parallèle ;)


Add a comment

Validator_logo
Catapulse v0.06
( 0.110552 s)