Too Cool for Internet Explorer

Avances con el NAS 2

Hora y Fecha: Julio 9, 2008 @ 10:48 pm Autor: Moisés Maciá
Categorías:
67 views

Después de casi una semana compilando dependencias, afinando configuraciones y haciendo triples saltos mortales hacia atrás para que quepa todo en los 128MB de RAM y 8MB de flash del NAS, tengo un ecosistema medianamente “acogedor“: MLDonkey, GNU Core utils, rsync, Subversion, etc.

Estoy aprendiendo muchas cosas sobre los sistemas empotrados a base de meter la pata en todos los agujeros del camino. Por ejemplo, mi intento de Time Machine sin manzanas se ha visto momentaneamente frustrado por la poca potencia de cálculo del micro Gemini.

La combinación rsync + SSH funcionaba bien en el anterior equipo con un Pentium III viejuno: tomaba snapshots del disco entero (~12GB usados) cada hora en 3-6 minutos (benditos enlaces duros). Ahora la misma operación tarda entre 20 y 40 minutos. Así a ojo debe ser tan potente como un Pentium 200MHz.

Creo que el principal problema es el cifrado que aplica SSH a los datos. Gemini lleva un coprocesador para tareas criptográficas pero parece que no se usa o no es lo suficientemente rápido para descifrar en tiempo real un stream de 100Mb/s. Acepto sugerencias.

Tengo que probar a ver que tal rinde la conexión con un par de rsync en configuración cliente/servidor, sin shell ni transporte cifrado. Creo que esa será la solución; aunque entonces ya no podré hacer snapshots del portátil conectado con WiFi desde el bar, eso resta puntos.

Estoy pensando en abrir un apartado en el blog y una cuenta de SVN para subir todo el código y los binários, pero eso será cuando tenga los paquetes bien pulidos.

PD. apt, cuanto te echo de menos …



Instalar servidor SSH en Icy Box NAS-4220-B 5

Hora y Fecha: Junio 30, 2008 @ 12:34 am Autor: Moisés Maciá
Categorías:
37 views

Este es el primer post sobre hacks del Raidsonic Icy Box NAS-4220-B y en él voy a explicar cómo instalar un servidor SSH para conectarnos de forma segura a través de Internet o de una red inalambrica.

El primer paso es actualizar el firmware del aparato a la última versión disponible (en este momento es la 2.6.0.IB.1.RS.1). Esta actualización incluye acceso remoto mediante telnet que aprovecharemos para modificar ciertos parámetros del sistema.

El servidor SSH es un paquete oficial disponible en la pagina web del fabricante. Para instalarlo hay que conectarse al NAS mediante FTP/SMB/NFS con el usuario admin y dejar el archivo ssh-server.tgz en la ruta /public/applications/new_software.

Después de esto, reiniciamos la máquina y ella sola instala el software en los directorios correspondientes. Esta manera de instalar cosas me ha gustado mucho.

Ahora viene el problema: por lo visto alguien en Raidsonic con una mente preclara ha hardcodeado los paths de los binarios a /mnt/IDE1. Este es el punto de montaje de los discos, pero cambia en función de la cantidad y la configuración de los discos que tengas puestos (RAID0, RAID1, JBOD, etc.).

En mi caso el punto de montaje es /mnt/ide3 (en minúscula), con lo que el servidor SSH se instala pero nunca llega a ejecutarse porque no encuentra sus librerías ni sus archivos de configuración.

A mi todo esto me huele un poco mal. Vale que Raidsonic no es una multinacional del software, pero este es un error de bulto que está en la web desde hace tiempo en un paquete “oficial”. Me parece trabajo de becarios mal pagados, porque eso de poner las rutas en mayúsculas y hardcodeadas muy profesional no suena. Pero bueno, hay una solución sencilla.

Podemos hacer un enlace simbólico que apunte al punto de montaje correcto y todo funcionará como se espera. Para esto necesitamos una shell del sistema mediante telnet.

El acceso a traves de telnet no está habilitado por defecto, para activarlo hay que ir a la siguiente URL http://[ip del nas]/cgi/telnet/telnet.cgi y marcar el checkbox (curiosamente el acceso a telnet no sale en el interfaz web, está escondido).

Nos logeamos como root con la contraseña del usuario admin y ya tenemos shell.

En mi caso el enlace simbólico quedaría de la siguiente manera:

  1. ln -s /mnt/ide3/ /mnt/IDE1

Para comprobar que el servicio se inicia correctamente, vamos al directorio de la aplicación y ejecutamos el script de inicio:

  1. cd /mnt/ide3/public/applications/ssh-server/
  2. sh init

Finalmente, activamos el servidor SSH desde el interfaz web y probamos la conexión.

Debido a la combinación de memoria flash + partición en disco que utiliza el NAS para ejecutar el sistema, este enlace simbólico se pierde cada vez que reiniciamos la máquina.

Esto se soluciona instalando el paquete userscript (descarga) que permite ejecutar scripts personalizados durante el arranque del sistema, una especie de cron para que nos entendamos.

El comando para lanzar el servidor es el siguiente:

  1. mnt/IDE1/public/applications/ssh-server/bin/dropbear -d /mnt/IDE1/applications


NAS-4220 2

Hora y Fecha: Junio 16, 2008 @ 11:31 pm Autor: Moisés Maciá
Categorías:
39 views

Esta es mi nueva adquisición. Es un NAS doméstico. En este vídeo se pueden ver todas las funcionalidades que ofrece de serie:

Lo que interesa es que se trata de un dispositivo empotrado con un puerto giga ethernet, host USB, un controlador SATA2 y Linux, cosa que garantiza horas de diversión hackeandolo y un elevado indice de mapachidad :)

También hay que tener muy en cuenta que, a efectos prácticos, es un ordenador muy pequeño, muy silencioso, que puedes tener encendido todo el día haciendo backups, sirviendo ficheros, descargando cosas … y que consume alrededor de 20W (hay hacks para reducir incluso más el consumo!).

Se puede desarrollar con el tool chain básico de GNU (make, gcc, stdlib, etc.) configurando correctamente el sistema para compilación cruzada al micro ARM Gemini que lleva. Incluso hay una guia oficial sobre como integrar los desarrollos en el interfaz web de gestión del dispositivo para que quede “bonito”.

Vamos, que lo han puesto en bandeja de plata para que la gente ociosa desarrolle soft. De hecho, ya hay una comunidad bastante maja alrededor de este juguetito (tanto en hard como en soft), lo malo es que la mayoría de la información está en alemán (la empresa es de Berlin, y por lo visto no tienen mucha distribución fuera de Internet y Alemania).

Todavía no he podido curiosear porque al parecer si no hay un disco pinchado no va nada, y visto como están los transportes últimamente voy a tardar unos días en conseguirlo …

Que nadie se asuste, vuelvo a programar en C, tengo grandes proyectos para esta cajita :)




Bad Behavior has blocked 323 access attempts in the last 7 days.