Router archivos - el blog de giltesa https://giltesa.com/tag/router Sun, 06 Feb 2022 13:30:28 +0000 es hourly 1 https://wordpress.org/?v=6.3.1 79349975 Wake On Lan/Wan con ayuda de un ESP8266 https://giltesa.com/2018/12/30/wake-on-lan-wan-con-ayuda-de-un-esp8266 https://giltesa.com/2018/12/30/wake-on-lan-wan-con-ayuda-de-un-esp8266#comments Sun, 30 Dec 2018 18:17:45 +0000 https://giltesa.com/?p=19312 Como mostré con anterioridad hace 8 años, es posible encender un ordenador de forma remota mediante Wake On Lan, WoL. Sin embargo cuando queremos hacer Wake On Wan ya la cosa cambia pues para que funcione es necesario configurar los registros estáticos de la tabla ARP del router y eso no todos los routers lo […]

La entrada Wake On Lan/Wan con ayuda de un ESP8266 aparece primero en el blog de giltesa.

]]>
Como mostré con anterioridad hace 8 años, es posible encender un ordenador de forma remota mediante Wake On Lan, WoL. Sin embargo cuando queremos hacer Wake On Wan ya la cosa cambia pues para que funcione es necesario configurar los registros estáticos de la tabla ARP del router y eso no todos los routers lo permiten, generalmente hay que hacerlo por SSH mediante comandos por lo que quedan descartados todos los routers que instalan las operadoras de internet.

Pues bien, para solventar esa carencia pensé que se podría hacer con un ESP8266 y cuando vi este modelo concreto en internet no pude resistirme y lo compre:

En realidad se puede hacer con cualquier ESP8266 pero este trae USB-A por lo que se puede pinchar al USB del router (para la alimentación) sin necesidad de ningún cable. El modulo además del USB tiene un pulsador de reset y un interruptor para activar o desactivar el modo programación. Mi modulo vino con un chip flash de 1MB y aunque debería de ser suficiente luego tuve problemas al subir el código así que tuve que desoldar el modulo y poner uno de 4MB.

Conectado al PC mientras lo programaba.

El funcionamiento es el siguiente: Al ESP8266 se le graba un código que permita mostrar una página web la cual al pulsar en un botón lanza la acción de encender el ordenador que queramos, después en el router abrimos el puerto deseado para poder acceder a esa web desde fuera de casa, cosa que si permite cualquier router hasta el mas malo, y de ese modo nos saltamos la limitación ya que no estaremos haciendo un WoW si no un WoL mediante un dispositivo que se encuentra ya en la red local.

Por cuestiones de seguridad en realidad la página no es tan sencilla, aunque en sí no revierte ningún peligro si cualquier pudiera pulsar ese botón, en la practica eso es una marranada por lo que la página lo primero que te pide es un token de acceso generado desde Google Authenticator, estos tokens son autogenerados y de un solo uso, introducir cualquier otra cosa que no sea el token facilitado por la app no te permitirá acceder.

Para que se entienda mas fácilmente, nada mejor que un vídeo:

Para conseguir lo que se muestra en el vídeo hace falta seguir los siguientes pasos:

Preparar el IDE de Arduino

Lo primero de todo es preparar el IDE de Arduino para poder programar el ESP8266 como si de un Arduino se tratase. Como es imprescindible para empezar existen ya muchas guías con los pasos detallados que hay que seguir, por ejemplo la de Luis Llamas:

https://www.luisllamas.es/programar-esp8266-con-el-ide-de-arduino

Añadir complemento al IDE para poder tener dos particiones

Hay varias formas de grabar una página web dentro del ESP8266, desde formas muy cutres como meter el código dentro del propio código del sketch, hasta otras mas elegantes como crear tu propio firmware compilado, leer los ficheros desde una tarjeta SD, o como en este caso creando una partición para dividir la memoria en dos, la primera parte para el sketch y la segunda para la web:

En este instructables de SteveQuinn se explica muy bien cómo instalar el complemento, un jar, en el IDE y cómo particionar la memoria desde el IDE con las nuevas opciones que aparecerán.

https://www.instructables.com/id/Using-ESP8266-SPIFFS
(Usar este enlace para descargar el fichero esp8266fs.jar en vez del facilitado en instructables que parece que ha dejado de funcionar correctamente)

Luego desde nuestro sketch en vez de usar la clase SD para leer desde una tarjeta de memoria sera necesario usar la clase SPIFFS para leer la partición de datos que contiene los ficheros de la web. Este ejemplo de uso me gusto mucho:

https://tttapa.github.io/ESP8266/Chap11%20-%20SPIFFS.html

Solo un comentario por mi parte, al principio intente usar el modulo USB con el ESP8266 que venia y que disponía de 1MB de memoria, sin embargo por alguna razón no se grababan todos los ficheros de la web en la memoria, aun habiendo espacio de sobra… no sé si el modulo salio malo o qué pero no hubo forma. Al final le cambie el ESP8266 por uno de 4MB y aunque luego la partición de datos sigue siendo la misma ahora si se grababan todos los ficheros.

EDIT: Al final he reducido mucho el espacio de la web y el número de ficheros ya que he eliminado todas las dependencias de CSS y JS haciendo que se carguen desde un CDN… las prefería dentro del ESP8266 pero carga todo mas lento.

Con esto quiero decir que tal vez ya funcione con un ESP8266 de 1MB 🙂

Descargar mi código

He subido todo el código al siguiente repositorio de Github y si necesitase hacer alguna mejora se vera reflejada ahí:

Ver repositorio en GitHub

Grabar el código

Una vez descargado el código es necesario primero personalizar el fichero /data/config.txt con los datos de nuestro WiFi, token, y dispositivos de red a encender.

Después hay que grabar el sketch en el ESP8266 como se haría normalmente y también subir los ficheros como explica la guía de SPIFFS.

Si haces algún cambio al código: es recomendable que el código de los ficheros de la web este minificado y cada fichero individualmente comprimido en formato gz, así se cargara la web mucho más rápido, ambas cosas son opcionales ya que el código si no encuentra el fichero comprimido intentara buscar el normal.

Configurar el router

Hay que hacer las mismas configuraciones que explique en esta guía, es decir: DHCP, DDNS, y NAT. El punto de ARP es justamente el que nos estamos saltando con el ESP8266 en los routers que no se puede configurar.

En resumen hay que:

  • Configurar IP estática para cada dispositivo que queramos encender, también para el ESP8266.
  • Configurar si queremos el servicio DDNS o acceder directamente por la IP publica.
  • Abrir el puerto que queramos hacia el puerto 80 del ESP8266.

Configurar los ordenadores

Es algo obvio pero que no debemos olvidarnos… los ordenadores no se van a poder encender si previamente no hemos habilitado la opción de Wake On Lan en la bios o en el apartado correspondiente.

En el caso de los NAS de Synology se hace aquí:

Y en mi ordenador con placa base Asus se hace aquí:

Si el ordenador no dispone de dicha opción no podremos encenderlo remotamente con WoL (podríamos conectarle un Arduino a la placa base pero ese es otro tema)

 

Y eso es todo, ¡ahora podremos encender el ordenador desde la calle sin necesidad de llamar a nadie para que nos lo encienda manualmente!

PD: Quien disponga de una impresora 3D puede imprimirle una carcasa al pincho, en Thingiverse he subido los ficheros.

La entrada Wake On Lan/Wan con ayuda de un ESP8266 aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2018/12/30/wake-on-lan-wan-con-ayuda-de-un-esp8266/feed 15 19312
Desinstalar DD-WRT e instalar OpenWRT en el router TP-Link TL-WDR3600 https://giltesa.com/2014/12/10/desinstalar-dd-wrt-e-instalar-openwrt-en-el-router-tp-link-tl-wdr3600 https://giltesa.com/2014/12/10/desinstalar-dd-wrt-e-instalar-openwrt-en-el-router-tp-link-tl-wdr3600#respond Wed, 10 Dec 2014 13:30:49 +0000 https://giltesa.com/?p=15906 Cambiar de firmware en el router es bastante sencillo, ya vimos como instalar DD-WRT se hacia en un momento, desinstalarlo dejando el firmware de serie, y después instalar OpenWRT es igual de sencillo. Para ello solo hay que ir a la pantalla de Actualización, indicar que queremos que se borren los datos de configuración, seleccionamos […]

La entrada Desinstalar DD-WRT e instalar OpenWRT en el router TP-Link TL-WDR3600 aparece primero en el blog de giltesa.

]]>
Cambiar de firmware en el router es bastante sencillo, ya vimos como instalar DD-WRT se hacia en un momento, desinstalarlo dejando el firmware de serie, y después instalar OpenWRT es igual de sencillo.

Para ello solo hay que ir a la pantalla de Actualización, indicar que queremos que se borren los datos de configuración, seleccionamos después el fichero del firmware de serie (descargado de la web de DD-WRT) y le damos a actualizar. Esto dejara el router con el firm de serie, bueno, quizás no la misma versión pero si con el firm original.

Después para instalar OpenWRT hacemos lo mismo que con DD-WRT, vamos en el firmware original al menú: System tools > Firmware Upgrade, y seleccionamos el firmware de OpenWRT el fichero de factory, le damos a grabar y esperamos.

Como siempre, el vídeo que adjunta la entrada tiene todos los pasos detallados, así como el cambio de theme, instalación del idioma español, y la utilidad htop y configuración del puerto wan para que funcione internet.

Sin embargo, para desinstalar OpenWRT es algo mas complejo porque puede brickear el router, por ello es mejor pasar de OpenWRT a DD-WRT con el firmware «factory-to-ddwrt.bin», y luego ya si queremos ponemos el original o cualquier otro o nos quedamos como estamos.

 

Nota:
No publicare por el momento entradas sobre OpenWRT ya que es un firm muy completo pero que requiere de mas tiempo para hacerlo funcionar bien, sobre todo con el tema de los USB, y con la posibilidad de instalar aplicaciones y tener que configurarlas y crearles puntos de montaje para que puedan guardar datos, etc. etc. demasiado tiempo que no tengo
.

La entrada Desinstalar DD-WRT e instalar OpenWRT en el router TP-Link TL-WDR3600 aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2014/12/10/desinstalar-dd-wrt-e-instalar-openwrt-en-el-router-tp-link-tl-wdr3600/feed 0 15906
Sacar más partido al almacenamiento USB en DD-WRT https://giltesa.com/2014/12/09/sacar-mas-partido-al-almacenamiento-usb-en-dd-wrt https://giltesa.com/2014/12/09/sacar-mas-partido-al-almacenamiento-usb-en-dd-wrt#comments Tue, 09 Dec 2014 12:24:37 +0000 https://giltesa.com/?p=15896 Aparte de compartir un disco duro o memoria flash en red para poder leer y escribir en ellos desde varios equipos, también podemos hacer que el propio router use esa memoria para otras cosas. Por ejemplo podemos ampliar alguna de las particiones del router si nos quedamos sin espacio, o montar una partición de swap […]

La entrada Sacar más partido al almacenamiento USB en DD-WRT aparece primero en el blog de giltesa.

]]>
Aparte de compartir un disco duro o memoria flash en red para poder leer y escribir en ellos desde varios equipos, también podemos hacer que el propio router use esa memoria para otras cosas.

Por ejemplo podemos ampliar alguna de las particiones del router si nos quedamos sin espacio, o montar una partición de swap si se nos queda corta la RAM.

Con estas dos líneas crearíamos la carpeta jffs2 en la memoria USB y montaríamos la unidad /jffs en el directorio que acabamos de crear.

mkdir /mnt/sda1/jffs2
mount –bind /mnt/sda1/jffs2 /jffs

Con esto conseguiríamos disponer de memoria para instalar aplicaciones ya que por defecto viene con 0MiB libres.

Aunque el comando para instalar paquetes: ipkg no funciona, ni actualiza, ni instala, ni lista ni nada. Seguramente por cuestiones de compatibilidad del firmware con el router, así que esto con este router en principio no nos va a servir para nada. Si nos serviría con el firmware OpenWRT cuyo instalador de paquetes: opkg funciona estupendamente.

 

También podemos usar la memoria USB para que el router guarde cosas que descargue, por ejemplo con el comando wget o con scp. El siguiente código es un script que es ejecutado mediante una tarea cron configurada en el menú Administración > Administración:

0 2 1 * * root /mnt/sda1/backup/copia-datos-servidor-wget.sh;

#!/bin/sh
mkdir /mnt/sda1/backup/"$(date +%Y-%m-%d)";
cd /mnt/sda1/backup/"$(date +%Y-%m-%d)";
wget http://backup.giltesa.com/blog-"$(date +%Y-%m-%d)".zip

El script se encarga cada mes de bajar las copias de seguridad que realiza el servidor web, para ello:

  • Crea una carpeta cuyo nombre es la fecha actual del router, ej: 2014-12-09
  • Se mete dentro de esa carpeta.
  • Y con wget descarga un fichero dentro de esa carpeta, que casualmente ha sido creado en el servidor con otra tarea cron minutos antes y cuyo nombre es también la fecha actual.

También podríamos realizar la descarga con una conexión SSH con el comando SCP, sin embargo no he conseguido que las tareas cron se ejecuten correctamente ya que al ejecutarse requieren aprobar el certificado del servidor (además de introducir la contraseña cosa que solucione con un certificado RSA en el cliente y el servidor).

#scp -i /mnt/sda1/backup/routerKey admin@giltesa.com:/home/admin/backup/blog-"$(date +%Y-%m-%d)".zip /mnt/sda1/backup/"$(date +%Y-%m-%d)";

Para crear el certificado seria:

router: dropbearkey -t rsa -f routerKey
router: dropbearkey -f routerKey -y >> routerKey.pub
server: cat routerKey.pub >> ~/.ssh/authorized_keys

Aunque como digo todo eso no funciona con un cron, si ejecutándolo a mano pero pierde toda la utilidad asi que mejor usar el script con wget.

 

También podemos darle otros usos a la memoria USB, por ejemplo instalado un cliente de torrent para que descargue cosas sin necesidad de PCs, aunque con este firmware no es posible o es complicado por los problemas del instalador de paquetes, con OpenWRT si es posible aunque tampoco es fácil.

Independientemente del uso que le demos es muy importante que usemos los dispositivos de memoria formateados en Ext2 o Ext3, ya que con NTFS el acceso al dispositivo es tremendamente lento, tanto que con wget los ficheros que antes se descargaban a unos 500Kbps ahora lo hacen a 50.000Kbps, es decir el máximo de la conexión a internet.

La entrada Sacar más partido al almacenamiento USB en DD-WRT aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2014/12/09/sacar-mas-partido-al-almacenamiento-usb-en-dd-wrt/feed 1 15896
Compartir impresora USB en DD-WRT https://giltesa.com/2014/12/08/compartir-impresora-usb-en-dd-wrt https://giltesa.com/2014/12/08/compartir-impresora-usb-en-dd-wrt#respond Mon, 08 Dec 2014 15:36:55 +0000 https://giltesa.com/?p=15881 Además de compartir una memoria o disco duro desde el router, también podemos compartir una impresora que solo tenga conexión por USB, así varios equipos de casa podrán imprimir! Para ello hay que activar la opción de compartir impresora en el apartado USB, después solo queda configurarla en windows como una impresora de red, para […]

La entrada Compartir impresora USB en DD-WRT aparece primero en el blog de giltesa.

]]>
Además de compartir una memoria o disco duro desde el router, también podemos compartir una impresora que solo tenga conexión por USB, así varios equipos de casa podrán imprimir!

Para ello hay que activar la opción de compartir impresora en el apartado USB, después solo queda configurarla en windows como una impresora de red, para ello habrá que indicarle la IP donde la tenemos, que es la IP del router, decirle el fabricante y modelo, instalar el driver y nada mas.

En el vídeo se pueden ver los pasos mas detalladamente.

La entrada Compartir impresora USB en DD-WRT aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2014/12/08/compartir-impresora-usb-en-dd-wrt/feed 0 15881
Compartir dispositivo de almacenamiento USB en DD-WRT https://giltesa.com/2014/12/07/compartir-dispositivo-de-almacenamiento-usb-en-dd-wrt https://giltesa.com/2014/12/07/compartir-dispositivo-de-almacenamiento-usb-en-dd-wrt#comments Sun, 07 Dec 2014 15:34:50 +0000 https://giltesa.com/?p=15883 Entre las características de este router, el TP-Link TL-WDR3600,  podemos encontrarnos la inclusión de dos puertos USB 2.0 que nos permite conectarle dispositivos de almacenamiento como una memoria flash o un disco duro, o también una impresora por USB, para hacer uso de esos dispositivos a través de la red. En el caso de querer […]

La entrada Compartir dispositivo de almacenamiento USB en DD-WRT aparece primero en el blog de giltesa.

]]>
Entre las características de este router, el TP-Link TL-WDR3600,  podemos encontrarnos la inclusión de dos puertos USB 2.0 que nos permite conectarle dispositivos de almacenamiento como una memoria flash o un disco duro, o también una impresora por USB, para hacer uso de esos dispositivos a través de la red.

En el caso de querer compartir un dispositivo de almacenamiento, es suficiente con conectarlo al router en uno de sus dos puertos USB. Después hay que ir al apartado USB y activar todas las funcionalidades, guardar los ajustes y aplicarlos también.

Después nos aparecerá en la lista de dispositivos, nos dirá información como la capacidad total y la disponible, y la ruta en la que se ha montado el dispositivo (y desde donde podremos acceder a su contenido si nos conectamos por SSH).

Luego hay que ir al apartado NAS y compartir el dispositivo o uno de sus directorios, y indicar que se puede acceder públicamente o crear un usuario y contraseña para acceder al dispositivo.

Y por ultimo quedara añadir la unidad de red al sistema operativo para que podamos acceder a su contenido.

Estos pasos descritos son los mismos que se ven en el vídeo que acompaña esta entrada.

La entrada Compartir dispositivo de almacenamiento USB en DD-WRT aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2014/12/07/compartir-dispositivo-de-almacenamiento-usb-en-dd-wrt/feed 2 15883
Instalación de DD-WRT en router TP-Link TL-WDR3600 N600 https://giltesa.com/2014/12/06/instalacion-de-dd-wrt-en-router-tp-link-tl-wdr3600-n600 https://giltesa.com/2014/12/06/instalacion-de-dd-wrt-en-router-tp-link-tl-wdr3600-n600#comments Sat, 06 Dec 2014 18:50:46 +0000 https://giltesa.com/?p=15873 Tras la muerte del Linksys WRT320N que había estado usando como router neutro para suplir todas las prestaciones que no permite el router de la operadora de internet, estuve varios meses usando el router de Ono, un Netgear CG3100D-RG, que por cierto ahora si que puedo decir con absoluta certeza que es una auténtica basura […]

La entrada Instalación de DD-WRT en router TP-Link TL-WDR3600 N600 aparece primero en el blog de giltesa.

]]>
Tras la muerte del Linksys WRT320N que había estado usando como router neutro para suplir todas las prestaciones que no permite el router de la operadora de internet, estuve varios meses usando el router de Ono, un Netgear CG3100D-RG, que por cierto ahora si que puedo decir con absoluta certeza que es una auténtica basura en lo que a WiFi y gestión de paquetes se refiere, no es ni medio normal todos los microcortes aleatorios del WiFi y su bajo alcance o los reinicios cuando haces un uso intensivo de la red, con trafico P2P principalmente.

Pues bien, como remplazo del Linksys me he decidido por un TP-Link TL-WDR3600, ya que aun siendo un router más o menos económicos sus características no están nada mal, este modelo en concreto cuenta con: LAN Gigabit con 4 puertos, WiFi con doble banda simultanea de 2.4 y 5Ghz soportando las versiones A, B, G y N, cuenta con 2 conectores USB para dispositivos de almacenamiento o impresoras, y otras muchas cosas más.

Y si elegí este modelo y no otro, aparte de por el precio y prestaciones, fue porque es compatible con el firmware DD-WRT, que permite muchísimas más funcionalidades que de serie no se tienen, como: crear todas las redes WiFi que se quiera, cliente DDNS, permitir VLANs, servidor VPN, WOL desde la interfaz, NAT avanzado, ejecución de comandos al arrancar, y mucho más.

Por eso, tras ver unos minutos como era el panel de control de serie, bastante básico como digo, pase a instalar DD-WRT en el router, algo bastante sencillo de hacer como podéis ver en el vídeo.

El firmware puede bajarse desde aquí.

La entrada Instalación de DD-WRT en router TP-Link TL-WDR3600 N600 aparece primero en el blog de giltesa.

]]>
https://giltesa.com/2014/12/06/instalacion-de-dd-wrt-en-router-tp-link-tl-wdr3600-n600/feed 23 15873