Ayer me decidí a “pegar” un repaso a este magnífico NAS, ya en su día intenté habilitar el funplug proveniente del CH3SNAS, pero lo que más me interesaba, openssh (u openvpn) no conseguí que funcionase.
Asi que investigando, descubrí que un compañero freak, ha sacado sus propios scripts/repositorio personalizado para el CH3HNAS:
* http://visscher.dyndns-home.com/ (ejecutado desde el propio NAS según el autor).
* http://henkjan.net/
Siguiendo instrucciones ya para empezar me dio error el script de instalación, pero esta vez tenía que ser si o sí, así que revisé el script de instalación (setuphfp) y me sorprendió bastante la sencillez, paso por paso, ejecuté:
[cc lang=”bash” theme=”blackboard”]
DEFAULT_ROOT=/home/Public/funplug/hfp
REPOSITORY=http://visscher.dyndns-home.com/packages
mkdir -p ${dir}
mkdir ${dir}/tmp
mkdir ${dir}/sbin
cd ${dir}/..
ln -s hfp ffp
cd ${dir}/sbin
wget ${REPOSITORY}/hfppkg
chmod +x hfppkg
${dir}/sbin/hfppkg update
${dir}/sbin/hfppkg -c install setuphfp
${dir}/sbin/hfppkg install busybox
[/cc]
Con lo que ya está “instalado” el hfp y busybox.
Omito que estuve revisando el script hfppkg :)
Revisando el sistema de arranque, ví que el proceso es el siguiente:
/etc/init.d/rc.sysinit ->
/home/Public/funplug/ffp/etc/rc ->
/home/Public/funplug/ffp/etc/start/*.sh
Es decir, desde el rc.sysinit (que no se puede “alterar” ya que está dentro de la parte de la “BIOS” del NAS y se reescribe cada arranque), está hardcodeado arrancar el script /home/Public/funplug/ffp/etc/rc.
Desde este script, entre otras cosas (a gusto del consumidor, ya que está dentro del disco duro), se arrancarán todos los scripts “*.sh” dentro del directorio /home/Public/funplug/ffp/etc/start/ que tengan permisos de ejecución.
En mi caso y para no cargar demasiado el NAS, he optado por quitar del arranque el telnet y el propio hfp que no sirve para mucho.
Según Henk-Jan “openssh” reemplaza dropbear, que tampoco me interesa demasiado, lo que yo quiero es arrancar openssh desde otro puerto, asi que… instalo el paquete y procedo a cambiar el script de arranque, lo he dejado así:
vi /home/Public/funplug/hfp/start/sshd.sh
[cc lang=”bash” theme=”blackboard”]
#!/hfp/bin/sh
# PROVIDE: sshd done
. ${HFP:-/hfp}/etc/hfp.subr
name=”sshd”
command=”${HFP:-/hfp}/sbin/$name”
required_files=”${HFP:-/hfp}/etc/ssh/sshd_config”
# sshd_flags=”-p 22″
start_cmd=”sshd_start”
sshd_start()
{
echo “Running dropbear processes:”
proc_start ${command}
}
run_rc_command “${1}”
[/cc]
Duro, eh!!!??? :D
Por supuesto, he cambiado el fichero de configuración del sshd según mis necesidades (fichero “/home/Public/funplug/hfp/etc/ssh/sshd_config“), por ejemplo para denegar “root” login y permitir pubkeys :)
De todas formas si no queréis cambiar el fichero de config, en el propio script de arranque del sshd, existe la variable “sshd_flags” que le indica al demonio en qué puerto arrancar.