OpenWRT ~ Comtrend AR -5387un Con cada cambio de compañía de servicio de internet que he ido realizando, he recopilado nuevos routers y almacenando los viejos por no darles uso. En este artículo voy a explicar el procedimiento que he realizado para usar uno de esos routers antiguos como punto de acceso (el router actual lo tengo en el salón ya que me es más cómodo tenerlo ahí por el servicio de TV para un decodificador y en el cuarto donde lo tenía antiguamente junto al PC, no tengo muy buena cobertura Wifi) y además, instalarle los servicios de clientes Torrent y eMule para poder permitirme tener el PC apagado y conseguir un ahorro de energía considerable. Todos estos servicios y configuraciones se añaden gracias al sistema OpenWRT OpenWRT,, que para resumirlo re sumirlo un poco, se trata de cambiarle el sistema operativo ope rativo que lleva el router de fábrica por un sistema operativo Linux mucho más abierto, flexible y seguro donde poder aprovechar aprovecha r más el hardware del router. El esquema de la idea es el siguiente:
Con este esquema pretendo ahorrar energía sin limitar los servicios de descarga, poder acceder a estas desde varios aparatos y a la vez ahorrarme comprar un repetidor o amplificador Wifi que solo me serviría para una sola función (ya que el router a usar para OpenWRT tiene mejor recepción Wifi). Wifi ). Este esquema se puede ampliar un poco más (y de hecho se hará) añadiendole un servidor servidor web, una base de datos y un sistema para “convertir” una IP dinámica en estática (por nombre de dominio) y así poder montarte un hosting limitado por si
necesitamos una página web sin pagar un € u otros servicios como control remoto y WOL entre otros. Para realizar esto, he usado un viejo router Comtrend AR-5387un. Hay que tener en cuenta que realizar lo que sigue puede llegar a brickear el Comtrend (muy dificil pero posible), asi que sugiero sugie ro leer bien y sobre todo no tener ten er miedo de tocar. Comenzamos…
Instalación del Firmware OpenWRT OpenWRT de Barrier Breaker Necesitamos el firmware de OpenWRT que se ha usado para hacer esta guía que podemos bajar desde aquí gracias al esfuerzo y horas de trabajo de Noltari y jar229 (entre otros) en el foro de la web http://foro.seguridadwireless.net/openwrt/openwrt-encomtrend-ar5387un/,, la cual recomiendo enormemente y de la que he sacado toda la comtrend-ar5387un/ información que he necesitado para aprender algo más sobre OpenWRT. Con el router Comtrend AR-5387un apagado, pulsamos y manteniendo pulsado el botón de “Reset” encendemos el router. Se debe mantener pulsado el botón de “Reset” aproximadamente 20 segundos. Pasado este tiempo lo podemos dejar libre. Con esto hemos puesto el router en modo de actualización de firmware. Para actualizar el router con el firmware de Opwenwrt Barrier Breaker, configuramos la red con IP fija como se muestra en la imagen:
Una vez aplicados los cambios, abrimos nuestro navegador y escribimos en la barra de navegación “192.168.1.1” y pulsamos “enter”. Al navegar a dicha dirección nos debe aparecer una imagen como la siguiente:
Hacer click en “Examinar”, elegir el archivo “openwrt-AR-5387un-squashfs-cfe.bin” y luego hacer click en “Update Software”. Esto tarda unos 2 minutos, veremos que el cable de red se desconecta y conecta solo y es MUY IMPORTANTE dejar el cable de red conectado, el PC encendido, no tocar nada y no apagar el router hasta que pase este tiempo (es muy probable que pasados los dos minutos, en el navegador nos aparezca una pantalla de error de navegación. Esto es normal ya que intenta acceder al router cuando aún no ha iniciado). Pasados los dos minutos volvemos a escribir en la barra de navegación de nuestro navegador “192.168.1.1” y pulsamos “enter” para navegar hasta el router y ver que ha pasado. Con esto ya hemos conseguido actualizar el firmware del router y al acceder a él veremos un menú totalmente distinto (llamado LuCI) al menú que trae de fábrica como se muestra en la imagen siguiente:
Establecer contraseña de usuario “root” Lo primero que tenemos que hacer (y que nos comunica en el banner superior) es poner una contraseña al usuario “root” ya que por defecto viene en blanco. Estableciendo contraseña también activaremos las comunicaciones SSH que usaremos más adelante para configurar ciertos programas y modificar ciertas configuraciones. Para hacer esto (y decir que no siempre funciona a la primera), en “Password” escribimos la contraseña que queramos y hacemos click en “Login”. Al hacer esto, la página cambia un poco. Debemos hacer click en “Go to password configuration…” para volver a escribir la contraseña que pusimos anteriormente:
En “Confirmation” ponemos la contraseña que pusimos anteriormente y sin tocar nada más, buscamos y hacemos click en “Save & Apply”, botón ubicado en la parte baja de la página. Si todo ha ido bien, el banner marrón que nos decía de cambiar la contraseña ya no estará y en su lugar aparecerá lo siguiente:
Esto nos indica que hemos cambiado correctamente la contraseña del usuario “root”. Si esta imagen no aparece y sigue apareciendo el banner marrón, repetir escribir contraseña en “Confirmation” y click en “Save & Apply” hasta que desaparezca el banner y nos aparezca la imagen anterior.
Configuración de red cableada Ahora vamos a configurar la red cableada y la red Wifi para el propósito que nos marcamos. En el menú que tenemos en la parte superior ponemos el puntero sobre “Network” y en el desplegable hacemos click en “Interfaces”.
Estamos en la página de configuración de dispositivos de red cableada. Nos aparece solo un dispositivo (la red cableada de los 4 puerton Lan que tiene el router) llamado “br -lan” del tipo “Lan”.
Hacer click en el botón “Edit” para poder cambiar el segmento de la IP de la red cableada y que no tengamos ningún error cuando configuremos la red Wifi.
SOLO cambiaremos el valor de “Ipv4 address” a “192.168.2.1” y click en botón “Save & Apply” ubicado en la parte inferior de la página. Al hacer esto, cambiamos la IP del router de la red cableada y si antes entrabamos escribiendo en el navegador “192.168.1.1” ahora lo haremos escribiendo “192.168.2.1” PEEEROOOO, tenemos que configurar la IP fija de nuestro PC ya que no es capaz de llegar al segmento configurado. Para configurar la IP de nuestro PC, procederemos a hacerlo como hicimos anteriormente:
Y una vez configurado en el segmento 2, escribir en la barra de navegación del explorador “192.168.2.1” y pulsar “enter” para acceder nuevamente al menú del router. NOTA: Aquí se usan las DNS que nos proporciona la web “www.opendns.com” (aunque podemos usar cualquier otra que tengamos) ya que sin DNS no podríamos navegar “correctamente” por internet.
Escribimos la contraseña y entramos…
Configurar red Wifi Vamos a configurar la red wifi del router OpenWERT para que se conecte como un cliente más a la red wifi del router que nos proporciona salida a internet (punto de acceso o AP) y así tener acceso a internet en nuestro router OpenWERT. Para hacer esto, situamos el cursor del ratón sobre “Network” y en el menú desplegable hacemos click en “Wifi”.
Accedemos a la pantalla de configuración de la interfaz wifi. Por defecto, el interface wifi está desactivado y debemos activarlo para poder hacer uso de él. En la pantalla de configuración wifi hacemos click en el botón “Edit” del SSID “OpenWERT”.
Y en esta pantalla de configuración del dispositivo, hacemos click en el botón “Enable” y esperamos aproximadamente 5 segundos
Una vez pasado este tiempo, la página habrá refrescado y donde ponía “Wireless network is disabled” ahora debe poner “Wireless network is enabled”. Esto significa que el dispositivo wifi está encendido y ya podemos hacer uso de él. Hacemos click en el botón “Save & Apply” ubicado al final de la página y esperamos unos 10 segundos hasta que el router termine su configuración. Una vez activado el wifi, volvemos a hacer click en “Wifi” del menú desplegable que aparece al ubicar el cursor sobre “Network” para acceder a la página de configuración del interface wifi.
En dicha página, hacemos click en e botón “Scan”. Nos aparece un listado de conexiones wifi a los que el interface sería capaz de conectarse. En el listado buscaremos la red wifi a la que queremos conectarnos y hacemos click en el botón “Join Network”. En la siguiente página, en WPA passphrase escribimos la contraseña de la red wifi a la que nos queremos conectar y hacemos click en el botón “Submit” ubicado al final de la página.
En la página que se nos muestra a continuación debemos escribir el nombre de la red wifi a la que nos estamos conectando en el valor “ESSID” ubicado en el apartado “Interface Configuration”.
Una vez escrito, hacer click en el botón “Save & Apply” y esperar unos 7 segundos mientras el router cambia la configuración que hemos hecho. Para saber si todo está correcto y estamos conectados por wifi al router que nos dá acceso a internet, en el apartado “Device Configuration” debe aparecer el icono de potencia de señal en azul y el porcentaje de señal que tenemos.
Si todo está correcto, ya tenemos nuestro router OpenWERT conectado por wifi al punto de acceso que nos proporciona internet. Para verificarlo podemos abrir una nueva pestaña en el navegador y acceder a cualquier página web como lo pueda ser “www.google.es“. Si carga la página todo está correcto.
Configuración del Firewall Las interfaces de nuestro router OpenWERT están ya configuradas y al tener dos conexiones (Lan y Wifi), tenemos dos IP‟s para poder acceder al menú de configuración de OpenWERT. Si hemos seguido el manual, para acceder al menú de configuración por Lan, escribimos en el navegador “192.168.2.1” pero también podemos acceder (de forma local)
escribiendo la IP que tiene el interface Wifi. Para saber que IP tenemos en la inerface Wifi, ubicamos el cursor sobre “Network” y hacemos click en “Interfaces”.
En la página “Interfaces” se nos muestra las dos conexiones que tenemos configuradas y datos de las mismas. La IP de cada interface se muestra a la derecha de la etiqueta “IPv4:”
En la imagen se aprecian las dos inerfaces que tenemos configuradas. La interface wifi se llama “WWAN” y la IP que tenemos es “192.168.1.36/24″. Obviamos el “/24″ y tenemos la IP de la conexión wifi “192.168.1.36”. Para comprobrarlo podemos escribir en la barra de navegación de nuestro navegador web “192.168.1.36” y pulsar “enter”. Si aparece la página de Login de OpenWERT significa que ya sabemos la IP que tenemos en la conexión Wifi. Todo esto se ha hecho porque, imaginemos que estamos con nuestro movil conectado al mismo router que nuestro router OpenWERT y queremos acceder a él. Abrimos nuestro navegador en el movil y en la barra de navegación escribimos la IP de la interfaz wifi, en este caso, “192.168.1.36” y navegamos. Debería aparecer la página de login del router OpenWERT (igual que pasaba desde el PC que está conectado por Lan) pero no carga, no llegamos. ¿Porqué? Desde el PC conectado por Lan llegamos porque el router OpenWERT tiene configurada todas las rutas para poder llegar desde la IP “192.168.2.X” a la IP “192.168.1.36” pero el movil no es capaz de llegar a la IP “192.168.1.36” aun estando
en el mismo segmento por culpa de la configuración del FireWall del router OpenWERT. Ubicamos el cursor sobre “Network” y hacemos click en “Firewall” del menú desplegable.
En la siguiente pantalla, modificamos la zona de “WAN” u bicada al final de la página y lo ponemos como en la siguiente imagen:
Una vez hecha la modificación, hacemos click en el botón “Save & Apply” ubicado al final de la página y esperamos unos 5 segundos a que se guarden los cambios. Con esto, volvemos con nuestro movil a navegar a la dirección “192.168.1.36” y ya tendremos acceso al router OpenWert desde cualquier dispositivo que se conecte al router que ofrece internet.
Añadir un Pendrive USB Los routers por lo general tienen un espacio libre muy limitado para poder instalar aplicaciones. Podemos verlo ubicando el cursor sobre “System” y haciendo click en “Software” desde el menú desplegable.
En la pantalla que aparece podemos ver el espacio libre que tenemos en nuestro router OpenWERT.
En este caso podemos ver que tenemos libres 9.65MB, poco espacio para instalar aplicaciones. Para solventar esto, aprovecharemos el puerto USB del router OpenWERT para conectarle una memoria USB, expandir el espacio libre y ya de paso, añadir una partición Swap para que mejore un poco el rendimiento del sistema. Aquí se ha utilizado una memoria USB de 4GB a la que se han creado dos particiones, una particion Ext4 de 3GB y otra de Swap (intercambio) de 1GB. No voy a entrar en como realizar esto ya que conectar la memoria USB no es obligatorio pero SI MUY RECOMENDABLE. Ahora que te estarás acordando de mí por no decribir el proceso, decir como referencia que hay muchos métodos para realizarlo como puedan ser: Desde Linux usando Gparted (puedes bajarte una distro de Ubuntu por ejemplo y ejecutarlo en modo Live) Desde Windows usando un software como Partition Wizard de MiniTool (“http://descargar.cnet.com/MiniTool-Partition-Wizard-Home-Edition/3000-2094_410962200.html“) Una vez tenemos la memoria USB particionada, vamos a ver como instalarlo para ampliar la memoria libre y una partición Swap. Comenzamos apagando el router OpenWERT, conectamos la memoria USB y volvemos a encenderlo. Esperamos a que termine de iniciar el router (minuto y medio
aproximadamente) y nos logueamos. Ubicar el cursor sobre “System” y hacer click en “Software”.
En la siguiente pantalla hacemos click sobre el apartado “Configuration” y en el cuadro de texto que aparece cambiamos la línea: “src/gz barrier_breaker http://downloads.openwrt.org/snapshots/trunk/brcm63xx/packages“ por esta: “src/gz barrier_breaker http://downloads.openwrt.org/barrier_breaker/14.07rc3/brcm63xx/generic/packages/“
Se realiza este cambio para tener una dirección con aplicaciones actualizadas. Para instalar aplicaciones necesitamos tener una web u otra fuente de donde obtenerlas. Se pueden buscar y poner otras direcciones web pero se usa esta por ser la más indicada en el momento de la realización de este manual. En este punto se añade una nueva herramienta a usar llamada “Putty” (no te rias, ya somos mayorcitos) (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe) que nos servirá para conectarnos al router por SSH y acceder a la consola del sistema para poder hacer y deshacer mediante comandos (mucho cuidado con esto ya que podemos fastidiar todo lo realizado y tendríamos que empezar de nuevo). Ejecutamos “Putty”, ponemos la dirección IP que vamos a usar para conectarnos por SSH al router OpenWERT (Recordatorio: según vimos anteriormente, el router tenía dos IP‟s, una por cada interface y cualquiera nos sirve para realizar la conexión) en el apartado “Host Name (or IP Address)” y hacemos click en “Open”.
Puede que al estar conectando nos aparezca una ventana de advertencia. Hacemos click en “Yes” y seguimos. Aparece una pantalla de comandos que lo primero que nos pide es que hagamos login. Cuando aparece “login as:” escribimos el usuario que es “root” y pulsamos “enter”. Ahora nos pide una contraseña en “
[email protected]„s password:”, escribimos la contraseña que usamos para hacer login en OpenWERT. Al escribir no se muestra nada por motivos de seguridad. Una vez escrito, pulsamos “enter” y ya estaremos dentro de OpenWERT en modo consola (Linux puro y duro).
Comenzamos a instalar y configurar las particiones (Ext4 + Swap) de la memoria USB. Comenzamos con la partición Swap o de intercambio. En la consola de la conexión SSH de Putty, ejecutamos los siguientes comandos: opkg update -> Manda a actualizar el listado de paquetes (aplicaciones) disponibles. opkg install block-mount -> Instala la utilidad “block - mount” opkg install fdisk -> Instala la utilidad “fdisk” opkg install swap-utils -> Instala la utilidad “swap-utils”
Con esta secuencia instalamos las herramientas que necesitamos para poder preparar las particiones. Ahora necesitamos saber que ruta tiene definida cada partición para saber cual montar como Swap y cual como espacio libre y para saber esto, ejecutamos el siguiente comando en consola: fdisk -l
Nos mostrará algo parecido a esto:
Debemos fijarnos en las últimas líneas donde se puede ver claramente que la partición Swap “Linux swap / Solaris” es “/dev/sda1″ y la partición Ext4 “Linux” es “/dev/sda2″. Lo tendremos en cuenta a continuación. Ejecutamos lo siguiente en consola: mkswap /dev/sda1 -> Vimos que “/dev/sda1″ es la partición Swap swapon /dev/sda1 -> Activa swap sysctl -w vm.swappiness=60 -> Esta línea define como debe trabajar swap echo 60 > /proc/sys/vm/swappiness -> Y terminamos la configuración
Con esto ya hemos definido el swap. Vamos a por la expansión de espacio libre. Ejecutar: mkdir /mnt/sda2 -> Crea una carpeta para montar “sda2″ mount -t ext4 /dev/sda2 /mnt/sda2 -> Monta la partición en la carpeta tar -C /overlay -cvf – . | tar -C /mnt/sda2 -xf – -> Copiamos “/overlay” en “/mnt/sda2″ block detect > /etc/config/fstab -> Crea el archivo “/etc/config/fstab” vi /etc/config/fstab -> Editamos archivo “/etc/config/fstab”
Ahora estaremos editando el archivo “/etc/config/fstab” que indica como montar cada dispositivo y qué configuración utilizar. El editor que usamos es “vi” y es un poco especial la forma de manejo para editar, guardar, salir, etc… A continuación se muestra un ejemplo del archivo “/etc/config/fstab” ya configurado y probado:
Podemos ver tres bloques (“config global”, “config swap” y “config mount”). Tu archivo debe quedar igual que este, teniendo en cuenta qué es “sda1″ y “sda2″ (en este caso “sda1″ es para swap y “sda2″ para espacio libre) y el valor de cada “uuid”, que debes dejar el que te aparece y no el que se vé en la imagen. Uso de “vi”: Para escribir, primero pulsa la tecla “i” para activar la edición Cuando terminemos de editar, pulsar “Esc” Para eliminar una línea pulsar dos veces la tecla “d” Para guardar el archivo pulsar “:w” y luego “enter” Para salir de vi, pulsar la combinación de teclas “Ctrl + z” Una vez hecha toda esta configuración y estando ya en la consola, escribir “reboot” y pulsar “enter”. El router se reiniciará. Esperamos a que inicie y nos metemos en el router con el navegador web por la dirección “192.168.2.1”, situamos el cursor sobre “System” y hacer click en “Software”. Ahora podemos ver que todo está correcto.
Ahora tenemos de espacio libre para la instalación y uso de aplicaciones 2.72GB, algo más que los 9.65MB que teníamos antes y usando la partición swap de 1GB. Esto va progresando ;-)
Configurar carpeta de red compartida. Instalación de CIFS (opcional) Este punto es opcional. Para mis propósitos, he usado un disco duro conectado por Ethernet al router que me da acceso a internet para, principalmente, guardar los datos que pueda llegar a descargar desde el cliente torrent y el cliente emule que más adelante veremos. Otra forma sería usar un HDD USB en vez de una memoria USB (sería más fácil que mediante CIFS y convertiríamos el HDD USB en un NAS) pero para gustos… colores… En este punto, vamos a montar una carpeta ubicada en otro dispositivo de la red (en mi caso un NAS) para conseguir espacio libre donde poder guardar archivos. Aquí uso CIFS aunque se podría usar otro tipo de conexión. Ejecutamos la conexión mediante “Putty” e instalamos los paquetes: Opkg update -> Actualiza la lista de aplicaciones opkg install kmod-fs-cifs -> Instala el módulo kernel de CIFS opkginstall kmod-nls-utf8 -> /////////////////////////////////////////////////////// opkginstall kmod-nls-base -> // // opkginstall kmod-crypto-hmac -> // Módulos opcionales //
opkginstall kmod-crypto-md5 -> // recomendados para instalar // opkginstall kmod-crypto-misc -> // // opkginstall cifsmount -> ////////////////////////////////////////////////////////
Realizamos la siguiente operación para montar una carpeta remota en un directorio en el arranque de nuestro router. mkdir /mnt/hddcifs -> Creamos carpeta donde montaremos la carpeta remota vi /etc/init.d/networkhdd -> Creamos y editamos el archivo para iniciar en el arranque
El contenido del archivo debe ser parecido al ejemplo siguiente. Se debe cambiar el texto en negrita #!/bin/sh /etc/rc.common # Example script # Copyright (C) 2007 OpenWrt.org START=97 STOP=15 start() { mount.cifs //192.168.1.200/Public /mnt/hddcifs -o user=user,password=password # commands to launch application } stop() { umount /mnt/hddcifs # commands to kill application } Notas: //192.168.1.200/Public -> Esta es la dirección de la carpeta en red de mi NAS que quiero montar /mnt/hddcifs -> Carpeta donde monto/desmonto la carpeta de red
user,password -> Usuario y contraseña para la conexión. Lo configuré en mi NAS Una vez tengamos hecho esto, grabamos el archivo y salimos a consola. Para que este script se pueda ejecutar en el arranque del router, le damos permisos de ejecución: chmod +x /etc/init.d/networkhdd
Y de paso, lo habilitamos y lo iniciamos: /etc/init.d/networkhdd enable /etc/init.d/networkhdd start
Con esto hemos conseguido montar una carpeta de red en una carpeta de nuestro router y que se automonte cuando encendamos el router.
Instalación cliente Torrent (opcional) Ahora vamos a instalar y configurar un cliente Torrent para que descargue el router OpenWERT y nos podamos olvidar por fin de tener un PC dedicado a esta tarea (no es lo mismo el consumo y desgaste de un PC que del router). Clientes Torrent hay varios. Aquí vamos a usar “Transmission” que nos habilitará una web para manejarlo y podremos usarlo desde cualquier dispositivo que esté conectado al router al que está conectado nuestro router OpenWERT. Abrimos “Putty”, nos conectamos y hacemos login como vimos en el paso anterior. Una vez en la consola, ejecutamos lo siguiente: opkg update -> Actualiza la lista de aplicaciones opkg install transmission-daemon -> Instala la aplicación “transmission” opkg install transmission-cli -> Instala la opción de comandos de consola opkg install transmission-web -> Instala la opción de servidor web (el que manejaremos) transmission-daemon – f -> Crea los archivos de configuración. Esperamos 1 minuto y pulsamos Ctrl+c para volver a la consola mkdir /mnt/hddcifs/torrent -> Al tener montado mi NAS, creo la carpeta “torrent” allí mkdir /mnt/hddcifs/torrent/incomplete -> junto con la carpeta “incomplete”
vi /root/.config/transmission-daemon/settings.json -> Editamos el archivo de configuración
Lo importante de este archivo de configuración sería: “download-dir”: “/mnt/hddcifs/torrent” -> Donde se guarda lo completado “incomplete-dir”: “/mnt/hddcifs/torrent/incomplete” -> Donde se guarda lo incompleto “incomplete-dir-enabled”: true” -> Habilitamos la carpeta “incomplete” Para que se inicie el cliente Torrent cuando arranca el router OpenWRT debemos crear/editar un archivo en “/etc/init.d” y darle los permisos necesarios. Ejecutar: vi /etc/init.d/transmission
Este archivo debe contener lo que se muestra a continuación: #!/bin/sh /etc/rc.common # Copyright (C) 2010-2012 OpenWrt.org START=99 LIST_SEP=”” append_params() { local p; local v; local s=”$1″; shift for p in $*; do config_get v “$s” “$p” IFS=”$LIST_SEP” for v in $v; do [ -n “$v” ] && ( echo “\””$p”\”: “$v”,” | sed -e „s|_|-|g‟ >> $co ) done unset IFS done } append_params_quotes() { local p; local v; local s=”$1″; shift for p in $*; do config_get v “$s” “$p” IFS=”$LIST_SEP” for v in $v; do [ -n “$v” ] && ( echo -n “\””$p | sed -e „s|/|\\/|g;s|_|-|g‟ >> $ echo “\”: \””$v”\”,” >> $config_file ) done unset IFS
done } section_enabled() { config_get_bool enabled “$1″ „enabled‟ 0 [ $enabled -gt 0 ] } start_instance() { local s=”$1″ local user section_enabled “$section” || return 1 config_get config_dir “$s” „config_dir‟ „/var/etc/transmission‟ config_get user “$s” „user‟ config_file=”$config_dir/settings.json” [ -d $config_dir ] || { mkdir -m 0755 - p “$config_dir” touch $config_file [ -z “$user” ] || chown -R $user $config_dir } echo “{” > $config_file append_params “$s” \ alt_speed_down alt_speed_enabled alt_speed_time_begin alt_speed_ alt_speed_time_enabled alt_speed_time_end alt_speed_up blocklist cache_size_mb download_queue_enabled download_queue_size \ dht_enabled encryption idle_seeding_limit idle_seeding_limit_ena incomplete_dir_enabled lazy_bitfield_enabled lpd_enabled message peer_limit_global peer_limit_per_torrent peer_port \ peer_port_random_high peer_port_random_low peer_port_random_on_s pex_enabled port_forwarding_enabled preallocation prefetch_enabl ratio_limit ratio_limit_enabled rename_partial_files rpc_authent rpc_enabled rpc_port rpc_whitelist_enabled queue_stalled_enabled queue_stalled_minutes scrape_paused_torrents_enabled script_torr seed_queue_enabled seed_queue_size \ speed_limit_down speed_limit_down_enabled speed_limit_up \ speed_limit_up_enabled start_added_torrents trash_original_torre umask upload_slots_per_torrent utp_enabled scrape_paused_torrent watch_dir_enabled append_params_quotes “$s” \ blocklist_url bind_address_ipv4 bind_address_ipv6 download_dir i peer_congestion_algorithm peer_socket_tos rpc_bind_address rpc_p rpc_username rpc_whitelist script_torrent_done_filename watch_di echo “\””invalid-key”\”: false” >> $config_file echo “}” >> $config_file
SERVICE_UID=”$user” \ service_start /usr/bin/transmission-daemon -g $config_dir } stop_instance() { local s=”$1″ local user section_enabled “$section” || return 1 config_get user “$s” „user‟ SERVICE_UID=”$user” \ service_stop /usr/bin/transmission-daemon } start() { config_load „transmission‟ config_foreach start_instance „transmission‟ } stop() { config_load „transmission‟ config_foreach stop_instance „transmission‟ } Una vez tengamos todo esto escrito en el archivo “/etc/init.d/transmission”, guardamos y ejecutamos lo siguiente para que se ejecute en cada arranque del router OpenWRT: chmod +x /etc/init.d/transmission /etc/init.d/transmission enable /etc/init.d/transmission start
Realizado todo esto solo nos queda comprobar que “Transmission” está corriendo y comprobar que todo está bien. Para hacer esto, abrimos nuestro navegador WEB y en la barra de dirección escribimos IP del router OpenWRT (bien sea la IP por Wifi o bien IP por Ethernet) y el puerto por defecto 9091. Lo mío sería algo así en la barra de dirección -> “http://192.168.1.33:9091” Debe aparecer algo así:
Con esto ya tenemos corriendo y configurado un cliente torrent para nuestro router OpenWRT y ya no necesitamos más un PC encendido (cuyo gasto energético es superior al del router).
Instalación cliente eMule (opcional) Ahora vamos a instalar y configurar un cliente eMule para que descargue el router OpenWERT y nos podamos olvidar por fin de tener un PC dedicado a esta tarea (no es lo mismo el consumo y desgaste de un PC que del router). Clientes eMule hay varios. Aquí vamos a usar “amule” que nos habilitará una web para manejarlo y podremos usarlo desde cualquier dispositivo que esté conectado al router al que está conectado nuestro router OpenWERT. Abrimos “Putty”, nos conectamos y hacemos login como vimos en el paso anterior. Una vez en la consola, ejecutamos lo siguiente: opkg update -> Actualiza la lista de aplicaciones opkg install amule -> Instala la aplicación amule mkdir /mnt/hddcifs/emule -> Al tener montado mi NAS, creo la carpeta “emule” mkdir /mnt/hddcifs/emule/incomplete -> y la carpeta “incomplete”
Una vez instalado ejecutamos lo siguiente para que nos cree los archivos de configuración: amuled
Nos aparecerán unos textos en la pantalla y volveremos a consola. Ejecutar el comando: amuled – ecc-config
Nos pide una contraseña (“Enter password for mule connection:”). Ponemos la que queramos, pulsamos “enter” y pulsamos Ctrl+c para volver a la consola.
Ahora editamos el archivo de configuración de “amule”: vi /root/.aMule/amule.conf
De todas las opciones, las que nos interesan son las siguientes: MaxUpload=15 -> Velocidad máxima de subida MaxDownload=300 -> Velocidad máxima de descarga SlotAllocation=4 -> Número de slots de subida Port=4121 -> Puerto TCP para las conexiones UDPPort=4125 -> Puerto UDP para las conexiones TempDir=/mnt/hddcifs/emule/incomplete -> Carpeta dónde irán a parar los temporales IncomingDir=/mnt/hddcifs/emule -> Carpeta dónde se moverán los ficheros terminados
Dentro de [ExternalConnect] AcceptExternalConnections=1 -> Acepta conexiones desde IP‟s distintas del router Dentro de [WebServer] Enabled=1 -> Habilitamos el servidor WEB Password= -> Lo mismo que en “ECPassword=” (8 líneas más arriba) Template=chicane -> Plantilla del servidor web En el caso hipotético de que “ECPassword=” esté vacío y no tengamos nada en contraseña, ejecutamos lo siguiente para que nos dé la contraseña encriptada y podamos rellenar “ECPassword=” y “Password=”: echo -n xxxx | md5sum | cut -d „ „ -f 1 -> Donde “xxxx” es la contraseña que queramos usar
Un ejemplo sería el siguiente: echo -n amule | md5sum | cut -d „ „ -f 1
ef7628c92bff39c0b3532d36a617cf09 -> Esta línea es la contraseña encriptada para “amule” Ya está todo configurado, ejecutamos lo siguiente para arrancar “amule” amuled – f
Realizado todo esto solo nos queda comprobar que “amule” está corriendo y comprobar que todo está bien. Para hacer esto, abrimos nuestro navegador WEB y en la barra de dirección escribimos IP del router OpenWRT (bien sea la IP por Wifi o bien IP por Ethernet) y el puerto por defecto 4711. Lo mío sería algo así en la barra de dirección -> “http://192.168.1.33:4711” Debe aparecer algo así:
Y tras ingresar la contraseña que pusimos anterior mente y hacer login nos debe aparecer esto:
Para que se inicie el cliente eMule cuando arranca el router OpenWRT debemos crear/editar un archivo en “/etc/init.d” y darle los permisos necesarios. Ejecutar: vi /etc/init.d/amule
Este archivo debe contener lo que se muestra a continuación: #!/bin/sh # Copyright (C) 2006 OpenWrt.org START=98 start() { set backup=$HOME export HOME=/root/
/etc/rc.common
amuled -f & amuleweb – config-file=/root/.aMule/remote.conf – quiet & export HOME=$backup } stop() { killall -9 amuleweb killall -9 amuled } Una vez tengamos todo esto escrito en el archivo “/etc/init.d/amule”, guardamos y ejecutamos lo siguiente para que se ejecute en cada arranque del router OpenWRT: chmod +x /etc/init.d/amule /etc/init.d/amule enable /etc/init.d/amule start
Con esto ya tenemos corriendo y configurado un cliente torrent para nuestro router OpenWRT y ya no necesitamos más un PC encendido (ahorro energético). Espero que esta guía OpenWRT sobre un router Comtrend AR-5387un le pueda servir, ayudar o interesar a alguien tal y como fué mi caso y decir que poco a poco se irá ampliando ya que este mundo está en plena expansión, hemos partido de un Firmware precompilado y se vuelve más interesante cuando somos nosotros quienes compilamos el Firmware. Un saludo!!!