miniDLNA con XigmaNAS y otras configuraciones

Mis primeros inicios en la informática por allá, en esos tiempos cuando ni una dirección IP sabiamos que era, cuando ni prender una pc, eso era una hasaña, y aún, porque siempre seremos novatos, FreeNAS muy poco conocido, su hijo(fork) XigmaNAS antes llamado Nas4FREE, este por intereses de sus desarrolladores (lo más seguro es que sea lo típico) money, política, una parte tendrá licenciamiento.

iXSystems en un futuro pretende unificar 2 versiones actuales de TrueNAS una free y otra de pago.

Dado que la situación de FreeNAS cambió mucho y open media vault no me inspira tanto pero "me gusta también", vamos a usar XigmaNAS para librarnos de todo eso, recordando hace años cuando FreeNAS era verderamente free, bajo fondo xigmanas sigue basándose en FreeBSD, tiene muchos servicios interesantes para utilizarlos en nuestra red local/remota compatible con el sistema de ficheros ZFS unos de los formatos más avanzados que existen teniendo una de sus ventajas más prominentes es el uso de snapshots o instantáneas de los datasets.

Usare virtualbox para ir probando luego migrare todo a una placa supermicro x8dtn+, unos dual Xeon E5645 socket 1366, discos Western Digital Red Pro (WD2001FFSX) 24/7 de 7200RPM y unos 32gb de memorias RAM-ECC.

  • También 2 Cooler master hyper 212 LED, con alargadores hexagonales para la placa base.

  • Chasis/case Corsair Obsidian 750D Airflow Edition, un poco grande y pesado, pero es una placa tipo Enhanced Extended ATX (EEATX), aunque sería interante tener uno de supermicro, pero costosos por lo visto, es que ni investigue 😅.

  • Un piche teclado usb y mouse inalambricos.

  • XigmaNAS como siempre la última release y usando XigmaNAS Full RootOnZFS para instalar en disco dandonos muchísimas ventajas, que no las tendríamos si instalaramos en un USB (todo estaria en memoria si fuera el caso, difícil de mantener cambios en el sin hacer magia de la buena).

  • Otro disco SSD de 240gb para cache ZFS.

  • Como usare la opción mirror para instalar el S0, entonces tocará 2 discos mas de 60gb muy baratos, unos 35 mangos.

  • Un extensor de 8 pines para 12v adicionales al CPU tipo Molex Masculino a CPU de 8 pines , es riesgoso prenderla con los dos procesadores y sin 12v adicionales

  • En un inicio estaba usando la GELI/encryption pero veo que es un dolor de cabeza porque al iniciar siempre pide un password para descrifrar y poder hacer el arranque completo, remove-geli-encryption-on-mirrored-zfs-boot-drives interesante información de un tal @Bucky sobre como remover esa password muy util.

Y aqui lo tenemos todo montado ya, respaldamos lo que teníamos de virtualbox y lo importamos en el propio nas

systemInformation

nas activo

Flujo importante inicial

El flujo comienza desde el circulo rojo, bastante ideal con la mayoria de los pasos necesarios para dejar nuestro NAS activo.

FLOW install de XigmaNAS

Info:


DLNA - Digital Living Network Alliance

Un protocolo basado en UPNP nos vendra bien para ver peliculas muy sangrientas de noche en la TV, mmmm sin estar usando tanto el USB, en caso de que NETFLIX no tenga esa pelicula que tanto queramos ver.

Pestaña Settings

Aquí existen configuraciones interesantes que podemos hacer algunas de ellas son:

settings minidlna

- Name

Es el nombre de nuestro servidor dlna y es xigmaNAS movies así se va a mostrar en nuestros clientes dlna

- Broadcast Interval

El tiempo de escaneo lo tendré a 5 segundos, si los clientes escanean los sevidores dlna en la red, dichos servidores se mostraran en ese tiempo, por defecto son 300 segundos. FIXME

- Database Directory

Debemos tener un directorio base raíz, el mío se llamara igual pero en minúscula minildlna, entonces si escaneo con mí TV, o ANDROID, IOS sucks(que en realidad tendrán sus propios clientes dlna), los directorios que saldrán son los contenidos en el, por ejemplo:

minidlna/directorioConContenidoParaMostrar

- Vizualizar status del miniDLNA

La url siguiente nos permite vizualizar el estado del servidor miniDLNA nuestro, y los dispositivos de nuestra red, por ejemplo SmartTV, teléfonos disponibles.

http://ipxigmanas:8200/status
  • Media library actuamente contiene 1 solo video.

status minidlna

En caso de que "Video files" no nos muestre ningun video que eso no es bueno, porque podemos pasar el rato buscando el porque, en la parte inferior de la pestaña settings se debe dar click en "rescan" que dicho botón bajo fondo es equivalente a este comando:

sudo service minidlna rescan
  • También muy importante mirar los permisos del fichero, deberían estan así:

  • -rwxr-xr-x si hacemos lo siguiente damos permisos de ejecución y que se visualize en la tabla de la imagen anterior.

sudo chmod 755 nombreArchivo

O al contenido de un directorio de manera recursiva

sudo chmod -R 755 nombreDir

Este comando También viene útil si se guarda en opciones avanzadas

/bin/chmod -R 755 /mnt/mydataset/minidlna

Cron ?

tenemos la posibilidad de añadir dicha tarea de "rescan" de nuestro minidlna usando cron por ejemplo:

/usr/sbin/service minidlna rescan

Pero, solo la guardaré, si ese "rescan" se hace cada pocos segundos, lo que se este reproduciendo via DLNA se interrumpiría.


Pestaña Media Folder

media folder

- Path

Aqui vamos buscar el directorio que estara contenido dentro del directorio raíz minidlna y será movies, que es donde se alojaran ficheros con formato (.mp4 .mkv .avi etc), dicho directorio es el que mostrará su contenido al ser escaneado ejemplo:

minidlna/movies


Usando DMS Explorer en Android

Con esta app podemos ver los servidores DLNA disponibles en nuestra red y como resultado tenemos lo siguiente:

dmsExplorer


Panasonic es el SmartTV de ejemplo

Si buscamos los dispositivos disponibles desde nuestro SmartTV tenemos lo siguiente:

dispositivos smartTV

smartTV movie


Navegando al directorio movies desde CIFS/SMB (Samba), FTP etc

Si tenemos samba habilitado y nuestro usuario correspondiente podemos ir al directorio movies, y copiar las peliculas ahí.

directorio movies desde samba

Usando Cx Explorer desde Android

La interface de esta app es mas pulida y es la que estoy usando ahora mismo, además al compartir puedo subir cosas al directorio del NAS sin problemas.

cxExplorer

Via FTP con TLS

Generamos nuestros certificados en formato X.509.pem tanto publico como privado con firma RSA(SHA512withRSAEncryption), he usado el api bouncy castle y su dependencia para FIPS (Federal Information Processing Standards), aún toca mejorarlo con Elliptic Curve Cryptography (ECC)

ftp tls

Solo es un poco extraño que al importar la clave privada al WinSCP obtengo este error 👎🏿 quizas sea por el TLSv1.3, de igual modo con FILEZILLA, es que viendo bien con TLSv1.0 me va bien 🤔

errorPem

Viendo bien este error es debido a la forma de crear el formato PEM, lo correcto es usar JcaPEMWriter aunque crea el PEM en formato viejo, la notificacion siguiente lo muestra:

oldPemFormatImportPrivateKey

la imagen anterior corresponde a PuTTY Key Generator de WinSCP justo en Session/Nueva sesión…​/Herramientas

Reiniciar servicio miniDLNA desde la WEB-GUI

Podemos reiniciar el servidor miniDLNA desde la WEB-GUI o desde la shell del XigmaNAS

restart minidlna

Desde la shell de XigmaNAS hacemos login con las credenciales del usuario admin que posee permisos para escritura en la consola, o También nos serviria el usuario del grupo de ssh.

sudo service minidlna restart

Can’t find /boot/zfsloader

Un error que puede arrojar el NAS a la hora de iniciar, y por lo visto que por el orden de los discos, tocaria seleccionar el correcto donde se realizo la instalación.


Sería interesante probar el uso de apps como BubbleUpnP, jupnp etc