domingo, 26 de mayo de 2013

OpenWrt + WDS + Transsmission + noip

http://wiki.openwrt.org/toh/comtrend/ar5387un OpenWrt + Transsmission + noip
Convierte tu router en un cliente de bittorrent
===========================================================

Siempre que contratamos un servicio de internet, normalmente el proveedor ISP, nos entrega un router wifi. En mi caso, al mudarme de piso tuve que darme de baja de internet y al volver a darme de alta me entregaron otro equipo. Problema: ¿Que hago con el router viejo? Me quedaba con el mítico COMTREND CT566+ para ¿la basura?


 Mi sorpresa fue ver que con el router nuevo (Comtrend ar-5387un), este tenía una entrada USB detrás... Esto despertó mi curiosidad sobre las posibilidades de este e inmediatamente conecté un disco externo usb (NTFS) y comprobé que efectivamente, podía acceder a el como unidad de red.


Me dije, esto está muy bien, ¿pero de que me va a servir la unidad de red encendida todo el día si no estoy todo el día en casa?. Yo lo que necesito es que se descargue películas y las comparta, además que aumente el alcance de mi red, así que descubrí openwrt y me puse a investigar.

Contaré los pasos que seguí:
 
Primero, cogí el COMTREND  CT536+ Y me bajé el firmware original de la página de jazztel http://soporte.jazztel.com/internet/soporte-y-manuales/comtrend-hg-ct-536, acto seguido reseteé el router y lo conecté por cable de red para resetear el firmware por el método normal típico http://bandaancha.eu/foros/recuperar-comtrend-536-1426284

Bien, hecho esto cogí el comtrend y lo sustituí por el nuevo router comprobando que efectivamente se conectaba a internet, solo tenía que usar la configuración wifi que usaba antes de mudarme, fantástico.

¿Y ahora que hago con el nuevo? Pues el siguiente paso fue buscar un firmware que sacase al máximo el potencial del Comtrend ar-5387un,  existen diferentes compilaciones para este firmware, aquí encontrarás el oficial http://wiki.openwrt.org/toh/comtrend/ar5387un
 
Yo por mi parte busqué uno ya compilado por gente que ha estado investigando el tema a fondo http://foro.seguridadwireless.net/openwrt/openwrt-en-comtrend-ar5387un/ y en concreto el que según el autor es más estable   https://dl.dropbox.com/u/4708147/openwrt/bcm63xx/AR-5387un/openwrt-96328A-1441N1-generic-squashfs-cfe_r35318_brcmsmac.bin, además está en castellano.

El método para resetear el router e instalarle el firmware es prácticamente idéntico al descrito para el ct 356+, con la salvedad de que el firware no está compilado para jazztel.

Ahora tenemos que pelear con Luci 192.168.1.1, es un gestor web de la configuración del router


En mi caso he querido configurar el router como WDS, para que se conecte al otro router por wifi.

Tenemos que eliminar cualquier interfaz wan, si existiese y cambiar la ip de la interface lan a por ejemplo 192.168.2.1, de esta forma evitamos problemas con los segmentos y porque el otro router el que hará de punto de acceso. Cuando hagas este cambio acuérdate, conecta de nuevo pero con la una configuración de red con ip rago 192.168.2.*

Normalmente la configuración incial es esta:


Para no complicarme con las interfaces puenteadas, esto es, el pupurri de vlan+eth0+radi0 los dispositivos de red en una sola interfaz, editamos y eliminamos dentro de la pestaña configuración física, el interface de red inalámbrica.

Hecho esto ya no saldrá el símbolo de antenaWifi en la interface. Con esto nos queda un router con una inteface lan con ip 192.168.2.1 sin más.

Creo que hay dos métodos como primer paso para activar el wds correctamente, los describo porque aunque esta versión es más estable pueden ocurrir errores:

Método 1
Unirse a la red, si nos vamos a la pestaña wifi, veremos la opción de añadir o escanear una red, elegimos escanear y seleccionamos la red con la que queremos hacer WDS,

Método 2 
Crear/Activar si nos vamos a la pestaña wifi, veremos la opción de añadir o escanear una red, o activar una, elegimos activar la interface de red, que estará apagada y le damos a añadir la red que propone por defecto con nombre OpenWrt o bien habrá que crearla con todo por defecto.



Tras darle al botón de unirse/crear, debemos cumplir con lo siguiente para hacer wds:


-La misma configuración de seguirdad y clave. Para no complicarte en este punto, lo mejor es desactivar la seguridad y activarla más tarde.

-Los dos routers deben usar el mismo canal y modo 802.11

-Es recomendable que ambos routers tenga el DHCP desactivado



Hecho esto, deberías ver la nueva interface wifi en la pestaña de interfaces, edítala y asegúrate de que el protocolo que usa es ip estática, si no está cámbialo. La ip debe coincidir con el rango del router AP yo le puse la 192.168.1.100 y la Gateway y DNS evidenmente va a ser la ip del AP, en este caso la por defecto del COMTREND 192.168.1.1

Si has usado el método 2 habrás creado una red wifi llamada OpenWrt, si puedes conectarte a ella a través de la wifi, eliminamos la interface lan porque no vamos a usar el pseudobrigde (ver más abajo), así que te quedaría un router solo con una red wifi con nombre OpenWrt, sin la posibilidad de conexión por cable de red, pero antes asegurate de que la interface tenga ip estática para luego saber en que ip accederemos a Luci (en mi caso 192.168.1.100) para luego editar las opciones de la red wifi, poniendo la SSID (nombre de la red AP) y el modo cliente WDS.

Bueno si todo ha ido bien, que no lo creo debería poder ir a la pestaña sistema/instalar_programas y poder darle al botón actualizar. Pero como ya sabemos siempre hay peros, hay que comprobarlo.

Para hacer las comprobaciones debemos cambiar la contraseña del administrador en la pestaña sistema, para poder tener acceso por ssh.

Ahora con putty comprobamos los ficheros /etc/config/network que en este momento debería estar así:
=========================================================

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option _orig_ifname 'eth0.1 radio0.network1'
        option _orig_bridge 'true'
        option ifname 'eth0.1'
        option ipaddr '192.168.2.1'

config switch
        option name 'eth0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'eth0'
        option vlan '1'
        option ports '0 1 2 3 8t'

config interface 'wwan'
        option _orig_ifname 'wlan0'
        option _orig_bridge 'false'
        option proto 'static'
        option ipaddr '192.168.1.100'
        option netmask '255.255.255.0'
        option gateway '192.168.1.1'
        option broadcast '192.168.1.1'
        option dns '192.168.1.1'
========================================================

 /etc/config/wireless

 =========================================================
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option path 'pci0000:00/0000:00:00.0/0000:01:00.0/bcma0:0'
        list ht_capab 'GF'
        list ht_capab 'SHORT-GI-20'
        list ht_capab 'SHORT-GI-40'
        option txpower '19'
        option hwmode '11g'
        option country '00'

config wifi-iface
        option ssid 'SSID'
        option encryption 'none'
        option device 'radio0'
        option network 'wwan'
        option mode 'sta'
        option wds '1'

Ahora probaremos a entrar al router con Luci en 192.168.1.100  por wifi no por cable (la ip asignada al router brigde)

Si tienes acceso por wifi a Luci, siginifica evidentemente, que el router se ha asociado correctamente al AP.


Si te da problemas al actualizar el software, pero ya se conecta por wds y evidentemente ya tienes acceso por wifi a Luci, está claro estás conectado pero no resuelve,  borra la interface de red de lan de tal forma que solo quede la wan, esto me funcionó a mi, seguramente porque la forma de confiuración de con las dos redes necesita de un protocolo que se conoce como routed cliente with relay o pseudobrigde más dificil de configurar e innecesario porque no voy a usarlo más que por wifi.  Pero si quieres información la tienes en http://wiki.openwrt.org/doc/recipes/relayclient

Así que, una vez hemos borrado la interface lan, debemos también borrar la configuración en /etc/config/network que corresponden con la interface.

borramos estas líneas:

config interface 'lan'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option _orig_ifname 'eth0.1 radio0.network1'
        option _orig_bridge 'true'
        option ifname 'eth0.1'
        option ipaddr '192.168.2.1'

config switch
        option name 'eth0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'eth0'
        option vlan '1'
        option ports '0 1 2 3 8t'

De esta forma nos quedará una única interface wan asociada únicamente al dispositivo wlan0 de la wifi. pero como ya dije, tienes acceso wifi y está conectado, si el dns está bien debería resolver para poderse actualizar. Teniendo solo una interface se pueden borrar todas las reglas de firewall o de rutas, claro que las reglas generales de tráfico del firewall deben estar en accept, las tres, input, output y forwarding.

Si ya puedes updatar el software del router wifi es que este resuelve bien las dns y que tiene acceso a internet sistema/instalar_programas y botón actualizar, en teoría ya está funcionando y podrías empezar a instalar lo que necesites, puesto que openwrt es un sistema linux, pequeño pero completo y se pueden añadir cosas, como por ejemplo aircrack.

La primera búsqueda que se suele hacer es "mount" e instalar block-mount, un módulo que te permite configurar el automontaje desde Luci de unidades de disco. Con ello se puede montar un disco USB externo que por mi parte en el he creado una partición única de formato ext4 porque así lo recomiendan los de openwrt.

En la compilación que utilizo, transsmission y block-mount son paquetes que vienen preinstalados, para activar Transsmision basta con activarlo desde Luci en la pestaña Servicios pero antes recomiendo visitar la wiki http://wiki.openwrt.org/doc/uci/transmission para su configuración y sobre todo para la configuración del webservice que nos permitirá manejarlo desde el navegador u otras aplicaciones clientes como esta para android https://play.google.com/store/apps/details?id=com.neogb.rtac&hl=es
                   


Por último y para poder controlar el transsmision subir/bajar/borrar/etc nuestras descargas desde fuera de casa debemos abrir el puerto del servicio web asignado a transsmission en nuestro router AP, por defecto el 9091.

Y para rizar el rizo podemos instalar ddns-scripts y luci-app-dns y configurarlo para usarlo, desde fuera de casa sin tener que apuntarnos la ip a través de un provedor de DNS´s dinámicos, por mi parte estoy utilizando los servicios de no-ip.com. La wiki de openwrt sobre esto http://wiki.openwrt.org/doc/howto/ddns.client, he comprobado que funciona directamente desde el configurador ddns de Luci.


Ahora ya puedes manejar tu bittorrent desde cualquier lugar o simplemente desde otro ordenador de casa sin necesidad de complicarse con el tema de no ip por ejemplo en mi caso   http://192.168.1.100:9091/transmission/web/




Agradecimientos a Noltarie el autor del post en http://foro.seguridadwireless.net/openwrt/openwrt-en-comtrend-ar5387un/ y de parte de las imágenes




Notas:

La seguirdad WEP no es nada segura en este modelo de router y menos con la clave por defecto.

Puedes acceder a los archivos descargados con Fillezilla o winscp.

Algunos router tienen la opción de asociar/autorizar otros dispositivos de la red que quieran hacer de brigde. En en comtrend hay una, que he activado pero creo que es irrelevante, ¿si se hace masquerading?.

No os podéis imaginar cuantas horas puede pasar uno leyendo un millón de post, haciendo un millón de pruebas para encontrar una solución, que luego a otros, no le funciona. Se admiten comentarios, sugerencias y críticas constructivas.










 










9 comentarios:

  1. Yo lo he instalado en un router de Vodafone (hg556a) y además le he instalado el servidor DLNA(minidlna) para poder ver las pelis en la tele; con ese se le saca todo el jugo a lo que descarga el transmisssion.

    ResponderEliminar
    Respuestas
    1. Siempre es buena idea sacarle más jugo, Veas las pelis por DLNA o copiandolas con ssh. Lo importante aquí es que es mucho más economico un router 12v + un hd externo (otros 5V?) que tener un ordenador encendido. Si bien a lo mejor necesitas configurar una partición swap según el router del que dispongas para servicios parecidos como streaming, etc. Gracias

      Eliminar
  2. Hola, lo primero darte las gracias por ponérmelo tan fácil. Tengo ese router de jazztel muerto de risa hace 6 meses y ahora que me planteo el usarlo de repetidor, me encuentro tu post. Muchísimas gracias.
    En mi caso, tengo cableada la casa, con lo que no necesito activar WDS, lo conectaría al cable y lo usaré como repetidor para móviles y tabletas.

    ResponderEliminar
  3. Te debo una caña (o dos, o las que aguantes) de verdad.

    ResponderEliminar
  4. Hola, gracias por el tutorial. Queria preguntarte si aun tienes la version compilada del openwrt con luci para este router, la verdad he buscado y buscado, y solo encuentro la version que se maneja por consola y no se me da muy bien. Te agradeceria si la tienes la subieras a un servidor o si no es mucha molestia podrias enviarla por correo. Gracias

    ResponderEliminar
  5. Podéis probar esta compilación, es la que estoy usando actualmente:
    http://downloads.openwrt.org/snapshots/trunk/brcm63xx/openwrt-AR-5381u-squashfs-cfe.bin
    Para entrar una vez flasheado podéis entrar por telnet en 192.168.1.1
    luego editar
    vi /etc/config/network
    cambiar:
    ipaddr '192.168.1.2'
    añadir:
    option gateway '192.168.1.1'
    option dns '192.168.1.1'

    ahora salimos con
    reboot && exit
    mientras hace reboot conectar al router principal el cable
    ahora
    telnet 192.168.1.2
    opkg update
    resuelve y hace el download? todo ok
    ahora instalamos luci
    opkg install luci
    lo arrancamos
    /etc/init.d/uhttpd start
    entramos al navegador 192.168.1.2

    configuramos las interfaces juntando la red virtual vlan(switch) y la red wifi (wlan) es un pupurri pero sirve para luego hacer el wds a la vez conectar por ejemplo un cable de red al televisor que soprta dnla y añadiendo una funcionalidad más.

    ejemplo de mi config:
    http://i.imgur.com/pBo8Qfn.png

    Nota: Desactivar la seguridad wep, mejorara la conectividad, es mejor filtrar por mac que confiar en el wep, el wpa no funciona con wds
    para instalar dnla :
    opkg minidlna

    ResponderEliminar
  6. Hola puedes pasarme el firmware que tiene los paquetes transsmission y block-mount ya instalados. Ya que me da error al intentar instalarlos.Y el enlace a dropbox está caído. Un saludo.

    ResponderEliminar