En aquest post intentaré explicar el més correcte possible com he flashejat els (5) Linksys WRT54G v.2.2 amb el OpenWRT-RC3 "White Russian" i a més, separant els diferents ports del switch en VLANs. Bé, comencem pel principi:

  1. Preparació Posem el Linksys a zero amb els valors per defecte. Li donem corrent al Linksys amb el reset apretat, mantenim així uns 10s.

    També hem de tenir activat el boot_wait. Ho podem fer des de la plana d'Administration de la web.

  2. Pujada del firmware Utilitzant un programa client de tftp, pujarem el firmware al Linksys. Les opcions de connexió són:

    • mode octet
    • trace
    • timeout 1 Quan haguem configurat la connexió, amb el Linksys apagat, preparem la comanda:

    put openwrt-wrt54g-squashfs.bin Abans d'executar la comanda, tornem a donar corrent al Linksys, just llavors, executem el put. Aixó és necessari fer-ho així perquè el Linksys esperarà només 3 segons des de que té alimentació fins que carregui la seva configuració. Si en aquest temps li arriba un firmware per tftp l'agafará i carregarà.

  3. Reiniciar amb el nou firmware Un cop el firmware s'ha pujat i el Linksys s'ha posat en marxa (cap led fa pampallugues i el de DMZ està apagat, tornarem a reestablir els paràmetres per defecte com hem fet al principi. Aixó farà que els valors de nvram siguin els correctes pel firmware actual. Si no ho fessim així, encara conservaríem els valors de la nvram del firmware anterior.

  4. Modificació del firewall Donada la nostra configuració de xarxa, necessitem que es pugui fer forward dels paquets IP entre les diferents interfícies (veurem més endavant com separar-les). Per aconseguir aixó, editarem el fitxer de firewall (iptables) que porta el nostre Linksys.

    Aixó seria trivial si no fos perquè l'script de iptables es troba a una partició read-only. Si anem a /etc/init.d trobarem un link cap a /rom/etc/init.d del fitxer que volem editar. El que farem, serà esborrar l'enllaç i copiar el fitxer original a /etc/init.d i editar-lo.

  5. Connectar a internet el Linksys Ara hem de connectar el Linksys cap a Internet per tal de baixar-nos un paquet que ens permetrà separar fàcilment les interfícies.

    Per defecte tenim que l'aparell porta la IP 192.168.1.1, si tenim la nostra xarxa local amb el mateix adreçament, ho tenim fàcil, afegim la ruta al nostre gateway i modifiquem el fitxer resolv.conf. Per fer-ho, haurem de procedir com el cas anterior, esborrant el symlink i creant de nou el fitxer (és una sola línea ;).

  6. Instal.lant paquets addicionals El firmware OpenWRT ens proporciona ipkg, una eina que ens permetrà manegar paquets, descarregar-los d'internet, instal.larlos i esborrar-los si és el cas.

    Per posar-lo en funcionament farem:

    # ipkg update # ipkg install <nom del paquet> En el nostre cas, instal.larem robocfg, una utilitat amb la que, a partir d'un script que hi ha a la wiki de OpenWRT, separarem les diferents interfícies del nostre AP.

  7. Separant les interfícies de l'AP Per separar els ports del switch que porta el Linksys i eliminar el bridge que interconnecta la LAN amb la xarxa Wireless, farem servir un petit script que hi ha publicat a la Wiki de OpenWRT. També farem que s'executi a l'iniciar l'aparell, perquè necessita deshabilitar el switch i nosaltres hi estem connectats ara mateix ;)

    Per tal de fer-ho més elegant, farem un script d'inici que cridi al nostre script. Tots dos estan pujats aquí(S41vlans) i aquí(crea-vlans.sh)

    Copieu tots dos fitxers a /etc/init.d i els hi doneu permisos d'execució.

    L'últim pas que falta abans de reiniciar el Linksys i tenir-ho disponible és eliminar el bridge que uneix la LAN i la Wireless. El que farem serà dir-li al Linksys que la interfície LAN és la VLAN0 (es crea a l'script anterior) i no el bridge br0. Fent aixó, el bridge ja no es crearà a l'iniciar el router. Ho fem així:

    # nvram set lan_ifname=vlan0 # nvram commit

  8. Provant... Ara, reiniciem i provem que tot estigui correcte... sort! ;)

Tagged as ... No tags found!

If you liked this post, you can donate using Bitcoin 12jVrWkk5S6x5hEizThZwgTx59KxaDdK4C