Archivo

Archivo para diciembre, 2015

NAS ZyXel 325-V2

lunes, 14 de diciembre de 2015 Sin comentarios

El NAS ZyXel 325-V2 se diferencia de la primera versión en un cambio estético de la carcasa de plástico y en una mejora del ventilador posterior que parece hacer menor ruido. A parte de eso dispondremos de un sistema de almacenamiento en red con dos bahías para discos duros SATA de 3’5″ y 2’5″ con soporte para RAID 0, 1 y JBOD, tarjeta de red Gigabit, dos USB 2.0 traseros y uno 3.0 frontal frontal con un consumo eléctrico que varía de entre 15W con dos discos duros en marcha a 7W cuando pasa a modo en reposo.

El panel de administración puede parece bastante simple y no tan completo como los NAS de Synologic, pero la diferencia de precio también es bastante notable. Gracias a la comunidad estas diferencias intentan cubrirses con paquetes de software de terceros.

Como vamos a hacer del NAS un servicio de red fijo, lo que nos va a interesar es darle una IP fija a través de la configuración del servidor de DNS. Para eso se necesita averiguar su dirección MAC de forma fácil con el siguiente comando (sabiendo previamente la IP que se le ha sido asignado previamente o el nombre del equipo):

ping 192.168.1.55 -c 1

arp -a

A través de Samba accederemos a «smb://IP-NAS/admin/zy-pkgs/» y crearemos un fichero «web_prefix» que contendrá la siguiente URL:

http://downloads.zyxel.nas-central.org/Users/Mijzelf/zypkg-repo/

Desde el panel web de administración del NAS iremos a la sección «Firmware/Packages» y, después de actualizar el Firmware si existe alguna versión posterior, le daremos al botón de «Acceder listado desde Internet». Aparecerá un único paquete llamado «MetaRepository» que tendremos que seleccionar e instalar. Tras esto ya podremos instalar FFP (desde el cual podremos instalar repositorios con uwsiteloader), RandomTools, NFS y pyLoad por ejemplo.

Para instalar nuestro software de descargas favorito (MlDonkey), entraremos por SSH al NAS y ejecutaremos lo siguiente:

su

uwsiteloader.sh (seguimos los pasos del asistente)

slacker -U

slacker -i mldonkey

exit

Debido a que queremos tener todo lo relacionado con MlDonkey guardado en disco duro por temas de espacio, lo que haremos es un enlace simbólico de la siguiente forma y lanzaremos el proceso para que genere la estructura de carpetas:

mkdir /mnt/HD_a2/mldonkey

cd /mnt/HD_a2

chmod -R 777 mldonkey/

ln -s /mnt/HD_a2/mldonkey/ .mldonkey

mlnet

Cerraremos el proceso anterior con un simple CTRL+C y empezaremos a configurarlo:

vim .mldonkey/downloads.ini (y editamos las ip’s permitidas añadiendo 192.168.1.0/24)

mkdir /mnt/HD_a2/mldonkey/logs

Generaremos un fichero de configuración en «/mnt/HD_a2/mldonkey/mldonkey-server» con el siguiente contenido:

MLDONKEY_DIR=/mnt/HD_a2/mldonkey
MLDONKEY_USER=admin
MLDONKEY_GROUP=everyone
MLDONKEY_UMASK=0022
LAUNCH_AT_STARTUP=true

Crearemos el script que se encargará de gestionar el servicio «/mnt/HD_a2/mldonkey/mldonkey.sh» con el siguiente contenido:

 

#!/ffp/bin/sh
#
# Original file :
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian GNU/Linux
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version: @(#)skeleton 1.9.1 08-Apr-2002 miquels@cistron.nl
#
#
# This file has been rewritten by Sylvain Le Gall <gildor@debian.org>
# and Samuel Mimram <smimram@debian.org> for the mldonkey package.
#
### BEGIN INIT INFO
# Provides: mldonkey-server
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Should-Start: $local_fs
# Should-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Server for the mldonkey peer-to-peer downloader.
# Description: Server for the mldonkey peer-to-peer downloader.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=mlnet
EXEC=/usr/local/zy-pkgs/ffproot/ffp/bin/$NAME
DESC=»MLDonkey»
CONFIG=/mnt/HD_a2/mldonkey/mldonkey-server
PIDDIR=/var/run/mldonkey
PIDFILE=$PIDDIR/$NAME.pid
LOGFILE=/mnt/HD_a2/mldonkey/logs/mldonkey-server.log
SERVERLOG=/mnt/HD_a2/mldonkey/logs/mlnet.log

test -e $CONFIG || exit 0

set -e

Warn ()

{
echo «$*» >&2
}

Error ()
{
code=$1
shift

echo «.»
Warn «$DESC: $NAME [ERROR] $@»
exit $code
}

StartErrorCheck ()
{
if [ -f «$SERVERLOG» ] && tail -n 2 «$SERVERLOG» | grep -qi ‘aborting’ ; then
Warn «$DESC: $NAME [ERROR] server start error»
tail –verbose $SERVERLOG
exit 1
fi
}

. $CONFIG

# Look for the default locale
if [ -f «/etc/default/locale» ]; then
. /etc/default/locale
export LANG
fi

if [ -n «$MLDONKEY_UMASK» ]; then
umask $MLDONKEY_UMASK
fi
# /var/run might be on tempfs, see #354701.
if [ ! -d /var/run/mldonkey ]; then
mkdir -m 755 /var/run/mldonkey
fi
if [ ! -d /var/log/mldonkey ]; then
mkdir -m 755 /var/log/mldonkey
fi
if [ -n «$MLDONKEY_USER» ] && [ -n «$MLDONKEY_GROUP» ]; then
chown -R $MLDONKEY_USER:$MLDONKEY_GROUP /var/run/mldonkey
chown -R $MLDONKEY_USER:$MLDONKEY_GROUP /mnt/HD_a2/mldonkey/logs
fi

WRAPPER_OPTIONS=»–iosched idle»

# Set configuration value, from CONFIG
if [ -n «$MLDONKEY_USER» ] && [ -n «$MLDONKEY_GROUP» ]; then
WRAPPER_OPTIONS=»$WRAPPER_OPTIONS –chuid $MLDONKEY_USER:$MLDONKEY_GROUP»
fi

if [ -n «$MLDONKEY_DIR» ]; then
WRAPPER_OPTIONS=»$WRAPPER_OPTIONS –chdir $MLDONKEY_DIR»
fi

if [ -n «$MLDONKEY_GROUP» ]; then
WRAPPER_OPTIONS=»$WRAPPER_OPTIONS –group $MLDONKEY_GROUP»
fi

if [ -n «$MLDONKEY_UMASK» ]; then
WRAPPER_OPTIONS=»$WRAPPER_OPTIONS –umask $MLDONKEY_UMASK»
fi

if [ -n «$MLDONKEY_NICENESS» ]; then
WRAPPER_OPTIONS=»$WRAPPER_OPTIONS –nicelevel $MLDONKEY_NICENESS»
fi

case «$1» in
start|force-start)
echo -n «Starting $DESC: $NAME»

if [ «x$LAUNCH_AT_STARTUP» != «xtrue» ] && [ «x$1» = «xstart» ]; then
Error 0 «configuration file prevent $NAME to be started (use force-start).»
fi

if [ -z «$MLDONKEY_DIR» ] || [ ! -d «$MLDONKEY_DIR» ]; then
if [ -z «$MLDONKEY_DIR» ]; then
MLDONKEY_DIR=»(unset)»
fi
Error 1 «$MLDONKEY_DIR is not a valid directory.»
fi

if [ ! -f «$MLDONKEY_DIR/downloads.ini» ]; then
Error 1 «$MLDONKEY_DIR/downloads.ini is not a valid file.»
fi

#USER=`/usr/bin/stat –format=»%U» «$MLDONKEY_DIR/downloads.ini»`

USER=»admin»

WRAPPER_OPTIONS=»$WRAPPER_OPTIONS –user $USER»

start-stop-daemon –start $WRAPPER_OPTIONS \
–pidfile $PIDFILE –background –exec $EXEC \
— -log_file $SERVERLOG -pid $PIDDIR 2>&1

StartErrorCheck

echo «.»
;;

stop)
echo -n «Stopping $DESC: $NAME»
start-stop-daemon –stop –oknodo –pidfile $PIDFILE –retry 30
echo «.»
;;

force-reload|restart)
$0 stop
$0 start
;;

*)
Error 1 «Usage: $0 {start|stop|restart|force-reload|force-start}»
;;
esac

exit 0

Le daremos permiso de ejecución:

chmod u+x /mnt/HD_a2/mldonkey/mldonkey.sh

Y finalmente crearemos el script que se encargará de levantar el servicio al inicio en «/ffp/start/mldonkey-start.sh» con el siguiente contenido:

#!/ffp/bin/sh
# PROVIDE: mldonkey
# REQUIRE: LOGIN
/mnt/HD_a2/mldonkey/mldonkey.sh start

Le daremos permiso de ejecución:

chmod u+x /ffp/start/mldonkey-start.sh

Si deseamos que el NAS esté accesible por NFS, el camino rápido sería obtenido el identificador del usuario y del grupo correspondiente:

id -u admin

id -g admin

Editaremos el fichero «/etc/exports» con una línea similar a esta siendo 192.168.1.11 la IP que montará la unidad NFS  501 el id de usuario y grupo:

/mnt/HD_a2 192.168.1.11(rw,all_squash,anonuid=501,anongid=500)

Si intentamos colocar algo así como «192.168.1.0/24» no funcionará.

Reiniciaremos el servicio de NFS con el siguiente comando y ya lo tendremos listo en la red:

/usr/local/zy-pkgs/etc/init.d/NFS restart

En el equipo que queramos hacer uso de la unidad NFS (una Raspberry) tendremos que editar el fichero «/etc/fstab» añadiendo la siguiente línea:

192.168.1.10:/mnt/HD_a2    /mnt/nas nfs nouser,atime,auto,rw,dev,exec,suid 0   0

Prepararemos la carpeta donde estará del siguiente modo:

mkdir /mnt/nas

chown pi:users -R /mnt/nas

chmod 777 -R /mnt/nas

mount -a

 

 

 

 

Enlaces de interés:
http://forum.nas-central.org/viewtopic.php?f=249&t=15731&sid=b252ddb5624aca7cd22055ca774de8f7
http://zyxel.nas-central.org/wiki/3rd_party_zypkgs#MetaRepository
http://zyxel.nas-central.org/wiki/FFP_as_zypkg