OpenWRT para Movistar fibra óptica (FTTH)

En una entrada anterior comentaba como configurar un router TP-Link WR1043ND para usarlo con la fibra óptica de Movistar.

Las ventajas de utilizar OpenWRT con un router que lo soporte son muchas, sobre todo en cuestión de estabilidad, eficiencia y flexibilidad.

De cara a facilitar a la gente la instalación y configuración de OpenWRT, he generado las imágenes para los routers que dispongo. Por el momento sólo he generado los archivos de instalación para el TP Link WR1043ND y un Linksys WRT160NL.

Estas imágenes están basadas en el último commit realizado en el GIT de OpenWRT de Attitude Adjustment (12.09, r38093) junto con un script de configuración que se ejectua en el inicio del arranque del router. Una vez instalado el firmware, el router debe ser completamente operativo, no es necesaria ninguna configuración extra más allá de la configuración Wifi.

Cambios que tiene este firmware respecto a una versión original de OpenWRT:

  1. Autoconfiguración de WAN por PPPoE para FTTH de Movistar
  2. Lenguaje castellano por defecto
  3. Actualización de tablas de rutado (RIP) para soporte de Movistar VozIP.
  4. Nueva interfaz de red específica para VozIP
  5. IGMP Proxy para su uso con Imagenio (no está probado)
  6. Reglas de firewall configuradas para funcionar con todo lo anterior
  7. Compatibilidad con las interfaces de las versiones de OpenWRT para TP Link WR1043ND y un Linksys WRT160NL.

El script, junto con alguna utilidad para generar el firmware puede encontrarse en mi perfil de Github.

Este firmware soporta todas las ventajas que aporta OpenWRT junto con la configuración necesaria para usar la VozIP proporcionada por Movistar FTTH. Además, está configurado para utilizar Imagenio, sin embargo, esto no he podido probarlo ya que no dispongo de esta opción en mi domicilio.

Antes de seguir, es importante remarcar que no trabajo para Movistar ni para Telefónica, ni para ninguna empresa asociada a ellas. Esto simplemente lo hago por entretenimiento y/o diversión. Con lo cual, queda bajo tu responsabilidad las consecuencias del uso de este software.

Tabla de compatibilidad
Marca Modelo Imagen Versión Instalación Actualización
TP-Link WR1043ND [img] 1.1 Descarga Descarga
Linksys WRT160NL [img] 1.0 Descarga Descarga

Estas imágenes las he probado personalmente y parecen funcionar correctamente.

Para actualizar de una versión previa de OpenWRT utiliza el enlace de Actualización (archivo terminado en “sysupgrade”). Si partes del firmware original del router utiliza el enlace de Instalación (archivo terminado en “factory”).

Instalación desde el firmware orignal del router

Entramo en la configuración original del router, nos vamos a a la sección System Tools y de ahí a Firmware update.

En esa sección escogemos el archivo que nos descargamos antes y pulsamos en el botón Upgrade.

Actualización desde otro OpenWRT.

Entramos en la configuración de OpenWRT del router, nos vamos a la pestaña Sistema o System (dependiendo del idioma del firmware). En la sub-pestaña Backup/load firmwarecopia de seguridad/cargar firmware veremos una sección abajo del todo donde podremos cargar el nuevo firmware. Sólo debemos introducir el archivo de actualización (archivo terminado en sysupgrade) y pulsar en el botón de actualizar.

Es recomendable desmarcar la opción de Conservar la configuración… para que el nuevo firmware se reconfigure al inicio. De todas formas, en la actualización entre mismas versiones no debería ocurrir ningún imprevisto.

Enlaces de interés:

Publicado en Distribuciones, Linux, redes | Etiquetado , , , , , , | 21 comentarios

Instalar Docker en Debian

Snipet para construir un kernel Linux con soporte AUFS:

#!/bin/bash

VERSION=3.12
apt-get -y install git build-essential

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux.git
pushd linux.git
git checkout -b v$VERSION tags/v$VERSION
popd

git clone git://git.code.sf.net/p/aufs/aufs3-standalone aufs3-standalone.git
pushd aufs3-standalone.git
git checkout -b aufs$VERSION remotes/origin/aufs$VERSION
popd

pushd linux.git
patch -p1  < ../aufs3-standalone.git/aufs3-kbuild.patch
patch -p1  < ../aufs3-standalone.git/aufs3-base.patch
patch -p1  < ../aufs3-standalone.git/aufs3-mmap.patch
patch -p1  < ../aufs3-standalone.git/aufs3-standalone.patch

cp -r ../aufs3-standalone.git/Documentation .
cp -r ../aufs3-standalone.git/fs .
cp -r ../aufs3-standalone.git/include/uapi/linux/aufs_type.h include/uapi/linux/
popd

Ahora debemos configurar el Kernel. Tened en cuenta que hay que activar CGroup y AUFS:

pushd linux.git
make menuconfig
make all -j8
mkdir ../kernel-$VERSION
cp ./arch/x86_64/boot/bzImage System.map ../kernel-$VERSION/
popd

El siguiente paso es arrancar con el nuevo Kernel:

cp ../kernel-3.12/bzImage /boot/bzImage-3.12.0-64
cp ../kernel-3.12/System.map /boot/System.map-3.12.0-64

update-grub
#Generating grub.cfg ...
#Found linux image: /boot/bzImage-3.12.0-64
#Found Debian GNU/Linux (7.2) on /dev/sda1
#done

reboot

Instalación de Docker:

echo "deb http://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list
wget -qO- https://get.docker.io/gpg | apt-key add -
apt-get update
apt-get -y install lxc-docker

Comprobamos si el entorno es compatible con LXC:

lxc-checkconfig

Debe aparecernos esto:

--- Namespaces ---
 Namespaces: enabled
 Utsname namespace: enabled
 Ipc namespace: enabled
 Pid namespace: enabled
 User namespace: enabled
 Network namespace: enabled
 Multiple /dev/pts instances: enabled
--- Control groups ---
 Cgroup: enabled
 Cgroup clone_children flag: enabled
 Cgroup device: enabled
 Cgroup sched: enabled
 Cgroup cpu account: enabled
 Cgroup memory controller: missing
 Cgroup cpuset: enabled
--- Misc ---
 Veth pair device: enabled
 Macvlan: enabled
 Vlan: enabled
 File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
 usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

Añadimos nuestro usuario al grupo docker por comodidad.

adduser $USER docker

Verificamos la instalación con el siguiente comando:

docker run -i -t ubuntu /bin/bash

Ahora estás en una Ubuntu dentro de un contenedor 🙂

Referencias:

Publicado en Debian, General, Linux | 1 comentario

Configurar NAT en un router con OpenWRT

En el artículo de configuración de OpenWRT para FTTH me quedé con algunos puntos por explicar, como la configuración del firewall y el DHCP.

La configuración referente a la parte LAN del router, la podéis encontrar en la sección Network -> Interfaces -> Lan

Configuracion interfaces

Empezando por arriba de este formulario web, configuramos el direccionamiento estático de la interfaz de red de nuestra área local. Esta será la dirección de nuestro router en nuestra LAN, y todos los equipos deberán usarla para salir a Internet.

Un poco más abajo tenemos la configuración del Servidor DHCP, este servidor será el encargado de asignar una IP de forma automática a cada uno de los equipos de nuestra red. Su configuración en este caso es muy sencilla, sólo debemos indicar el rango de IPs que podrán coger nuestros equipos (en este caso del X.X.X.100 al X.X.X.150) y con un tiempo de renovación de 12 h.

Si queremos que un equipo siempre tenga la misma dirección IP, en la pesataña Advanced Settings, podemos asociar una IP a una dirección MAC de una tarjeta de red. De esta forma ese equipo siempre recibirá la misma IP.

Ahora es necesario configurar el enmascaramiento de IP (Masquerading). La idea, es conseguir que nuestro router “simule” que todas las peticiones de nuestros equipos de la LAN la esté haciendo la IP pública WAN de internet. (Un servidor de Internet no debe recibir una petición una IP del tipo 192.168.5.111).

Para hacer esto nos vamos a la sección Network -> Firewall. En el cuadro Zones podemos ver la asociación que hace el router entre cada una de las interfaces virtuales. En este caso la interfaz virtual lan corresponde a la Wifi y el switch interno del router que dan a la LAN, y la interfaz virtual wan corresponde al puerto ethernet del router que sale a Internet.

Para los paquetes que van desde la wan hacia cualquier sitio haremos masquerading, para eso seleccionamos la casilla correspondiente. Para hacerlo más seguro denegaremos cualquier paquete que intente venir desde fuera hacia la wan poniendo reject en las casillas corresondientes.

Por defecto, permitiremos que cualquier equipo de nuestra LAN pueda salir por la interfaz wan, esto lo indicamos en las casillas con accept.

Configuración NAT

Algunas aplicaciones requieren el uso de puertos desde fuera hacia la propia aplicación, como por ejemplo un cliente de torrent. Para redirigir un puerto desde la wan hacia un equipo de nuestra red incluimos una regla en la sección Redirections.

En este caso todos los paquetes TCP y UDP que vengan de Internet hacia el puerto 51413 se dirigirán al equipo interno con su mismo puerto:
Configuracion NAT

Publicado en General, Linux, redes | Etiquetado , , , | 3 comentarios

Router TP-Link TL-WR1043ND con OpenWRT para Movistar FTTH

Como ya comenté en un artículo anterior sobre la configuración de DD-WRT para funcionar con la FTTH de Movistar, el router que suelen subencionarte es bastante mediocre en sus funciones. En esta entrada voy a explicar cómo configurar un router alternativo (en este caso el TP-Link TL-WR1043ND) que tiene un precio bastante asequible y permite la instalación de OpenWRT.

tp link tl-wr1043nd FrontalEl router tiene Wifi-N, USB y ethernet a Gigabit como caracteristicas más destacables. Además, incluye un procesador Atheros AR9132 con 32 Mb de RAM.

En la parte trasera podemos ver diferenciadas las entradas de “Internet” (en azul) y el switch hacia la red interna (en amarillo). A pesar de estar diferenciadas, internamente se trata de la misma interfaz de red, sólo que mediante software se diferencian cada una de las bocas.

La versión de OpenWRT que vamos a usar es la 10.03.1 (Backfire), podemos descargar el archivo imagen de su repositorio. Nos interesa el archivo

<a href="http://downloads.openwrt.org/backfire/10.03.1/ar71xx/openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin">openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin</a>

He redactado un nuevo post con un firmware personalizado para funcionar con Movistar FTTH y este router. Este firmware basado en la última versión de OpenWRT (12.09) ahorra todo el proceso de configuración descrito más abajo.

Nota importante: Carlos, un lector, ha comentado que hay problemas con ciertas versiones de este router y openwrt. Estas versiones de router pueden morir si el firwmare no es el correcto o es incompatible. Más información la podéis obtener aquí:

<a href="http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd" rel="nofollow">http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd</a>

Es muy importante que sea el factory para poder cargar esta imagen desde el firmware original del router.

TL-WR1043ND Trasera

Dentro de la configuración original del router nos vamos a a la sección System Tools y de ahí a Firmware update.

En esa sección escogemos el archivo que nos descargamos antes y pulsamos en el botón Upgrade.

Interfaz OpenWRT

Unos minutos después el router se reiniciará y ya tendremos OpenWRT instalado. Ahora sólo queda configurarlo.

Empezaremos configurando la boca azul de internet para que marque los paquetes para usar la vlan6 utilizada por la ONT que provee Movistar.

Nos vamos a la sección Network -> Switch y establecemos las opciones tal y como se ven en la imagen:

Configuracion vlan
El puerto 1 corresonde con el puerto azul de internet. Hemos añadido una nueva entrada pulsando sobre Add, marcado el puerto como tagged y asignado el Vlan ID 6.

El resto de puertos permaneceran sin marcar, ya que no voy a hacer uso de VLANs en mi red.

Ahora debemos asociar la interfaz virtual WAN con la nueva VLAN creada. Para ello nos vamos a la sección Network -> Interfaces -> WAN y en la pestaña Physical Settings marcamos la VLAN eth0.6. Si no aparece, deberemos pulsar en Save & Apply antes.

Configuracion Vlan
Ahora configuraremos el demonio PPP para hacer uso de la conexión. En la pestaña General Setup de la misma sección establecemos el protocolo a PPPoE, usuario adslppp@telefonicanetpa contraseña adslppp.
Configuracion PPPoE
Guardamos y aplicamos los cambios en el botón Save & Apply. Y ya deberíamos tener la conexión activa, que podemos ver en la pestaña Status.
Configuracion ppp movistar

 

Publicado en General, Linux, redes, Tecnología | Etiquetado , , , , | 56 comentarios

Arch pasa el contenido de /lib a /usr/lib con glib 2.16

Este es uno de los mayores cambios en la historia de esta distribución. Además, es bastante complejo, ya que todos los paquetes que tuviesen archivos en /lib deben ser migrados antes a /usr/lib, y como último paso se debe actualizar a glib 2.16.0.

Tanto la actualización de glib 2.16 como el cambio tan traumático de paquetes se está documentando en el wiki oficial de Archlinux .

De forma muy resumida, e intentando no romper nada de la distribución los pasos son:

  1. Actualizar todos los paquetes posibles dejando atrás la actualización de glibc, que es la que da el mayor conflicto y crea el enlace simbólico de /lib a /usr/lib:
    pacman -Syu --ignore glibc
  2. Actualizar el resto del sistema, incluyendo glibc:
    pacman -Su
  3. Es muy importante no forzar la instalación de paquetes con –force, ya que podría romperse la consistencia de varios paquetes.

Para más información, o algo que se salga de este procedimiento, mejor ir al wiki o a los foros oficiales.

Si estás instalando desde cero, es recomendable que selecciones los repositorios -remote en el instalador. Si usas alguno -local puedes tener problemas al actualizar luego.

Publicado en ArchLinux, Distribuciones, Linux, Software | Etiquetado | Deja un comentario

Como cambiar el router de Telefónica en su instalación FTTH

Hace poco que tengo en mi domicilio una instalación de FTTH de Telefónica, ya que, por lo visto, Telefónica ya no instala pares de cobre en las edificaciones nuevas. Así que he contratado un pack de oferta “ADSL” (y lo pongo entre comillas porque de ADSL sólo tiene el nombre al usar otra tecnología).

La instalación consiste en un terminador de fibra óptica llamado ONT (en mi caso una Hauwei) y un router neutro Comtrend con wifi.

El router deja bastante que desear: cortes de wifi, no es capaz de gestionar bien las conexiones si alguna está saturando la línea y no es muy flexible en cuanto a configuración. Es por ello que he decidido cambiarlo por un modelo un poco más serio: Linksys WRT160NL con DD-Wrt.

Actualización: También he configurado el router TP-Link TL-WR1043ND para usarlo con OpenWRT

Su configuración es sencilla:

Por la parte WAN utiliza PPPoE y lo configuramos así en la configuración básica:

Configuración PPPoE FTTH telefónica

Configuración PPPoE FTTH telefónica

La ONT se comunica con el router utilizando una VLAN con tag 6, para esto debemos configurar el puerto WAN del router para que utilice esa configuración VLAN:

Configuración vlan ONT-Router DD-wrt

Configuración vlan ONT-Router DD-wrt

Sin embargo, si vamos al estado del router podemos ver que no es capaz de establecer la conexión PPP con la ONT. Esto parece ser un bug de DD-WRT ya que, si entramos por ssh en el router, vemos que el demonio está levantado y escuchando por la interfaz eth1 (WAN). Sin embargo, DD-WRT crea una interfaz nueva para utilizar la VLAN, esta es la interfaz eth1.6. Así que una forma de hacer que el demonio PPP use la interfaz eth1.6 es cambiarlo en su configuración y relanzarlo en el arranque del router.

Entramos en la sección de administración -> diagnósticos y añadimos el siguiente script de inicio:

killall pppd &&
sed -i s/nic-eth1/nic-eth1.6/g /tmp/ppp/options.pppoe &&
pppd file /tmp/ppp/options.pppoe

Este script, para el demonio pppd, cambia la configuración para que use la eth1.6 (con tag) en vez de la eth1, y vuelve a lanzar el demonio con la nueva configuración.

Nos quedaría así en la interfaz:

Script de inicio DD-WRT para establecer VLAN como conexión

Reiniciamos el router y ya tenemos la conexión establecida:

Estado de la conexión PPP

Estado de la conexión PPP

Publicado en Tecnología | Etiquetado , , , , , , | 12 comentarios

Unity + Ubuntu Natty 11.04 + Nvidia

Uno de los problemas de esta versión de Ubuntu es la compatibilidad del sistema gráfico Xorg 7.6 junto con algunos drivers propietarios de Nvidia.

Una posible solución puede ser actualizar los drivers de Nvidia y algún que otro paquete de Xorg. Para conseguir esto debemos añadir un repositorio alternativo dedicado a actualizaciones de X disponible en Launchpad:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get -uyd dist-upgrade

Esto, ejecutado en un terminal, deberá actualizarnos ciertos paquetes cuya versión da algunos problemas al lanzar el escritorio.

Una vez instalados, deberemos reiniciar el equipo. Y si no nos gusta la nueva interfaz siempre podemos volver al escritorio clásico de Gnome.

Saludos.

Publicado en General, Linux, Tecnología, Ubuntu | Etiquetado , , , | Deja un comentario

Optimizando el espacio libre en mi Android

HTC DreamHace aproximadamente 2 años me compré a través de Ebay el teléfono HTC Dream . Al ser uno de los primeros teléfonos con Android anda algo corto de capacidad, sobre todo de memoria RAM y sitio para aplicaciones. Para solucionar el problema de la RAM, al usar versiones de Android más actuales, he realizado algunos cambios en el sistema para conseguir algunos megas de RAM extra. Y para dejar un poco de más espacio a las aplicaciones no he tenido más remedio que mover ficheros entre las particiones de sistema y datos. Para hacerlo es necesario tener acceso permisos de root en el móvil. Como me ha parecido bastante útil, y no he encontrado ninguna guía por Internet, os muestro cómo lo he hecho.

Conectamos el móvil por USB y entramos por adb desde el PC:

$ adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
#

Ahora podemos ver las particiones y su estado:

#df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                    55.1M         0     55.1M   0% /dev
tmpfs                    55.1M         0     55.1M   0% /mnt/asec
/dev/block/mtdblock3     91.0M     86.6M      4.4M  95% /system
/dev/block/mtdblock5     91.8M     73.5M     18.2M  80% /data
/dev/block/loop0          4.0M      4.0M         0 100% /system/xbin
/dev/block/mtdblock4     27.0M      6.6M     20.4M  25% /cache
/dev/block/vold/179:1
                          7.2G      3.4G      3.7G  48% /mnt/sdcard
/dev/block/vold/179:1
                          7.2G      3.4G      3.7G  48% /mnt/secure/asec
#

Android guarda las aplicaciones en paquetes llamados APKs, las aplicaciones del sistema (aquellas que no deben borrarse) se encuentra en el directorio /system/app .

Después de varias actualizaciones de Google Maps, Mail y otras aplicaciones se había llenado la partición “escribible”, con lo que no podía instalar más aplicaciones.

La solución es sencilla: pasar los paquetes actualizados APKs de la partición de datos a la del sistema machacando las versiones antiguas. Así tendremos la partición /system aprovechada al máximo y con espacio disponible en /data

La partición /system está montada como sólo lectura, así que debemos montarla como lectura/escritura, desde el PC hacemos:

$ adb remount

Una vez hecho esto pasaremos las aplicaciones a su sitio hasta que casi llenemos /system:

cp /data/app/com.google.android.apps.maps-1.apk /system/app/MapsSapphire.apk
...

Una vez colocado todo en su sitio deberemos reiniciar en Recovery, limpiar la caché de Dalvik e iniciar normalmente.

Publicado en Android, Distribuciones, Linux, Tecnología | Etiquetado , , | Deja un comentario

Entrando en Ubuntu Natty con el escritorio clásico

Ubuntu Natty incluye de serie y por defecto Unity, un nuevo sistema de escritorio orientado a ganar eficiencia a la hora de realizar nuestras tareas más habituales en nuestro PC.

Sin embargo, a mucha gente no le gusta o no termina de encontrarse cómoda utilizándolo. Es por ello que muchos prefieren volver al sistema de escritorio clásico de Ubuntu ( Gnome 2 ) con sus dos barras superior e inferior.

Para volver al escritorio tradicional basta con seleccionar la opción “Ubuntu Clásico” en el menú desplegable que aparece abajo al pulsar sobre nuestro nombre de usuario en la pantalla de entrada.

Opción de inicio clásico en Ubuntu Natty

Parece algo demasiado obvio, pero no han sido pocas las personas que me han preguntado cómo se hacía esto. Con esta opción, siempre que entremos en nuestra sesión, tendremos nuestro escritorio clásico.

Saludos

Publicado en Distribuciones, Linux, Ubuntu | Etiquetado , , , , | Deja un comentario

Post desde Android

Para aquellas personas que puedan disfrutar de una tarifa de datos en su Android del momento, existe una aplicación específica para gestionar tu blog con Worpress.

Podéis encontrar la aplicación para gestionar WordPress para Android diréctamente en el Market.

Aquí tenéis el qr-code:

qr-code-wordpress

Para poder enganchar la aplicación con vuestro blog en Worpress deberéis habilitar la opción XML-RPC en los ajustes del panel de control de WordPress.

Opciones XML-RPC WordPress

Salud!

Publicado en Android | Etiquetado , | Deja un comentario