Instalar OpenWRT
Introducción
Estas en la casa de un amigo o familiar y ves que tiene internet y le pides el password de su wifi. Tu amigo o familiar te la info muy cordialmente y tu ya puedes chatear, ver videos, leer, jugar, etc. :D. Alguna vez te preguntaste como funciona todo esto? Pues bien algunas de estas cosas suceden mientras te conectas y después de haberte conectado.
- Eventos físicos
- Transmisión de electrones
- Dentro de los aparatos el uso de varios protocolos
- https://tools.ietf.org/html/rfc5416 (802.11)
- https://tools.ietf.org/html/rfc4764 (WPA/WPA2)
- https://tools.ietf.org/html/rfc793 (TCP)
- https://tools.ietf.org/html/rfc4271 (Enrutamiento)
... y bueno pasan muchísimas cosas. No se intimiden por los links de arriba, con paciencia, buen humor y muchas ganas de aprender con el tiempo entenderemos como funcionan —si no todos— los más importantes. Pero esta guía se limita a explicar un poco de otro poco de ese todo de cosas que suceden al conectarse y navegar a través de internet; me refiero al apartito que tiene un par de antenas que seguro esta en un escritorio o en la pared, que es el router inalámbrico que es el encargado de repartir señal para que celulares, computadoras, smart TVs puedan conectarse a este.
Seguramente esta imagen te es familiar, pues bien eso es un router inalámbrico (en este caso de marca Tplink)
Nuestro amigo el router
Este aparatito como se mencionó, permite que nuestros dispositivos inalámbricamente se conecten a internet (pero pueden hacer más que eso). Un router inalámbrico además de "repartir" internet hace algo importante que es crear una red local. Imaginense que todos estamos chateando por internet conectados al Wifi de un amigo y de la nada booom! ya no hay internet, si bien los dispositivos siguen conectados inalámbricamente al router estos ya no pueden conectarse a internet. Lo bello de esto es que aunque no parezca, estos celulares que estan conectados al router aún pueden conectarse entre sí ya que se encuentran en un red local (la red de la casa de un amigo o de un familiar).
Estos aparatitos permiten al dueño configurarlo a gusto propio (más adelante veremos que dependiendo del firmware ese "a gusto" esta o no limitado). Una configuración común sería cambiar la contraseña del wifi para que el vecino no se lo robe, o cambiar el nombre de la red o tal vez algo más avanzado la configuración de IPs, filtrado de MAC y muchas otras cosas.
En el caso específico de Bolivia la marca de routers más vendida es TPLink (como los de la foto) que hay desde 150Bs hasta unos 400Bs con diferentes características unos de otros.
Si tuvieron la oportunidad de tener uno de estos seguramente entraron a su panel de administración web que es tan simple con entrar desde su navegador web comunmente a 192.168.1.1 y les pedirá un usuario y contraseña que por defecto están en la caja del router.
Ya adentro se verá una pantallita verde con un menú con diferentes opciones de configuración: passwords, nombre de la red, manejo de ips, filtrado mac y más opciones.
Pero tal vez aquí les viene una duda. Una página web en un aparato tan pequeño!!!???, pues bien nuestro amigo el router también es una computadora, un poco diferente a las que estamos acostumbrados pero sí, es una computadora.
Mencionamos que este router es una computadora y al ser una computadora tiene un microprocesador, memoria RAM y alamcenamiento. Como estos aparatos son tan pequeños sus recursos también lo son. Por lo general la memoria RAM de estos aparatos no excede los 32MB de RAM y el disco duro no pasa los 8MB.
Para que nuestro buen amigo router pueda ejecutar programas Ej: el panel de administración web, necesita tener un sistema operativo adentro; adivinen que sistema operativo tiene dentro? pues una adaptación del kernel Linux, sip ese mismo kernel que algunos tienen instalados en sus computadoras el del pingüinito :D que tiene el poder de ejecutarse en aparatos con tan pocos recursos sin problemas. Desde ahora a este Sistema Operativo que se encuentra instalado en el router inalámbrico lo llamaremos Firmware.
Pues bien el firmware que viene por defecto en los routers TPLink nos da el panel verde de administración con una serie de opciones que realmente son limitadas en comparación de las cosas que se pueden hacer con otros firmwares. Pero una de las mejores opciones de configuración es que tenemos la opción de actualizar el firmware por el mismo que ofrece TPLink o por uno mejor (OpenWRT).
Antes de pasar a la instalación de OpenWRT demos una breve descripción de lo que es OpenWRT
OpenWRT
Cuando uno compra una laptop lo general esta viene con un sistema operativo instalado por defecto, lo mismo (no de la misma forma) sucede en el mundo del routers inalámbricos. Como se mencionó anteriormente un router inalámbrico viene con un firmware instalado por defecto, en el caso de los TPLink el firmware que permitía ejecutar el panel verde de administración.
Pero al igual que en las laptos muchas personas siempre desean actualizar este sistema operativo o simplemente cambiarlo por otras alternativas mejores ;), nosotros podemos cambiar el firmware de nuestro router por una alternativa mucho mejor OpenWRT :D.
OpenWRT es un firmware libre (software libre) para routers inalámbricos basado en el kernel de Linux y con varias herramientas del proyecto GNU. De la misma forma que el firmware de TPLink, estos vienen con un panel de administración web pero para usuarios un poco más curiosos o con un poquitin más de experiencia tenemos la opción de administrar el router por línea de comandos -- sí esa misma línea de comandos que alguna vez vieron utilizar a algún linuxero, si nunca la utilizaron aprenderemos como utilizarla en próximas guías.
Muy aparte de las diferentes formas de administrar el router, uno tiene la habilidad de configurar elementos que con el firmware que viene instalado por defecto no pueden realizarse; desde crear una o varias redes inalámbricas, segmentar los puertos para el cable de red, instalar más aplicaciones (esto nos servirá mucho para las redes mesh en guías futuras), controlar los foquitos o leds del router o incluso poder crear programas para el mismo router.
De la misma forma que una distribución GNU/Linux, OpenWRT viene en diferentes versiones con diferentes nombres. Lo interesante de esto es que OpenWRT cuando saca una versión nueva le pone el nombre de una bebida. Acá una lista de las últimas tres versiones de OpenWRT:
- OpenWRT 15.05 (Chaos Calmer)
- OpenWRT 14.07 (Barrier Breaker)
- OpenWRT 12.09 (Attitude Adjustment)
Instalarlo
Descargar el firmware openwrt para el router
Luego de saber lo que es openwrt, estarás con ganas de instalarlo. Primero hay que revisar si tu router es soportado por openwrt, esta es la lista oficial:
https://wiki.openwrt.org/toh/start
Allí deberías buscar el modelo de tu router y seguir los enlaces para descargar el firmware openwrt correspondiente, escoge los que terminan en -factory.bin por que vienen con todo lo necesario empaquetado en un archivo que se grabará en el router.
Adicionalmente si tu router no es soportado oficialmente puede que aún sea posible instalarlo revisando si existe algún firmware genérico que funcione para tu enrutador. Los routers tiene un chip principal o CPU diseñado bajo una arquitectura de hardware, un ejemplo de arquitectura de hardware es x86 de intel pero en realidad hay un montón por ejemplo muchos chips usados en routers son de la arquitectura MIPS, revisa esta página de wikipedia y verás la variedad de arquitecturas de CPUs que existen.
Entonces tendrías que verficar el chip principal o CPU de tu router y ver si su arquitectura está entre las imágenes genéricas de OPENWRT, si está puedes arriesgarte, descargar el firmware genérico e instalarlo en tu router pero es posible que muchas cosas no funcionen como el wifi , puertos de red, etc.
Grabar el firmware en el router
Con la imagen de firmware adecuada, por ejemplo para el router TL-WR841ND usaremos esta imagen. Luego hacemos esto:
- Entramos al panel de administración TP-LINK del router. Para esto nos conectamos al router ya sea por wifi o cable de red y con nuestro navegador web entramos a la dirección IP del router (generalmente 192.168.1.1), introducimos la contraseña y seguimos.
- Seleccionamos una opción que diga "System", "Upgrade Firmware", "Update firmware" o similar.
- En lugar de usar una imagen de firmware TP-LINK usaremos una de openwrt que descargamos, usando el navegador web.
- Le damos "siguiente" y a continuación se grabará el firmware openwrt en el router. Este proceso puede tardar cierto tiempo y es mejor esperar por que si el proceso es interrumpido, hay muchas posibilidades de que el aparato quede "brickeado" (inservible) y tocará buscar formas para de-brickearlo.
- El aparato se reiniciará automáticamente y cuando se vuelva a encender (digamos al cabo de 5 mins) iniciará con OPENWRT si todo ha ido bien.
Podemos comprobar que todo fue bien, conectándonos al router mediante un cable de red, escoger asignación de IP dhcp o automática y desde un navegador web entrar colocar la IP 192.168.1.1 (dir IP por defecto en openwrt). La interfaz web ha cambiado y ahora se ve mejor :), tenemos nuestro router funcionando con software libre.
Otras formas de instalar
No todos los aparatos se instalan de la forma descrita arriba, existen otros métodos como conectándose al chip principal de router vía Puerto serial, JTAG u otros y usando un programa que mande instrucciones necesarias para escribir grabar el firmware openwrt (u otro firmware libre como DD-WRT o librecmc) en la memoria del router.
Estos métodos se los puede revisar en la wiki de openwrt: