diumenge, 26 d’octubre del 2008

WRT54G v5 amb DD-WRT en mode repetidor.

Ja feia un dies que no escrivia res... encare no tinc el servidor acabat, estic construint una caixa amb el material que vaig trobat i ara encare no se com "aguantar" els discs durs i la font d'alimentació.

Per no perdre les meves fabuloses habilitats literàries convé que escrigui un poc. Fa poc vaig muntar un ordinador a la meva germana que comparteix amb el meu germà. El problema es que l'ordinador està posat just a la part oposada de la casa d'on tinc el router i no arriba la senyal wifi. Vaig considerar la opció de tirar un cable però com és d'esperar és un merder, així que he decidit investigar com transformar el WRT54G en un repetidor de la senyal del D-Link 624T.

Amb els firmwares de casa no crec que es pugui fer res així que haurem de pegar mà de la fabulosa comunitat del programari lliure. El firmawre elegit és el DD-WRT per la seva senzillesa d'us, he estat temptat de posar el OpenWrt però no hi vull ni puc perdre gaire temps així que anirem a "lo fàcil", interfícies de configuració Web amb perfils ja predefinits.

Hem de tenir amb compte que el WRT54G ós la versió 5 que per qui no ho sàpiga va ser el primer de la família en no portar Linux degut a la retallada de hardware per abaratir costos (tant sols té 2 MB de memòria RAM). Això implica que hem de instal·lar la versió Micro del DD-WRT i per tant no tendrem tantes funcionalitats, tot i així en tenim moltíssimes més que amb el firmware oficial.

Abans de començar dir que tot el procés esta fet desde GNU/Linux (una Debian Lenny concretament) connectat amb un cable ethernet directament al router. No es recomeneable fer ho per wifi ni en un moment que hi pugui haver talls elèctrics ja que la interrupció de segons quina operació pot ser fatal per el router.

Començam baixant el fitxers vxworks_prep_v03 i vx_works_killer_v06 per a el·liminiar el sistema operatiu original (VxWorks) i preperar-lo per rebre el Linux. També hem de baixar la imatge del nou sistema DD-WRT, es la 24 SP1. Crec que la 23 no portava el perfil per defecte per fer de repetidor i l'hauríem de configurar a mà, cosa que no desitjam.

Un cop baixats els descomprimim:

$ unzip vxworks_prep_v03.zip
$ unzip vxworks_killer_g_v06.zip

Convé que instal·lem el paquet tftp ja que l'haurem de menester per enviar el firmware al router:

# aptitude install tftp

Es recomanable que ens assignem una ip estàtica ja que durant el procés perdrem la que ens dona el router per DHCP. Si emprau flowerpower distros com un servidor pensau a matar el Network-Manager abans de assignar-vos la IP per evitar que vos la canvii.

# kill -9 `ps aux | grep Net | awk '{ printf "%s ", $0}'`

I ens assignam una IP a poder ser del rang que sol emprar el router:

# ifconfig eth0 192.168.1.2 up

Comprovam que va bé amb un ping:

$ ping 192.168.1.1

I hauria de sortir alguna cosa com:

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=2.99 ms

Ara toca anar a la web de configuració del router, obrim el navegador i posam 192.168.1.1 (per defecte). Si no teniu posada contrasenya la de casa es "admin"

Ara anau a la pestanya "Administration" i després "Firmware Upgrade" aquí heu de pujar el fitxer prep.bin (ja descomprimit) i pitjau aplicar. NO reinicieu el router durant el procés, esperau un minut o dos a que acabi i es torni la finestra del navegador de color blanc, llavors treis el connector de l'alimentació i el tornau a connectar.

Si tornau a accedir al a mateixa IP veureu una pantalla molt simple que vos deixa pujar un altre fitxer, ara toca posar el killer. Heu d'esperar que surti una finestra que posa Succes. Hi ha navegadors que a vegades no funcionen, anau provant, Firefox, Konqueror, Epiphany... A mi amb el Iceweasel 3.0.3-2 m'ha funcionat.

Un cop acabat (hagi sortit el Success) tornau a reiniciar el router tallant l'alimentació. El LED de power del router hauria d'estar pipellejant, es l'hora de servir el nou frimware per tftp. Obrim una consola, ens situan a la carpeta on tinguem el firmware i entrem al client de tftp.

$ tftp 192.168.1.1 69
tftp> binary
tftp> put dd-wrt.v24_micro_generic.bin

I ens dirà:
Sent 1757184 bytes in 2.5 seconds

Ara heu d'esperar que el router es reinicii tot solet, no tarda gaire, es molt important deixar que faci el proces tot sol, en cas reiniciar-lo abans d'hora tendreu un tepija papers blau i negre moníssim.

En haver esperat uns segons podeu provar d'accedir al navegador a 192.168.1.1 i trobareu la interfície del DD-WRT que us demana usuari i contrasenya...

Ja teniu el vostre flamant WRT54Gv5 amb un DD-WRT!

Ara toca fer que el Router actui com a repetidor o "Repeater Bridge", això vol dir que es conectarà a un altre router que serveix les direccions IP i repetirà la senyal wifi (amb un altre nom) a la vegada que permet que es connectin clients per els ports de xarxa cablejada. Aquest diagrama es bastant explicatiu:
A la wiki de DD-WRT estan molt ben explicades les passes a seguir per configurar el mode repetidor de manera fàcil i ràpida. Vos les pos tal qual (només he canviat la ip per defecte del router posant la 192.168.1.254, m'agrada tenir la .2 i succsesives per les meves màquines amb ip fixa):

  1. Open the Wireless -> Basic Settings tab
    • Wireless Mode : Repeater Bridge
    • Wireless Network Mode : Match Primary Router
    • Wireless Network Name(SSID) : Match Primary Router
    • Wireless Channel : Match Primary Router
    • Wireless SSID Broadcast : Enable
    • Network Configuration : Bridged
    • Save Settings
  2. Virtual Interfaces Section
    • Add
    • Wireless Network Name(SSID) : Different from Primary Router
      • [NOTE] - being a bridged setup and all DHCP is being done by the host AP - it is possible to use the same SSID as the Host AP for this Virtual SSID name. This will allow roaming hand-offs between the 2 units. redhawk Confirmed --ChuckMcB 00:34, 31 March 2008 (CEST)
      • [NOTE2] - Some have random disconnects and/or no connection if the SSID's are the same. If one way doesn't work for you...try the other
    • Wireless SSID Broadcast : Enable
    • AP Isolation : Disable
    • Network Configuration : Bridged
    • Save Settings
  3. Open the Setup -> Basic Setup tab
    • Connection Type will be: Disabled
    • Set STP for Disabled (Enabled sometimes can cause connection problems) redhawk
    • IP Address : 192.168.1.254 (Assuming Primary Router IP is 192.168.1.1)
    • Mask : 255.255.255.0
    • Gateway: 192.168.1.1 (again assuming Primary Router IP is 192.168.1.1)
    • Assign WAN Port to Switch : Checked or Unchecked - your choice
    • Save Settings
  4. Open the Security -> Firewall tab
    • Uncheck all boxes
    • Disable SP1 firewall
    • Save Settings
  5. Open the Administration tab
    • APPLY Settings

S'ha de puntualitzar una cosa, el D-Link treia la senyal encriptada amb una WPA2, per tant un cop seguits tots els passos de la wiki de DD-WRT s'ha d'anar a "Wireless", "Security" i a la primera xarxa configurar tots els paràmetres ben igual com estan al router que emet la senyal original. A mí la WPA2 no funcionava així que ho he posat amb una WPA a seques (s'ha de canvar als dos routers). Si es vol encriptar també la senyal repetida basta configurar la segona interficie de xarxa virtual, és recomenable emprar la mateixa encriptació ja que a vegades el router no pot amb dues de diferents i menys la versió v5 del WRT que ja he dit que estava minvat de hardware.

No puc evitar comentar que la interfície m'ha encantat, la quantitat d'opcions i funcionalitats són impressionants, sincerament si fos un tècnic de Cisco-Linksys em cauria la cara de vergonya de la bírria de firmwares que fan, no hi ha punt de comparació. Els de DD-Wrt han fet una gran feina, no tant sols la que no es veu de programació (que ja em constava que estava molt bé) sinó també a nivell de Interfície i configurabilitat.
També estic impressionant de la bona documentació que tenen a la wiki tots els temes ben explicats indexats i amb molt bons diagrames. Crec que es un dels millors exemples d'una comunitat de programari lliure que es pot tocar d'aprop i veure la gran feina que fan (basta comparar el firmware del router amb el de l'original).

Si els hi voleu donar suport podeu considerar fer una donació, jo sense cap dubte n'hi pens fer una, si hagués hagut de comprar un repetidor m'hi hagués deixat un bon dineral.

Referències:
http://www.bitsum.com/openwiking/owbase/ow.asp?WRT54G5_CFE
http://dd-wrt.com/wiki/index.php/Repeater_Bridge

1 comentari:

Zaikar ha dit...

Bona entrada!!.
Sense cap dubte es impressionant el que es pot arribar a fer substituint el firmware de fabrica i posant un DD-WRT!