Este tutorial es una guía paso a paso para instalar en nuestro enrutador casero un sistema operativo libre y específico para dispositivos de comunicaciones (a.k.a. routers) denominado OpenWRT, permitiéndonos con ello realizar tareas de red mucho más avanzadas, como por ejemplo arrancar una VPN dentro del propio dispositivo.
Antes de continuar vamos a referenciar a la documentación de algunos conceptos que debemos tener claros para llevar este trabajo a buen puerto:
La dificultad para realizar este tutorial podemos cuantificarla en Media-Baja si tienes ciertos conocimientos previos de redes informáticas y de Linux, o de Media-Alta si no los tienes. Por favor, utiliza con cautela esta información y hazte responsable de los beneficios o perjuicios que este tutorial pueda llevar a tu router. Paz y amor. :)
Definamos los elementos hardware y software que necesitaremos.
Nuestro router deberá estar soportado por el proyecto OpenWRT. En este tutorial vamos a utilizar un cacharro 100% soportado por OpenWRT como es el TP-Link WR842ND, pero por supuesto nos sirve cualquier otro con características similares.
Es de perogrullo decirlo, pero es que realmente hace falta, así que a la lista.
Veamos una galería de imágenes con los componentes utilizados para llevar a cabo la misión:
La primera parte de nuestro tutorial consistirá en descargar el firmware OpenWRT adecuado para nuestro router, acceder a la administración web del firmware original del router, y darle el cambiazo por nuestro flamante OpenWRT con el que podremos realizar operaciones de comunicación mucho más avanzadas que las que nos proporcionaba el firmware original.
Debido a que existen diferentes arquitecturas y chipsets dentro de toda la gama de routers soportados por OpenWRT, deberemos buscar la imagen del firmware adecuada entre todas las disponibles. En nuestro caso tenemos un router TP-Link WR842ND, así que lo primero es mirar si está soportado, cosa que efectivamente confirmamos y encontramos aquí.
¿Y dónde está el enlace para descarga del firmware? Que no cunda el pánico todavía, la web de OpenWRT es así, enigmática como ella sola, muchas veces las páginas de nuestro modelo de router son documentos de wiki por completar. De esa página podemos averiguar que nuestro router está soportado en la rama trunk de OpenWRT (no tiene una versión 100% estable todavía) y que el hardware está basado en el chipset Atheros AR7421, ya lo tenemos todo para descargar nuestro firmware.
Sabemos que buscamos una imagen adecuada para el modelo de router wr842n, el tipo de imagen que queremos es Factory (reemplazo del firware del fabricante), y el sistema de archivos que queremos es squashfs (mucho más versátil que jffs2).
Finalmente accedemos a la página de descarga de imágenes de OpenWRT. Si no queremos complicarnos la vida NO descargaremos una imagen de la rama de desarrollo actual trunk, ya que éstas no llevan instalado LuCI de serie. Por tanto, mejor descargarnos la imagen correspondiente a nuestro router de la versión casi estabilizada actual, que es la Attitude Adjustment.
Como hemos comentado antes, para continuar debemos tener ciertos conocimientos sobre como funcionan las redes caseras. Os pongo los pasos siguientes sin extenderme mucho, a modo telegrama:
Veamos un resumen en imágenes de este proceso:
Ya tenemos el router listo para utilizar con OpenWRT. En su configuración por defecto funciona igual que cualquier otro router casero, y las características avanzadas las podremos ir activando según necesidad. Este tutorial termina aquí, enumerando las características que nos encontraremos en nuestro router una vez instalado OpenWRT:
Veamos un resumen en imágenes de este proceso:
Finalmente comentar que tal vez hayas instalado la rama trunk de OpenWRT y te encuentres con que no responde la página web donde configurar el router. Es normal, las imágenes trunk no incorporan LuCI de serie, así que no hay más remedio que instarlo nosotros mismos. En este caso, deberemos acceder vía telnet al router, e instalar a mano LuCI para poder administrarlo de una manera más cómoda. Pongo un registro de cómo realizar esta tarea desde una línea de comandos. Supondremos que estamos conectados al router vía cable ethernet, y que tenemos conectado el router a Internet vía su puerto WAN.
[dave@inuik ~]$ 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.19.4 (2012-11-18 02:19:39 UTC) 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 ----------------------------------------------------- ATTITUDE ADJUSTMENT (12.09-rc1, r34185) ----------------------------------------------------- * 1/4 oz Vodka Pour all ingredients into mixing * 1/4 oz Gin tin with ice, strain into glass. * 1/4 oz Amaretto * 1/4 oz Triple sec * 1/4 oz Peach schnapps * 1/4 oz Sour mix * 1 splash Cranberry juice ----------------------------------------------------- root@OpenWrt:/# opkg update Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz. Updated list of available packages in /var/opkg-lists/barrier_breaker. root@OpenWrt:/# opkg install luci Installing luci (svn-r9799-1) to root... ... Configuring luci. root@OpenWrt:/# /etc/init.d/uhttpd enable root@OpenWrt:/# /etc/init.d/uhttpd start
Básicamente, lo que hemos hecho con estos comandos es actualizar la lista de paquetes (opkg update), instalar LuCI y todas sus dependencias (opkg install luci), habilitar el servidor web en el próximo arranque del router (/etc/init.d/uhttpd enable) y arrancar una instancia del servidor web ya mismo (/etc/init.d/uhttpd start).
Este es el segundo de una serie de tutoriales dedicados a guifi.net y OpenWRT, dentro de una temática relacionada con las redes abiertas. Puedes acceder a las fuentes de este tutorial aquí:
Si quieres consultar el anterior tutorial, lo puedes encontrar aquí: