divendres, d’octubre 02, 2009

WAP54G en mode client

Per connectar la meva xarxa amb cable a una xarxa wifi de manera permanent m'han deixat un Linksys WAP54G (versió 2). L'aparell té 2 interfícies, la wifi i un port ethernet. Com que el Firmware per defecte no permet posar el punt d'accés a mode client, i altres invents no són posibles (p.e. WDS) hi he instal·lat una versió del firmware modificada per SveaSoft, el Freya v2.06 (trobat a http://www5.musatcha.com/musatcha/computers/kismet_on_the_linksys_wap54g.htm) i que es pot carregar al dispositiu mitjançant l'opció “upgrade” disponible a la mateixa interfície d'administració que ve de fàbrica amb el dispositiu.

Amb el nou firmware instal·lat i des de l'interfície web d'administració del router es pot acitvar el telnet, de manera que s'hi pugAixò permet fer la configuració del dispositiu sense haver de passar per la limitada interfície web.

El problema és que no me n'he ensortit amb el Freya i he hagut d'instal·lar una versió modificada del OpenWRT, el Freifunk. L'aventura, resumida ha anat així...

El passos fins on l'he aconseguit fer anar amb el Freya, són:

1.- wp ap 0

Canviem el mode de l'acces point per fer de client.

2.- wl scan

Que faci una llista de les xarxes que “veu”

3.- wl scanresults

Per que ens mostri el resultat de l'scan anterior

4.- wl join XarxaWifiOnVolemConectarnos

Que es connecti a la xarxa “XarxaWifiOnVolemConectarnos”. Sense cap més paràmetre ja que és tracta d'una xarxa sense seguretat WEP ni WPA ni res.

5.- wl status

Mostra l'estat de la wifi, per assegurar-nos que efectivament s'ha associat amb la xarxa que volem

Fins aquí bé. El problema l'he tingut al moment de fer funcionar l'enrutament ip...

D'una banda les targetes venen en un “bridge” o pont (el br0) entre elles que resultava amb la impossibilitat de configurar l'eth1 (la wifi) independentment.

6.- brctl delif br0 eth1

Treiem l'eth1 del pont de tarjetes.

7.- ifconfig eth1 X.X.X.X netmask Y.Y.Y.Y

Configurem l'adaptador inalàmbric amb l'IP i màscara que toqui.

Arribat aquest punt, em semblava que la cosa estava feta ja que amb un ping es veien hosts de la xarxa wifi.

El problema és que no he trobat cap manera de fer NAT de sortida pels meus hosts... la solució amb iptables ( algo com iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth1 -j MASQUERADE) per emmascarar els hosts de la meva xarxa no es pot usar ja que no hi ha iptables.

Després de buscar debades per Internet, he decidit canviar d'estratègia... buscar un firmware diferent.

La versió 2 del WAP54G és un dispositiu força limitat i per això finalment m'he decantat per una versió específica pel WAP54G del Freifunk (en Català!), que és una versió especial reduïda del OpenWrt: http://wiki.freifunk.net/Freifunk_Firmware_(English)#WAP54G

Per instal·lar-lo des d'on ho havia deixat amb el Freya, m'han calgut 2 coses:

8.- nvram set boot_wait=on;nvram commit

Per activar que el dispositiu esperi uns segons després de cada reiniciada, temps durant el qual es pot transferir mitjançant el protocol “tftp” un nou firmware.

I, finalment, transferir-lo tal i com expliquen al web de Freifunk.

La configuració amb el nou firmware l'he feta mitjançant la interfície web i el manual del lloc web i m'ha funcionat a la primera :-)

Finalment, tot i que no té gaire relació amb l'entrada (una mica sí), deixo un enllaç a molta documentació super completa sobre la tecnologies de les xarxes inalàmbriques que he trobat mentre resolia el que explico en aquest post: http://www.wilac.net/index_pdf.html