9 de enero de 2013

OpenWrt: instalación y configuración

OpenWrt es una distribución de GNU/Linux basada en firmware usada para dispositivos empotrados como son los router wifi, ya hablamos de él en un artículo anterior y ahora vamos a configurar uno.

El proceso es similar para cualquier hardware compatible. En este caso lo haremos con un TP-LINK TL-MR3020
: accederemos por web al router y lo actualizamos con la versión del firmware adecuada. Configuraremos el router para tener acceso desde nuestra red y acabaremos instalando un pendrive para aumentar su espacio para datos y nuevos programas.  La configuración se hará con LuCi, aunque no es difícil encontrar la forma de configurar el router por SSH en internet.



Cargar el nuevo firmware


Antes de nada tenemos que descargar el firmware. Buscaremos el modelo en la lista de hardware compatible. En nuestro caso iremos a la web del TL-MR3020, aquí explica qué versión es la que corresponde a nuestro hardware, en el momento de hacer este artículo se encuentra en la  Attitude Adjustment RC1.

Conectamos con el TL-MR3020 mediante un cable Ethernet en la dirección IP 192.168.0.254, puede ser necesario cambiar la configuración del pc para que los dos equipos estén en el mismo rango. Iniciamos sesión en la interfaz Web del router (por defecto: usuario / contraseña: admin / admin) y mediante los menús accedemos a la instalación del firmware, usaremos el archivo openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin que hemos descargado.


Configuración

Una vez reiniciado el router ya estará listo con la nueva versión del firmware. Preparamos el pc para acceder por ethernet, esta vez tiene que estar configurado en rango 192.168.1.xxx, podemos usar por ejemplo la 192.168.1.100, el router estará configurado con la IP fija 192.168.1.1, sin contraseña y la wifi desactivada.


Lo primero que nos pide al entrar es cambiar el password de acceso, esto también activará el acceso por ssh. Si la primera vez no podemos entrar por web, podremos hacerlo por telnet, desde ahí cambiar el password y ya tendríamos el acceso ssh accesible. Podemos darnos una vuelta por sus opciones para familiarizarnos con el y acabar de definir el nombre y la zona horaria.


Conectar el router a nuestra red

Ahora configuraremos el router para esté accesible desde nuestra red. Podemos elegir entre dos opciones, conectar el equipo por Ethernet o por wifi. Es importante que tenga una conexión a Internet si queremos instalar paquetes nuevos.

Generalmente tendrás una configuración DHCP, por lo que sólo hay que configurarlo como se ve en la imagen. Si tienes una IP fija verás que el interfaz es muy intuitivo y podrás configurarlo sin problemas.




Para configurar la wifi tampoco deberíamos tener muchos problemas. Primero activamos la tarjeta con un simple botón, podemos realizar un scan y seleccionar el AP al que queremos conectarnos. En la pestaña de seguridad hay completar la configuración introduciendo la correspondiente clave. Ah! por defecto el país de la wifi es US deberíais cambiarlo al país adecuado, temas legales con la potencia y los canales disponibles.




Tras reiniciarlo y conectarlo adecuadamente ya deberíamos tener acceso al dispositivo desde la red local.

Instalar nuevos paquetes

Con LuCI es muy fácil instalar nuevos paquetes, sólo tenemos que ir hasta la pestaña Software en la opción System. Desde aquí podremos realizar las funciones básicas relacionadas con los paquetes como instalar, desintalar o cambiar el repositorio. También podremos ver de una manera muy sencilla el espacio del que disponemos.



Antes de poder instalar nada usaremos el botón "Update list" para descargar las lista de paquetes. Ahora ya podrás navegar por su listado y con un simple click instalarlo. También podremos instalar directamente si sabemos el nombre o realizar búsquedas.

Configurar un USB para datos

Necesitamos un pendrive formateado a ext4. Siempre puedes usar Gparted o una herramienta similar para hacerlo de una manera sencilla.

Antes de empezar a utilizarlo tenemos que preparar el dispositivo. Verificamos que tenga instalados los módulos básico de usb: kmod-usb-core, kmod-usb-ohci y kmod-usb2.


Ahora instalaremos los paquetes que necesitamos para hacer funcionar el pendrive:


  • kmod-usb-storage para dar soporte al almacenamiento externo.
  • kmod-fs-ext4 para que entiendo el sistema de ficheros ext4, también da soporte a ext2 y ext3. Si quisieramos usar un usb formateado en FAT32 usaremos kmod-fs-vfat. Si buscamos los paquetes kmod-fs- veremos los sistemas de archivo de que disponemos.  
  • block-mount para que se se monte el usb al inicio.
Una vez instalado todo esto reiniciamos el dispositivo con el usb puesto. 

Entramos otra vez por web, vamos a System->Startup para activar fstab al inicio y ejecutarlo (Start). Ahora ya está cargado el usb. 





Desde System->Mount cargaremos la partición. La montaremos sobre /mnt/usb e indicaremos el sistema de archivos como se ve en la imagen.


También podemos tener más de una partición en el usb y cargarlas en puntos distintos. En la imagen se ven dos particiones, una para el sistema y otra la home.



Ahora si que tendremos que acceder por SSH al router para crear las siguientes rutas persistentes. Una vez dentro ejecuta estas ordenes:

ln -s /mnt/usb /opt
ln -s /etc /mnt/usb/etc
reboot

El router se reiniciará y ya tendremos el usb listo para usar.

Instalar paquetes en el usb

Se debe configurar una última cosa para instalar correctamente paquetes en el usb. Desde LuCI podemos añadir esta linea en la configuración de OPKG: 

dest usb /mnt/usb



Para instalar los paquetes desde LuCI añadiremos al campo de Download and Install packages la opción -dest usb junto al nombre del paquete a instalar.

Ahora veamos como se hace desde la linea de comándos, Antes de nada actualizamos la lista de paquetes:

opkg update 

Con la lista de paquetes descargada ya podremos instalarlo:

opkg install <paquete>

Para instalar nuevos paquetes al usb sólo hay que indicarle el destino:

opkg -dest usb install <paquete>

Para desinstalar paquetes usaremos la siguiente orden:

opkg -dest usb remove <paquete>

y para hacerlo en el usb.

opkg -dest usb remove <paquete>

3 comentarios:

Anónimo dijo...


Muchas gracias. Me fue muy útil. Solo no entendí hacer lo sigueinte:

Para instalar los paquetes desde LuCI añadiremos al campo de Download and Install packages la opción -dest usb junto al nombre del paquete a instalar.

Por lo que tendré que instalar desde consola.

Saludos

Unknown dijo...

Gracias, nos alegramos que te sea útil.

Lo que te comentamos en el post es que puedes hacerlo desde la pantalla de software, en el textbox que indicamo:

-dest usb "nombre_del_paquete"

Pero como bien comentas, para evitar problemas es mejor hacerlo desde linea de comandos.

Anónimo dijo...

Ah ok, no se como se me fue, había entendido otra cosa. Gracias, voy a probar.

Saludos