Вы находитесь на странице: 1из 34

OpenWRT en Huawei 553: LuCi Samba FTP MLDonkey Transmission Wifi rtorrent, etc.

: 08-06-2011, 13:46 (Mircoles) Para poder instalar OpenWRT necesitaremos PuTTY (si usamos windows) y descargar el firmware de la rama 'trunk' (las ltimas versiones 'estables' an no dan soporte para ester router). Desde aqu http://downloads.openwrt.org/snapshots/trunk/brcm63xx bajamos el fichero openwrt-HW553-squashfs-cfe.bin Ahora para poder actulizar con el nuevo firmware, deberemos entrar en el modo 'rescate' del router: lo apagamos, pinchamos el botn de reset y encendemos el router manteniendo pulsado el botn durante 30 segundos. Configuramos la ip de nuestra tarjeta de red dentro del rango 192.168.1.x (podemos usar la 192.168.1.2 en adelante) con mscara de red 255.255.0.0 (no es necesario configurar puerta de enlace ni nada ms). Abrimos nuestro navegador y tecleamos la ip 192.168.1.1

Aqu cargaremos el firmware recin descargado. Damos a update y tras unos minutos, veremos como el router se reinicia (nicamente veremos iluminado el led de power).

Ya tenemos operativo OpenWrt

Instalacin de LuCi
Las versiones del 'trunk' no incorporan interfaz web, as que ser lo primero que instalemos. A partir de ahora y con el fin de actualizar los paquetes, deberemos contar con conexin a internet. Conectamos un puerto LAN del HG553 al router adsl/cable que nos 'de' internet (lgicamente nuestro PC deber seguir conectado tambin). Configuramos PuTTY para una sesin de telnet a la ip 192.168.1.1 (puerto 23) y conectamos. Si os fijis, nos avisa de que hay que cambiar el password del usuario root. Lo hacemos Cdigo:
passwd

Nos pedir el nuevo password, confirmacin del mismo y listos. Ya podemos cerrar la sesin telnet. Ahora deberemos configurar PuTTY para una sesin de ssh a la ip 192.168.1.1 (puerto 22). Conectamos. Lo primero ser editar el fichero network. As que ... Citar vi /etc/config/network Debemos editar el apartado de la lan A modo de ejemplo os pongo mi configuracin: Citar

config interface lan option type bridge option ifname eth1 option proto static option ipaddr 10.0.0.94 option netmask 255.0.0.0 option gateway 10.0.0.1 option dns 8.8.8.8 Debes cambiar las opciones marcadas en negrita adecundolas a las de vuestra red. Reiniciamos el router: Cdigo:
reboot

Ahora debemos adecuar los parametros de nuestra tarjeta de red, de acuerdo a nuestra configuracin habitual. En mi caso y tomado el ejemplo anterior como gua, mi pc quedara con la ip 10.0.0.2, subred 255.0.0.0, puerta de enlace predeterminada 10.0.0.1 (mi router adsl) y dns principal 8.8.8.8 Volvemos a lanzar una sesin de PuTTY, pero teniendo en cuenta que ahora deberemos configurarlo para conectarse con la ipaddr (direccin ip asignada al HG553) que pusimos en el fichero network. En mi caso 10.0.0.94 (protocolo ssh y puerto 22). Para comprobar que todo funcione bien, podemos lanzar un ping a google Cdigo:
ping www.google.com

Si la respuesta es correcta, seguimos adelante. De lo contrario algn parmetro habr quedado mal configurado (toca repasar). Podemos parar el comando ping con CONTROL + C Actulizamos la lista de paquetes disponibles Cdigo:
opkg update

Y ahora procedemos a instalar LuCI y todos los paquetes necesarios para su funcionamiento Cdigo:
opkg opkg opkg opkg opkg install install install install install luci-mod-admin-full luci-lib-fastindex luci-theme-base luci-theme-openwrt uhttpd

Habilitados el 'demonio' del servidor web

Cdigo:
/etc/init.d/uhttpd enable

Y ahora lo iniciamos Cdigo:


/etc/init.d/uhttpd reload

Ya tenemos OpenWRT instalado con LuCI, su interfaz web

Wifi.
El driver incluido en el firm, es open source (aunque se podra instalar el propietario de broadcom). Para tener un modo 'cliente transparente' deberemos configurarlo usando el mtodo Pseudobridge (Routed Client with relayd): http://wiki.openwrt.org/doc/recipes/relayclient Lo primero ser instalar el paquete relayd as que: Cdigo:
opkg update opkg install relayd

Lo habilitamos para que se ejecute al inicio Cdigo:


/etc/init.d/relayd enable

Paramos el firewall Cdigo:


/etc/init.d/firewall stop

Y ahora lo desactivamos para que no se inicie automticamente Cdigo:


/etc/init.d/firewall disable

Configuramos el sistema (timezone) de acuerdo a nuestra zona horaria. Desde LuCi: Network / Wifi Advanced setting configuramos el country code a Espaa. despus de esto podremos usar los canales 12 y 13. Debemos editar el fichero wireles: Cdigo:
vi /etc/config/wireless

Citar config 'wifi-device' 'radio0' option 'type' 'mac80211' option 'macaddr' '00:24:d2:15:1c:cd'

option 'hwmode' '11g' option 'disabled' '0' Cambiamos la opcin de 'disabled' de 1 a 0. Con esto, acabamos de activar el wifi del router. Editamos el fichero network Cdigo:
vi /etc/config/network

Aadimos un nuevo interface llamado wwan con protocholo dhcp Quedndonos as: Citar config 'interface' 'wwan' option 'proto' 'dhcp' Ahora aadimos otro, este, tendr el nombre stabridge: Citar config 'interface' 'stabridge' option 'proto' 'relay' option 'network' 'lan wwan' Como veis, este nuevo interface es el que usa el paquete relayd que instalamos previamente. Ahora toca editar el fichero de configuracin wireless Cdigo:
vi /etc/config/wireless

Ms o menos as: Citar config 'wifi-device' 'radio0' option 'type' 'mac80211' option 'macaddr' '00:24:d2:15:1c:cd' option 'hwmode' '11g' option 'disabled' '0' option 'txpower' '20' option 'country' 'ES' option 'channel' '13' option 'distance' '12' config 'wifi-iface' option 'device' 'radio0' option 'network' 'wwan' option 'mode' 'sta'

option 'ssid' 'ssid_de_la_red_a_conectar' option 'encryption' 'psk' option 'key' 'pass_de_la_conexion' Lgicamente, debemos sustituir '13', 'ssid_de_la_red_a_conectar' y 'pass_de_la_conexion' por los datos oportunos. Yo tengo configurada mi red en wpa-psk, si no es vuestro caso, deberis cambiarlo tambin. Ahora hay que desactivar el dhcp: Cdigo:
vi /etc/config/dhcp

Citar config dhcp lan option interface lan option start 100 option limit 150 option leasetime 12h option ignore 1 Option ignore debe estar en 1 (desactivado) Ahora reiniciamos el servicio dhcp Cdigo:
/etc/init.d/dchp restart

reconfiguramos el interfaz wifi Cdigo:


wifi down; wifi

Para terminar, debemos volver a editar el fichero network. Cdigo:


vi /etc/config/network

De nuevo, pongo el mo de ejemplo Citar 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 ifname eth1 option proto static

option ipaddr 10.0.1.94 option netmask 255.0.0.0 option gateway 10.0.0.1 option dns 8.8.8.8 config interface wan option ifname eth0 option proto dhcp config 'interface' 'wwan' option 'proto' 'dhcp' config 'interface' 'stabridge' option 'proto' 'relay' option 'network' 'lan wwan' option 'ipaddr' '10.0.0.94' En el interface lan, la opcin ipaddr es la importante. Deber estar en una subred distinta a la que tenis actualmente. En mi caso ha pasado de ser 10.0.0.94 a 10.0.1.94 Y en el inteface stabridge, opcin ipaddr podremos la que tenamos hasta ahora (10.0.0.94 para m). Esto en principio os puede resultar algo lioso (aunque en realidad no lo es si entendemos que hay una redireccin de trfico entre dos interfaces), pero es la forma de poder acceder desde 'detrs' del Huawei a la red principial y viceversa. Rebotamos, esperamos unos minutos y todo debera funcionar. Si nos hemos equivocado en algo y no podemos acceder al router, probamos con la ip que asignamos en la interface lan (es posible que tambin tengamos que cambiar la ip de nuestra tarjeta de red).

Samba
Instalamos samba, el servidor de impresin y varios paquetes necesarios para el soporte de dispositivos usb Cdigo:
opkg install luci-app-samba opkg install luci-app-p910nd opkg install kmod-usb-printer opkg install kmod-usb2 opkg install kmod-usb-core opkg install kmod-usb-ohci opkg install usbutils opkg install kmod-usb-storage e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 opkg install ntfs-3g kmod-fs-ext4

Los dos ltimos paquetes son para el soporte de ficheros ntfs y ext3/ext4. Deberis escoger uno o ambos dependiendo del formato del disco duro/pendrive que conectis al router.

Despus de la instalacin, rebotamos. Cdigo:


reboot

Ahora vamos a empezar a crear la estructura de directorios para compartir/descargar. En mi caso, el disco tienes 2 particiones, una en formato ntfs (con unas copias de seguridad), a la cual llamar /130 gigas, y otra en formato ext2 a la que le pondr el nombre de 35 gigas Creamos los directorios para el montaje Cdigo:
mkdir /mnt/130gigas mkdir /mnt/35gigas

Editamos el fichero rc.local y aadimos las ordenes de montaje de las particiones (para que se monten al inico del sistema) Cdigo:
vi /etc/rc.local

Quedara as Citar # Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. ntfs-3g /dev/sda1 /mnt/130gigas -o rw,sync mount -t ext2 /dev/sda2 /mnt/35gigas -o rw,sync exit 0 Aadimos samba al inicio Cdigo:
/etc/init.d/samba enable

Iniciamos samba Cdigo:


/etc/init.d/samba start

Aadimos un usuario al sistema (necesario para compartir archivos) Cdigo:


vi /etc/passwd

Citar root:PcJ8cToKAkeCk:0:0:root:/root:/bin/ash network:*:101:101:network:/var:/bin/false nobody:*:65534:65534:nobody:/var:/bin/false

daemon:*:65534:65534:daemon:/var:/bin/false jar:*:1000:65534:jar:/mnt/130gigas:/bin/ash Os pongo el contenido de mi fichero de ejemplo. La ltima lnea, es la que debis aadir/editar, sustituyendo mi usuario (jar) por el vuestro, y la ruta del directorio del usuario (/mnt/130gigas) por la vuestra. Ponemos password al usuario Cdigo:
passwd jar

Aadimos el password de samba para el usuario Cdigo:


smbpasswd -a jar el_password_que_querais

Ahora debemos editar la configuracin de las carpetas/directorios compartidos Cdigo:


vi /etc/config/samba

Mi fichero de ejemplo Citar config 'samba' option 'homes' '1' option 'name' 'Huawei' option 'description' 'Huawei' option 'workgroup' 'GRUPO_TRABAJO' config 'sambashare' option 'name' '130gigas' option 'path' '/mnt/130gigas' option 'read_only' 'no' option 'writeable' 'yes' option 'create_mask' '0777' option 'dir_mask' '0777' option 'guest_ok' 'no' option 'users' 'jar' config 'sambashare' option 'name' '35gigas' option 'path' '/mnt/35gigas' option 'read_only' 'no' option 'writeable' 'yes' option 'create_mask' '0777' option 'dir_mask' '0777' option 'guest_ok' 'no' option 'users' 'jar'

Comento: option 'name' 'Huawei' (este es el nombre de equipo que veremos en nuestra red) option 'description' 'Huawei' (una descripcin del equipo) option 'workgroup' 'GRUPO_TRABAJO' (el grupo de trabajo de vuestra red) Como se puede ver, yo comparto dos directorios/carpetas. En ambos los permisos son de lectura/escritura y slo tiene acceso el usuario 'jar' Rebotamos la mquina. Cdigo:
reboot

Accedemos a nuestra red, a ver si todo est bien y vemos el router. De ser as, al intentar entrar a los nuevos recursos compartidos se nos pedir usuario (el usuario de sistema que creamos) y contrasea (la que pusimos con el comando 'smbpasswd jar el_password_que_querais')

Transmission
Para tener el ciente torrent transmission debemos instalar 3 paquetes Cdigo:
opkg install transmission-daemon transmission-web transmission-remote

Acordaros previamente de actualizar la lista de paquetes Cdigo:


opkg update

Lo primero, ser aadir transmission para que se ejecute automticamente cada vez que se inicie el sistema (esto es opcional, lgicamente) Cdigo:
/etc/init.d/transmission enable

Antes de iniciarlo por primera vez, vamos a editar el fichero de configuracin de acuerdo a nuestras necesidades y a crear una carpeta para los ficheros de condiguracin temporales de la sesin Cdigo:
mkdir /etc/config/trans vi /etc/config/transmission

Pongo el mo de ejemplo y comento despus los parmetros ms importantes Citar config transmission option enabled 1 option config_dir '/etc/config/trans'

option run_daemon_as_user root option alt_speed_down 50 option alt_speed_enabled false option alt_speed_time_begin 540 option alt_speed_time_day 127 option alt_speed_time_enabled false option alt_speed_time_end 1020 option alt_speed_up 50 option bind_address_ipv4 '0.0.0.0' option bind_address_ipv6 '::' option blocklist_enabled false option blocklist_url '' option cache_size_mb 2 option dht_enabled true option download_dir '/mnt/35gigas/torrents/incoming' option download_queue_enabled true option download_queue_size 4 option encryption 1 option idle_seeding_limit 30 option idle_seeding_limit_enabled false option incomplete_dir '/mnt/35gigas/torrents/temp' option incomplete_dir_enabled true option lazy_bitfield_enabled true option lpd_enabled false option message_level 1 option open_file_limit 32 option peer_congestion_algorithm '' option peer_limit_global 200 option peer_limit_per_torrent 50 option peer_port 51413 option peer_port_random_high 65535 option peer_port_random_low 49152 option peer_port_random_on_start false option peer_socket_tos 0 option pex_enabled true option port_forwarding_enabled true option preallocation 1 option prefetch_enabled 1 option queue_stalled_enabled true option queue_stalled_minutes 30 option ratio_limit 1.2 option ratio_limit_enabled true option rename_partial_files true option rpc_authentication_required false option rpc_bind_address '0.0.0.0' option rpc_enabled true option rpc_password 'el_password_del_interfaz_web' option rpc_port 9091 option rpc_url '/transmission/' option rpc_username 'jar'

option rpc_whitelist '127.0.0.1,10.0.0.*' option rpc_whitelist_enabled true option scrape_paused_torrents_enabled true option script_torrent_done_enabled false option script_torrent_done_filename '' option seed_queue_enabled false option seed_queue_size 10 option speed_limit_down 100 option speed_limit_down_enabled false option speed_limit_up 120 option speed_limit_up_enabled true option start_added_torrents true option trash_original_torrent_files false option umask 18 option upload_slots_per_torrent 14 option utp_enabled true option scrape_paused_torrents true option watch_dir_enabled false option watch_dir '' option config_dir '/etc/config/trans' (directorio para los ficheros temporales de configuracin y dnde se almaceran los archivos .torrent que estamos descargando) option enabled 1 (deberis modificar el 0 por un 1) option download_dir '/mnt/35gigas/torrents/incoming' (directorio dnde se movern los torrents terminados) option download_queue_enabled true (este parmetro debe estar en true, de lo contrario los ficheros finalizados no se movern a la carpeta anterior) option incomplete_dir '/mnt/35gigas/torrents/temp' (directorio temporal) option incomplete_dir_enabled true (debe estar en true) option peer_limit_global 200 (es el nmero total de peers/clientes) option peer_limit_per_torrent 50 (nmero de peers/clientes por torrent) option peer_port 51413 (puerto que usar transmission, deber estar abierto en el router-adsl o router/neutro que os de salida a internet) option ratio_limit 1.2 (yo he puesto que al llegar al ratio 1.2 de comparticin, los torrents se detengan) option ratio_limit_enabled true (para que la opcin anterior sea efectiva esta, debe estar en true) option rpc_enabled true (debe estar en true) option rpc_password 'el_password_del_interfaz_web' (este ser el password que se nos solicitar cuando nos conectemos mediante el webui) option rpc_port 9091 (el puerto por el cual accederemos al webui) option rpc_username 'jar' (el usuario del webui) option rpc_whitelist '127.0.0.1,10.0.0.*' (aqu limitaremos el rango de ips que se podrn conectar al webui, yo he puesto el rango de mi red 10.0.0.*) option rpc_whitelist_enabled true (debe estar en true para que el parmetro anterior sea efectivo) option speed_limit_down 100 (lmite de velocidad de descarga) option speed_limit_down_enabled false (como no quiero limitar la velocidad de bajada, pongo la opcin en false) option speed_limit_up 120 (lmite de subida) option speed_limit_up_enabled true (como quiero limitar la subida, para no saturar la

lnea, pongo la opcin en true) Una vez modificado, iniciamos transmission Cdigo:
/etc/init.d/transmission start

Para conectarnos al webui, abrimos en el navegador la direccin de nuestro router aadiendo 9091 como parmetro, tal que as http://10.0.0.94:9091 (la ip de mi Huawei es la 10.0.0.94). Introducimos usuario y contrasea y ya podemos aadir torrents (mediante el icono de la parte superior izquierda). El webui, es algo 'sencillito'. Si queremos tener un control total sobre transmission, recomiendo instalar la siguiente aplicacin: http://code.google.com/p/transmissonremote-gui/ . Hay versiones para windows, linux y Mac.

Servidor de impresin.
Entre los paquetes que instalamos al inicio, estaba el servidor de impresin. Si lo hicimios de forma correcta, ahora desde LuCi podremos verlo y configurarlo. La ruta es LuCi/Services/p910nd - Printer Server. Marcamos enable y Bidirectional Mode. Ahora, para aadir la impresora a un equipo con WindowsXP (con win7 o Linux es muy similar): Inicio/Configuracin/Impresoras y Faxes Escogemos Agregar impresora. Nos saldr el asistente, damos a siguiente. Seleccionamos Impresora Local conectada a este equipo y desmarcamos Detectar e instalar mi impresora Plug & Play automticamente. Damos a siguiente. En esta nueva ventana seleccionamos Crear nuevo puerto y escogemos en el tipo de puerto Standar TCP/IP port. Siguiente. Otra vez siguiente. En nombre de impresora o direccion ip, ponemos la ip que hayamos asignado al router. Siguiente. En la nueva ventana, escogemos en Tipo de dispositivo Personalizado y nos aseguramos (pinchando en configuracin) que el puerto es el 9100 y que el protocolo est marcado como sin formato (win7 indicada Raw). Le damos a finalizar, y ahora escogemos (de entre la inmesa lista) nuestra impresora (marca y modelo). Por ltimo, podemos imprimir una pgina de prueba para comprobar el correcto funcionamento

Servidor FTP
Fcil. Actualizamos la lista de paquetes

Cdigo:
opkg update

Instalamos pure-ftpd Cdigo:


opkg install pure-ftpd

Lo configuramos Cdigo:
vi /etc/config/pure-ftpd

Citar config pure-ftpd option port '21' option noanonymous '1' option chrooteveryone '1' option maxclientsperip '10' option maxclientsnumber '4' option peruserlimits '3:4' option umask '133:022' option authentication 'unix' option enabled '1' Aadimos el servicio al inicio Cdigo:
/etc/init.d/pure-ftpd enable

Lo ponemos en marcha Cdigo:


/etc/init.d/pure-ftpd start

MLDonkey
MLDonkey (http://mldonkey.sourceforge.net/Main_Page) es un cliente p2p multiplataforma y multiprotocolo. Tiene un consumo de recursos muy comedido, as que va realmente bien en equipos limitados en hardware (como un router). Para que funcione en nuestro hg553 con OpenWRT, este, debe estar compilado con FPU Emulation. Los firmwares que podemos descargar del servidor de OpenWRT no estn compilados con esta opcin, as que, o bien compilamos nosotros mismos o nos bajamos alguna que s la incluya (hay varias en este hilo). Lo primero ser instalar screen (el que quiera saber ms: http://es.wikipedia.org/wiki/Screen) que lo necesitaremos ms adelante. Cdigo:
opkg update opkg install screen

Ahora nos descargamos los binarios de mldonkey compilados para nuestra plataforma desde aqu: Versin 3.1.0 Versin 3.1.3 Una vez descomprimido veremos varias carpetas: full, minimal, mormal y normal_gd, que corresponden a los diferentes protocolos soportados. Como yo nicamente lo uso para la red edonkey (que incluye kademlia), siempre uso la versin minimal (que adems es la que menos recursos consume). As pues, esa ser la carpeta que nos 'quedemos'. Dentro de ella, hay otra (mldonkeydistrib-3.1.0.CVS) que por comodidad renombraremos como mldonkey. Dentro de esta, debemos descomprimir el fichero libraries.tar.bz2. Ahora, copiamos la carpeta mldonkey al pendrive o disco duro que tengas conectado a nuestro router (podis usar winscp para hacerlo). Abrimos putty y creamos en el disco duro un script para ejecutar mldonkey (yo lo he llamado start_mlnet) Cdigo:
vi /mnt/2gigas/start_mlnet

Adecuar las rutas a vuestro caso: Cdigo:


#ruta donde tenemos mldonkey y sus ficheros de configuracin MAIN_FOLDER="/mnt/2gigas/mldonkey/" #ruta a la carpeta lib (el fichero libraries.tar.bz2 descomprimimos previamente MY_LIBRARY_PATH="/mnt/2gigas/mldonkey/lib/" LD_LIBRARY_PATH=$MY_LIBRARY_PATH:$LD_LIBRARY_PATH export LD_LIBRARY_PATH #este es el comando para ejecutarlo, en la primera parte 'apuntamos' el directorio de mldonkey #y en la segunda parte al ejecutable en s, que es mlnet export MLDONKEY_DIR="/mnt/2gigas/mldonkey/" && /mnt/2gigas/mldonkey/mlnet

Guardamos el fichero y lo hacemos ejecutable Cdigo:


chmod +x /mnt/2gigas/start_mlnet

Lanzamos screen y ejecutamos nuestro script Cdigo:


screen /mnt/2gigas/start_mlnet

Si todo va bien, veremos en pantalla algo as: Cdigo:


2012/04/12 15:29:55 2012/04/12 15:29:55 for open files 1024 2012/04/12 15:29:55 4096 2012/04/12 15:29:55 [cO] Starting MLDonkey 3.1.0.CVS ... [cO] Language EN, locale ANSI_X3.4-1968, ulimit [cO] raised ulimit for open files from 1024 to [cO] MLDonkey is working in /mnt/2gigas/mldonkey

2012/04/12 15:29:55 [cO] creating new MLDonkey base directory in /mnt/2gigas/mldonkey 2012/04/12 2012/04/12 2012/04/12 2012/04/12 2012/04/12 2012/04/12 15:29:55 15:29:55 15:29:56 15:29:56 15:29:56 15:29:56 [cO] loaded language resource file [DNS] Resolving [OpenWrt] ... [DNS] Resolving [www.mldonkey.org] ... [DNS] Resolving [mldonkey.sf.net] ... [DNS] Resolving [www.mldonkey.net] ... [DNS] Resolving [www.google.com] ...

The core therefore is unable to get eDonkey serverlists and loading .torrent files via dllink from websites is also impossible. If you are using MLDonkey in a chroot environment you should consider reading this article to get DNS support back: http://mldonkey.sourceforge.net/Chroot 2012/04/12 15:29:56 [cO] Logging in /mnt/2gigas/mldonkey/mlnet.log 2012/04/12 15:29:59 [dMain] Core started

Es posible que la primera vez que lo ejecutemos tarde algo en 'responder' (cuando vemos la ltima lnea que dice [dMain] Core started) ya que debe crear una serie de ficheros (de configuracin). Ya tenemos mldonkey en marcha, as que abrimos nuestro navegador favorito y escribimos la ip de nuestro router seguida de : y el puerto 4080 (en mi caso: http://10.0.0.240:4080). Como se puede ver por la captura de pantalla, nos avisa de un problema, y es que por defecto mldonkey viene preconfigurado para que nicamente se pueda conectar a l desde la ip de la mquina que se ejecuta

Volvemos a la ventana de putty y cerramos a las 'bravas' (con control + z) mldonkey. Debemos editar el fichero downloads.ini para aadir el rango de las ip's admitidas. Est as Cdigo:
allowed_ips = [ "127.0.0.1";]

Y lo dejaremos as (repito, adecuar los parametros a vuestra caso/rango de red) Cdigo:


allowed_ips = [ "127.0.0.1"; "10.0.0.0-10.0.0.255";]

Guardamos el fichero y volvemos a arrancar mldonkey. Por cierto, si en algn momento al ejecutarlo no vis [dMain] Core started, sino que simplemente parece que la aplicacin se cierra sin ms, mirad el fichero mlnet.log, seguro que os da alguna pista si hay algn problema Volvemos al navegador, y si todo ha ido bien, debis ver una pantalla como esta:

De acuerdo al aviso, lo primero ser poner pass al usuario admin, as que escribimos useradd admin este_es_el_password (poned el pass que os apetezca) y le damos a Input Ahora ya debera solicitarnos usuario y contrasea Vamos a configurar las cosas ms bsica desde el interfaz web. Pinchamos en Options, despus en Net y habilitamos la red kademlia. Damos a Enter para hacer efectivos los cambios.

Ahora pinchamos en Options y SysInfo. Si os fijis, en la parte inferior se os muestran los puertos que usa mldonkey. Estos son los 3 puertos que debis abrir en vuestro router para tener un funcionamiento ptimo.

Adems, en la misma pantalla os muestra mucha informacin util, como la ruta de los directorios icoming y temporal, etc. Para no tener siempre abierto putty (ya que si lo cerramos sin ms, mldonkey tambin se cerrar), y si hemos usado previamente screen, podemos recuperar y luego cerrar la sesin pulsando CONTROL + D, CONTROL + A, CONTROL + D. Si en algn momento queremos recuperar la sesion de screen escribimos desde puttty Cdigo:
screen -r

Para cerrar correctamente mldonkey, lo haremos desde el interfaz web: Botn Help+ y despues KillCore Para terminar os recomiendo instalar (en el PC dnde pensis controlar la descargas) el gui Sancho: http://sancho-gui.sourceforge.net/

Hay versiones para Linux, windows, Solaris, FreeBSD y OSX, y es bastante ms 'amigable' (se puede poner en espaol) que el interfaz web.

Quedan muchas cosas por configurar (el usuario que vern los clientes edonkey, el ancho de banda, etc.), pero eso ya os lo dejo a vosotros

rtorrent (cliente torrent) + rutorrent (webui)


De la wikipedia: rTorrent es un cliente de BitTorrent en modo texto capaz de rivalizar con otros clientes de interfaz grfica; en especial por su bajo consumo de recursos. A diferencia de transmission, rtorrent no incluye un webui. As que para poder controlar el cliente desde un navegador, deberemos instalar un servidor web (el includo con LuCi

es demasiado 'sencillo'), php y diversas utilidades. Vamos a ello. Cdigo:


opkg install rtorrent tar screen coreutils coreutils-stat wget opkg install lighttpd php5 php5-cgi lighttpd-mod-access lighttpd-modauth lighttpd-mod-cgi lighttpd-mod-scgi mini-httpd-htpasswd

Despus de unos minutos de espera, vamos a crear en nuestro disco duro o pen, los 3 directorios que necesitamos (ms adelante explico para que es cada uno) Cdigo:
mkdir /mnt/35gigas/rtorrent/ mkdir /mnt/35gigas/rtorrent/dl mkdir /mnt/35gigas/rtorrent/sesion

Y creamos el fichero de configuracin de rtorrent, que debe estar en la carpeta /root Cdigo:
cd /root vi .rtorrent.rc

Este es mi fichero, dnde he comentado algunas lneas. Cdigo:


# This is an example resource file for rTorrent. Copy to # ~/.rtorrent.rc and enable/modify the options as needed. Remember to # uncomment the options you wish to enable. # Minumum amount of peers to connect per torrent, if available. min_peers = 20 # Minumum amount of peers to connect per torrent. max_peers = 40 # Same as above but for seeding completed torrents (-1 = same as downloading) #min_peers_seed = 10 #max_peers_seed = 20 # Maximum number of simultanious uploads per torrent. max_uploads = 5 # Global download rate in KiB. "0" for unlimited. # Mxima velocidad de descarga. "0" es sin lmite download_rate = 0 # Global upload rate in KiB. "0" for unlimited. # Mxima velocidad de subida upload_rate = 150 # Default directory to save downloaded files. Note it doesn't support # space yet. # # Directorio por defecto para las descargas directory = /mnt/35gigas/rtorrent/trabajo/ # Watch a directory for new torrents, and stop those that have been deleted. #schedule = watch_directory,5,5,load_start=/opt/share/torrent/dl/*.torrent

# # Directorio dnde rtorrent ir a buscar ficheros ".torrent" # Todos los fichero que subamos a este directorio, ser descargados automticamente por rtorrent schedule = watch_directory,5,5,load_start=/mnt/35gigas/rtorrent/dl/*.torrent schedule = untied_directory,5,5,stop_untied= # Close torrents when diskspace is low. #schedule = low_diskspace,5,60,close_low_diskspace=100M # Default session directory. Make sure you don't run multiple instance # of rtorrent using the same session directory. Perhaps using a # relative path? #session = /opt/share/torrent/session # Aqu se guardarn datos de la sesin actual session = /mnt/35gigas/rtorrent/sesion # The ip address reported to the tracker. #ip = rakshasa # The ip address the listening socket and outgoing connections is # bound to. #bind = rakshasa # Port range to use for listening. # Podemos definir un rango de puertos por ejemplo 8295-8299 o un nico puerto 8299-8299 port_range = 8299-8299 # Start opening ports at a random position within the port range. port_random = no # Check hash for finished torrents. Might be usefull until the bug is # fixed that causes lack of diskspace not to be properly reported. #check_hash = no # Set whetever the client should try to connect to UDP trackers. use_udp_trackers = yes # Alternative calls to bind and ip that should handle dynamic ip's. #schedule = ip_tick,0,1800,ip=rakshasa #schedule = bind_tick,0,1800,bind=rakshasa # # Do not modify the following parameters unless you know what you're doing. # # Hash read-ahead controls how many MB to request the kernel to read # ahead. If the value is too low the disk may not be fully utilized, # while if too high the kernel might not be able to keep the read # pages in memory thus end up trashing. #hash_read_ahead = 10 # Interval between attempts to check the hash, in milliseconds. #hash_interval = 100 # Number of attempts to check the hash while using the mincore status, # before forcing. Overworked systems might need lower values to get a # decent hash checking rate.

#hash_max_tries = 10 # Max number of files to keep open simultaniously. #max_open_files = 128 # Number of sockets to simultaneously keep open. #max_open_sockets = <no default> # Example of scheduling commands: Switch between two ip's every 5 # seconds. #schedule = "ip_tick1,5,10,ip=torretta" #schedule = "ip_tick2,10,10,ip=lampedusa" # Remove a scheduled event. #schedule_remove = "ip_tick1" # Stop torrents when reaching upload ratio in percent, # when also reaching total upload in bytes, or when # reaching final upload ratio in percent. # example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0 #schedule = ratio,60,60,"stop_on_ratio=200,200M,2000" # Aqu se definen los ratios. Yo prefiero usar el plugin 'ratio' schedule = ratio,30,60,stop_on_ratio=200 # Encryption options, set to none (default) or any combination of the following: # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext # # The example value allows incoming encrypted connections, starts unencrypted # outgoing connections but retries with encryption if they fail, preferring # plaintext to RC4 encryption after the encrypted handshake # # encryption = allow_incoming,enable_retry,prefer_plaintext # Enable DHT support for trackerless torrents or when all trackers are down. # May be set to "disable" (completely disable DHT), "off" (do not start DHT), # "auto" (start and stop DHT as needed), or "on" (start DHT immediately). # The default is "off". For DHT to work, a session directory must be defined. # # Si habiltamos el soporte DHT necesitaremos un puerto abierto para l dht = on # UDP port to use for DHT. # # Aqu el puerto para el DHT dht_port = 6881 # Enable peer exchange (for torrents not marked private) # # Se usar para el intercambio de fuentes entre pares en trackers marcados como no privados

peer_exchange = yes # # Do not modify the following parameters unless you know what you're doing. # scgi_port = 127.0.0.1:5000

En el directorio raiz del router crearemos una nueva carpeta dnde se alojaran los ficheros para el servidor web. Como ya tenemos un directorio www, crearemos otro con el nombre www1 (s soy muy original Cdigo: )

cd / mkdir /www1

Nos movemos al nuevo directorio y descargamos rutorrent Cdigo:


cd /www1/ wget http://rutorrent.googlecode.com/files/rutorrent-3.4.tar.gz

Lo descomprimimos y despus, borramos el fichero comprimido. Cdigo:


tar -xvf rutorrent-3.4.tar.gz rm rutorrent-3.4.tar.gz

Ahora vamos a proteger el directorio /www1/ para que cuando se quiera acceder desde el navegador a rutorrent (o cualquier otro webui que podamos instalar) nos pida usuario y contrasea. En lugar de root (que no se refiere al usuario root del sistema) podemos poner el usuario que nos de la gana Cdigo:
cd /www1/ htpasswd -c ./.htpasswd root

Ahora toca editar el fichero de configuracin del servidor web (lighttpd) Cdigo:
vi /etc/lighttpd/lighttpd.conf

Voy a ir comentndolo por partes Cdigo:


# lighttpd configuration file # ## modules to load # all other module should only be loaded if really neccesary # - saves some time # - saves memory server.modules = ( "mod_access", "mod_scgi", # "mod_rewrite", # "mod_redirect", # "mod_alias", "mod_auth",

# # # # # # # # # )

"mod_status", "mod_setenv", "mod_fastcgi", "mod_proxy", "mod_simple_vhost", "mod_cgi", "mod_ssi", "mod_usertrack", "mod_expire", "mod_webdav"

Debemos descomentar (quitar el "#") de las lneas: server.modules = ( "mod_access", "mod_scgi", "mod_auth", "mod_cgi", ) Es el ltimo parntesis que se ve debajo de # "mod_webdav" Y las lneas se refieren a los modulos que vamos a usar con lighttpd Cdigo:
## a static document-root, for virtual-hosting take look at the ## server.virtual-* options server.document-root = "/www1/"

Aqu le indicamos el directorio en el que estarn los documentos del servidor. Cdigo:
## where to send error-messages to server.errorlog = "/var/log/lighttpd/error.log"

Y aqu dnde se crear el log de errores. Cdigo:


## bind to port (default: 80) server.port = 8010

Como el puerto 80 lo usa el servidor web de LuCi, debemos indicar un nuevo puerto para lighttpd. En mi caso el 8010 Cdigo:
#### proxy module ## read proxy.txt for more info #proxy.server = ( # ".php" => ( # "localhost" => ( # "host" => "192.168.0.101", # "port" => 80 # ) # ) #) scgi.server = ( "/RPC2" => ( "127.0.0.1" => ( "host" => "127.0.0.1",

"port" => 5000, "check-local" => "disable" ) ) )

Debajo del proxy module (que he dejado en la cita de ejemplo), debemos indicar los parametros del scgi.server, que son necesarios para la comunicacin entre rtorrent y el servidor web. Cdigo:
#### CGI module cgi.assign = ( ".php" => "/usr/bin/php-cgi" )

La ruta de php-cgi Cdigo:


auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/www1/.htpasswd" auth.require = ( "/" => ( "method" => "basic", "realm" => "Introduce Usuario y Password", "require" => "user=root" ) )

Aadimos esto al final del fichero. Es dnde definimos el directorio protegido (para el que creamos el usuario y password previamente con htpasswd) Si en lugar de root, habis usado otro usuario, debis modificarlo aqu: "user=root" Hemos terminado con el fichero lighttpd.conf, as que guardamos los cambios. Ahora toca modificar php.ini para indicar la ruta de la carpeta de nuestro servidor web Cdigo:
vi /etc/php.ini

Cdigo:
doc_root = /www1

Para que no os perdis, est a mitad del fichero en el apartado " Paths and Directories " Guardamos el fichero. Vamos a ir probando las cosas ... Desde screen, arrancamos rtorrent Cdigo:
screen rtorrent

Si todo ha ido bien, veremos una pantalla similar a esta. (si en algn momento queris cerrar rtorrent: Control + Q)

Ahora para recuperar putty, y como siempre que hayamos lanzado una aplicacin desde screen: CONTROL+D, CONTROL+A, CONTROL+D Habilitamos el nuevo servidor web para que se ejecute al inicio Cdigo:
/etc/init.d/lighttpd enable

Y lo reiniciamos para que aplique los cambios que hemos hecho (si da algn mensaje de error, es que hay algn mdulo o parmetro mal configurado) Cdigo:
/etc/init.d/lighttpd restart

Ahora abrimos nuestro navegador y escribimos http://ip:8010/rutorrent (dnde ip, es la ip del hg553) Si lo hemos hecho bien, se nos pedir usuario y contrasea, despus de introducirlo veremos algo parecido a esta captura

En el registro se nos muestran las siguientes lneas: Cdigo:


WebUI started. Webserver user can't access 'stat' program. Some functionality will be unavailable.

La primera, nos dice que el WebUI ha sido iniciado, en la segunda que no puede acceder al programa 'stat'. Vamos a arreglarlo Para evitar este aviso de error, hemos de crear un enlace simblico a stat Cdigo:
cd /www1/rutorrent ln -s /usr/bin/stat stat

Y editar el config.php de rutorrent Cdigo:


vi /www1/rutorrent/conf/config.php

Cdigo:
"php" => '/usr/bin/php-cgi', // Something like /usr/bin/php. If empty, will be found in PATH. "curl" => '', // Something like /usr/bin/curl. If empty, will be found in PATH. "gzip" => '', // Something like /usr/bin/gzip. If empty, will be found in PATH.

"id" => '', // Something like /usr/bin/id. If empty, will be found in PATH. "stat" => '/www1/rutorrent/stat', Something like /usr/bin/stat. If empty, will be found in PATH.

//

Las lneas que debemos modificar son la primera y la ltima. Hay que indicar la ruta a php-cgi y a stat respectivamente. Guardamos los cambios y recargamos la pgina del navegador. El 'aviso' de stat habr desaparecido Ahora vamos a instalar unos cuantos plugins, que nos permitirn aadir funcionalidades a rutorrent. Tenis una lista completa con una pequea descripcin aqu: http://code.google.com/p/rutorrent/wiki/Plugins Instalad slo los que necesitis, ya que cuantos ms instalemos, ms 'carga' innecesaria aadiremos al servidor web. Yo uso: ratio, diskspace y erase data Bajamos diskspace Cdigo:
cd /www1/rutorrent/plugins wget http://rutorrent.googlecode.com/files/diskspace-3.4.tar.gz

Lo descoprimimos/instalamos y despus borramos el fichero comprimido Cdigo:


tar -xvf diskspace-3.4.tar.gz rm diskspace-3.4.tar.gz

Idem con erasadata y ratio Cdigo:


wget http://rutorrent.googlecode.com/files/erasedata-3.4.tar.gz tar -xvf erasedata-3.4.tar.gz rm erasedata-3.4.tar.gz wget http://rutorrent.googlecode.com/files/ratio-3.4.tar.gz tar -xvf ratio-3.4.tar.gz rm ratio-3.4.tar.gz

Por ltimo deberemos volver a moficar el fichero config.php de rutorrent para que nos muestre de forma correcta el espacio en disco: Cdigo:
vi /www1/rutorrent/conf/config.php

Sustituimos la lnea "$topDirectory = '/';" por "$topDirectory = '/mnt/35gigas';" Despus de la instalacin de los plugins, hay que recargar la pgina del navegador. Ahora a disfrutarlo/configurarlo a vuestro gusto.

Un aviso, la versin actual disponible para openwrt NO SOPORTA enlaces magnet.

aria2 + webui-aria2
Aria2 es un programa de descarga de ficheros en lnea de comandos. Es compatible con enlaces HTTP, FTP, BitTorrent y Metalink, y puede descargar ms de un fichero a la vez usando todo el ancho de banda disponible. Fuente: Softonic La ltima versin disponible (1.15.1) es la que est en los repositorios de OpenWRT. Para instalarlo: Cdigo:
opkg update && opkg install aria2

Ahora a crear el fichero de configuracin Cdigo:


vi /etc/config/aria2.conf

Citar daemon=true enable-rpc=true rpc-listen-port=6800 rpc-listen-all=true ####### Directorio de descargas ########## dir=/mnt/35gigas/aria2 #Directorio dnde se alojar el log de aria2 log=/mnt/35gigas/aria2/aria2.log log-level=warn

dht-listen-port=6599 auto-save-interval=30 #seed ratio and seed time in minutes seed-ratio=1.0 seed-time=1460 max-upload-limit=120K event-poll=select El puerto 6599 es el que usaremos para dht. Debemos abrirlo en el router principal para que tenga salida a internet.

Listos, ya podemos ejecutar aria2, y lo haremos indicndole la ruta del fichero de configuracin Cdigo:
aria2c --conf-path /etc/config/aria2.conf

Para saber si est en marcha podis usar top o htop (si es que lo habis instalado) Ahora vamos a proceder a instalar el webui. Desde un navegador, nos vamos a la web del desarollador https://github.com/ziahamza/webui-aria2 , pinchamos en downloads y luego en download as zip. Descomprimimos el fichero, renombramos la carpeta a aria2web y lo copiamos con winscp dentro del subdirectorio /www1 Ahora, abrimos el navegador y ponemos en la direccin: http://ip:8010/aria2web (dnde ip, es la ip del hg553) Recordar, que igual que para acceder a rutorrent, nos pedir user y pass.

IMPORTANTE: A lo largo del hilo, hay diferentes compilaciones del firmware para este router. Alguna de llas ya incluyen LuCi, transmission, pure-ftp, etc. As que es recomendable, antes de ponerse a actualizar el router, leer el hilo completo, ya que luego a la hora de instalar/configurar pueden ahorrarnos mucho tiempo (y algn que otro quebradero de cabeza)
Para el que quiera ahorrarse algunos pasos, aqu tiene un par de compilaciones. 33378: http://ubuntuone.com/0b384ZfyQc0SgePdJJQlh4 SIN ADSL. Kernel 3.3.8. Driver wifi de Broadcom, transmission, cliente ntp, vpnc, crda, p910nd (servidor de impresion), soporte de sistema de ficheros ext4,fat,cifs(montar carpetas compartidas),soporte de tarjetas de sonido usb, usb, video4linux(camaras web, todos los modulos incluidos), modulo rt2800usb para adaptadores wifi con chip Ralink, soporte para tarjetas realtek

8187,fdisk, swap-utils, bash,bzip2, usbutils, y Luci con: Tema adicional Bootstrap, Gestin de puntos de montaje, Configuracin de LEDs, Gestin del servidor de impresora, Configuracin de transmission, Configuracin de dynamic ns, Configuracin de samba, Configuracin de openvpn, ushare,minidlna y los modulos para usar modems 3g r30875: SIN ADSL. Kernel http://www.mediafire.com/download.php?2h9bdylt4s9x1hv 3.0.18.Tiene FPU emulation, LuCi, driver wifi de Broadcom, transmission, p910nd (servidor de impresion), soporte de sistema de ficheros ext4, samba, pure-ftp (servidor de ftp), wol, etc. Y por cierto, para el que use las compilaciones con el driver propietario de broadcom, la configuracin del wifi que se comenta en este post, no es vlida. No hay que instalar relayd. Este driver conecta como 'cliente transparente' (en la misma subred del AP principal) sin ningn paquete adicional. Para configurarlo desde LuCi, activamos el wifi, escaneamos, nos unimos a la red, introducimos la clave, indicamos que el interface asociado es LAN y listos (previamente, deberemos haber configurado el apartado LAN, en la misma subred del router principal, y poniendo la IP del mismo, como puerta de enlace y servidor DNS)

Вам также может понравиться