Si llevas años en el mundo de los servidores NAS, estamos seguros que conoces el sistema operativo FreeNAS, uno de los mejores sistemas operativos con todos los servicios necesarios para exprimir al máximo el hardware de tu servidor. Aunque existen fabricantes muy buenos y conocidos como QNAP, Synology o ASUSTOR, si quieres montarte tu propio NAS con el hardware que quieras, es muy recomendable contar con TrueNAS CORE (el nuevo nombre de FreeNAS) para montártelo por tu cuenta. ¿Quieres conocerlo todo sobre este sistema operativo orientado a NAS y cómo configurarlo desde cero?
En RedesZone os vamos a ofrecer una completa guía para configurar el servidor NAS desde cero, podrás ver configuraciones específicas de cómo tener el almacenamiento, cómo configurar TrueNAS CORE en una máquina virtual para realizar las pruebas, cómo configurar la red, los principales servicios como Samba, FTP, DLNA, SSH o BitTorrent, e incluso os enseñaremos cómo configurar un servidor OpenVPN en el servidor NAS.
Uno de los aspectos más interesantes de TrueNAS CORE, es que está basado en FreeBSD, por tanto, podremos hacer uso del sistema de archivos ZFS, uno de los más avanzados y que nos aportarán la mejor integridad de datos posible. Además de esto, veremos más a fondo cuáles son las principales opciones de este sistema y las diferentes configuraciones que se pueden llevar a cabo. Al igual que explicaremos cómo es la instalación y la primera puesta en marcha de este software para no tener inconvenientes al principio.
¿Qué es un servidor NAS?
Antes de aprender a configurar TrueNAS CORE, debes saber en qué consiste un servidor NAS para entender su funcionamiento.
Un servidor NAS e un dispositivos dedicado al almacenamiento de datos que se conecta directamente a una red, proporcionando acceso a los archivos y recursos de almacenamiento a través de esa red. Su función principal es facilitar el almacenamiento centralizado y el intercambio de archivos en entornos domésticos o empresariales.
El propósito fundamental de un servidor NAS es ofrecer una solución eficiente para gestionar y compartir datos en una red local. A diferencia de los servidores de archivos tradicionales, un NAS es una unidad independiente, compacta y diseñada específicamente para esta tarea. Se conecta a la red mediante cables Ethernet y generalmente incluye una interfaz de usuario web que permite su configuración y administración.
En entornos domésticos, un servidor NAS puede utilizarse para centralizar y respaldar archivos multimedia, como fotos, vídeos y música, permitiendo su acceso desde otros dispositivos. Además, muchos NAS ofrecen funciones de transmisión de medios, convirtiéndolos en un centro de entretenimiento digital.
Por otro lado, en entornos empresariales, los servidores NAS son importantes para compartir archivos de forma eficiente y segura. También se utilizan para realizar copias de seguridad automáticas, proporcionando una capa adicional de seguridad, protegiendo los datos críticos. La escalabilidad es otra característica importante de este tipo de servidores, ya que muchos NAS permiten la expansión sumando discos duros adicionales o conectando unidades externas.
Algunas de las características principales de los servidores NAS son la capacidad de ofrecer un almacenamiento centralizado, el acceso remoto a los archivos y datos guardados, la seguridad y protección de datos y las funciones de transmisión de contenido multimedia a dispositivos compatibles. Por lo tanto, el hecho de contar con un servidor NAS aporta una serie de ventajas que se deben de tener en cuenta en todo momento.
Principales características
TrueNAS CORE es el nuevo nombre del popular sistema operativo orientado a NAS FreeNAS, un sistema operativo que está orientado específicamente para funcionar como un servidor NAS profesional de alto rendimiento. Este sistema operativo se puede instalar en cualquier plataforma x64 gracias a que el sistema operativo base es FreeBSD en su versión 12. TrueNAS incorpora una compatibilidad con una gran cantidad de hardware, ya sea placas base y tarjetas de red, que son los dos dispositivos que más problemas pueden dar. Las siglas de NAS significan «almacenamiento conectado en red», y TrueNAS facilita enormemente la utilización y la configuración de todos los servicios que debe tener un servidor NAS, como el servidor Samba, FTP, NFS, el almacenamiento con RAID, el acceso remoto vía OpenVPN y mucho más.
En resumidas cuentas, este sistema es el sucesor del más que conocido FreeNAS de iXsystems. Este sistema operativo está diseñado para el almacenamiento conectado a la red y, como veíamos, está basado en FreeBSD. Además, hay que tener en cuenta que es compatible para hardware con 64 bits, VM o nube pública. También incluye una versión del sistema de archivos OpenZFS y no solamente está la versión gratuita Core, sino que está la alternativa de pago, conocida bajo el nombre de Enterprise en la que se añade funciones extra.
La característica más importante de TrueNAS CORE es la incorporación del sistema de archivos ZFS (OpenZFS), uno de los sistemas de archivos más avanzados, completos y rápidos que existen actualmente, gracias a ZFS, tendremos la mejor integridad posible en nuestros datos, además, podremos configurar diferentes niveles de RAID-Z para proteger la información de un posible problema de hardware en los discos. Por supuesto, podremos configurar el disco cifrado con AES-XTS, configurar el SMART para ver y detectar errores en el disco y estar advertidos de que existe un problema, y también podremos configurar reportes por email bajo demanda o cuando suceda algún evento.
TrueNAS Core incorpora una gran cantidad de servicios para exprimir al máximo el hardware del servidor, concretamente, tendremos los siguientes servicios:
- Directorio Activo: Nos da la posibilidad de compartir recursos en una red de Windows. Esto ocurre porque nos proporciona los servicios de autentificación y autorización para los usuarios de una red. Esto elimina la necesidad de tener que crear cuentas de usuario en el propio TrueNAS. No solo nos permite usar usuarios, pues ocurre lo mismo con los grupos de estos. Con esta opción generar recursos compartidos que actúan a modo de servidor, es más sencillo.
- LDAP: Nos permite acceder a la información de un servidor LDAP. Esto nos da la posibilidad de tener un directorio para encontrar recursos en red, como los usuarios o permisos asociados.
- NIS: Se trata de un protocolo de servicio cliente/servidor entre un equipo y una red. Se usa para distribuir datos de configuración del sistema. Esto incluye nombres de usuario y host.
- Kerberos: Aquí nos encontramos un protocolo de autentificación web. Se utiliza para disponer de una fuerte criptografía que pruebe la identidad tanto del cliente como del servidor si se encuentran en una conexión no categorizada como segura.
- AFP: Este es el protocolo de red de archivos de Apple, y nos permite compartirlos en la red. Está creado de forma específica para los sistemas de la marca de la manzana mordida.
- iSCSI: Representa los estándares para usar protocolos basados en internet. Esto permite vincular dispositivos de almacenamiento binario. Este funciona a través de la encapsulación. Encapsula los datos dentro de una pila de sesión.
- NFS: En este caso también permite crear recursos compartidos en la red, pero estos están disponibles para cualquier usuario con acceso compartido. Dependiendo de su configuración, estos pueden estar restringidos o con privilegios como la lectura y escritura.
- WebDAV: Se trata de un recurso compartido de creación y control de versiones basado en la web. Facilita compartir un conjunto de datos que contenga nuestro TrueNAS a través de la Web.
- CIFS/SMB (Samba): Una vez compartido el archivo SMB, esto nos da muchas opciones adicionales pudiendo editar como tal. También nos deja configurar el ACL de los recursos compartidos o el propio sistema de archivos. Otra opción, es la de eliminar directamente.
- FTP (Proftpd): Que nos permitirá la transferencia de archivos entre dispositivos.
- Servidor DNS Dinámico: En esta caso nos permitirá cambiar de forma periódica las direcciones IP del sistema sin que la conexión de pierda cuando alguna dirección cambie.
- Cliente OpenVPN: Permitirá que los clientes se conecten de forma segura a una red privada de forma remota. TrueNAS proporciona este servicio como una conexión de cliente o servidor. Pero esto va a requerir alguna infraestructura previa para la gestión de claves. Con esta función, también incorpora un Servidor VPN.
- Rsync: Nos permite realizar copias de datos de forma que se minimice la cantidad de información que se transmite.
- S3: Este se implementa para poder almacenar y recuperar cualquier volumen de datos desde cualquier ubicación. Es sencillo y dispone de un gran rendimiento, seguridad y escalabilidad.
- SNMP: Es un protocolo que supervisa los dispositivos que se encuentran conectados a la red, buscando motivos que justifiquen una intervención administrativa. En TrueNAS se usa Net-SNMP.
Otras características extras de este sistema operativo, son las siguientes:
- FS Native Crypto: Se trata de un sistema para cifrar conjuntos de datos y compatible con el replicado de objetivos que no son de confianza.
- Autentificación de dos factores: Nos permite usar aplicaciones como Google Authenticator para proporcionar nuevos niveles de seguridad cuando se inicia sesión en la interfaz o en los accesos SSH.
- KMIP: En su formato Enterprise, se cuenta con la capacidad de interactuar con servidores KMPI para almacenamiento, recuperación de contraseñas y para claves de cifrado
- Plugins: podremos instalar una gran cantidad de software adicional de forma fácil y rápida
- Jails: podremos crear jails para almacenar los diferentes plugins de forma segura y aislada del sistema operativo
- Rendimiento: Como todo se mantiene actualizado, se han incluido mejoras de rendimiento con SMB, ZFS, iSCSI, etc.
- Claves API: Se puede configurar en modo TrueNAS API v2.0, lo cual no habilita claves para acceso remoto.
- Fusion Tools: Nos da la opción de crear agrupaciones con vdevs all-flash para el almacenamiento de metadatos y E/S de pequeños bloques. Esto mejorará el rendimiento en todas las operaciones de metadatos, lo cual al usar discos mecánicos puede ser de gran ayuda.
- Máquinas virtuales para instalar cualquier SO
- Cliente BitTorrent con Transmission
- Acceso a la consola para línea de comandos
También nos gustaría destacar que TrueNAS CORE permite la instalación de una gran cantidad de plugins de forma casi automática, no obstante, siempre vamos a poder instalar cualquier software de manera manual a través de SSH o por consola. Debemos recordar que este sistema operativo avanzado para montar un servidor NAS en nuestro hogar o empresa no es «cerrado», y podremos instalar todo el software adicional que nosotros queramos.
En cuanto al desarrollo de este sistema operativo y sus actualizaciones, uno de los principales aspectos que valoramos en RedesZone son las actualizaciones. En el caso de este sistema operativo, el proyecto está más vivo que nunca con el nuevo cambio de nombre, y gracias a la empresa IxSystems que es la que está detrás del desarrollo del sistema operativo. Por supuesto, debemos tener en cuenta que este SO está basado en FreeBSD, por tanto, todas las novedades y parches de seguridad incorporados en FreeBSD, también los tendremos en TrueNAS.
TrueNAS Core es uno de los sistemas operativos orientados a servidores NAS más avanzados que existen actualmente, además, dispone de una característica importantísima para proporcionar la mejor integridad a los datos: el sistema de archivos ZFS. Este sistema de archivos es uno de los más avanzados que existen, al tener FreeBSD como sistema operativo base, el uso de ZFS es totalmente nativo. El sistema operativo FreeBSD normalmente utiliza el sistema de archivos UFS, pero es perfectamente compatible con el sistema de archivos ZFS, tanto para el sistema como también para el almacenamiento. El sistema de archivos ZFS nos permitirá crear grupos de discos en espejo, también nos permitirá configurar paridad simple, doble y triple, con el objetivo de proteger la integridad de los datos en el caso de que uno de los discos duros se rompa. De hecho, podremos configurar hasta un RAIDZ-3, haciendo que se puedan romper hasta un máximo de 3 discos duros, y la información seguirá estando sin perder ni un solo dato. Algunas de las características de ZFS son las siguientes:
- Permite configurar conjuntos de almacenamiento en modo Stripe (suma de todos los discos), mirror (modo espejo, como un RAID 1 de varios discos), y luego los diferentes niveles RAIDZ. ZFS permite RAIDZ-1 con paridad simple, RAIDZ-2 con paridad doble y RAIDZ-3 con paridad triple, de esta forma, podremos tener la máxima protección de nuestros datos.
- Permite configurar unidades SSD como caché, para acelerar enormemente el rendimiento en lectura y escritura.
- Tiene CoW (Copy on Write)
- Permite realizar snapshots (instantáneas) de forma casi ilimitada. Esto nos permite poder «volver hacia atrás», es ideal en casos de ransomware donde se puede cifrar toda la información contenida en el servidor, normalmente se infecta todo vía SMB. Gracias a esta característica, podremos hacer instantáneas cada hora para guardar a buen recaudo toda la información, y no tener ningún problema.
- Permite configurar tanto volúmenes basados en archivos como los «dataset» como también en bloques.
Una vez que hemos conocido las principales características de este sistema operativo orientado a servidores profesionales, vamos a realizar la instalación y puesta en marcha. Aunque, antes de pasar a conocer la puesta en marcha, hay una serie de aspectos a destacar. Como es el claro ejemplo de los requisitos mínimos para la instalación de este sistema operativo para un servidor NAS, además de las distintas ventajas y los posibles inconvenientes que nos podemos encontrar al usar este software en particular.
Requisitos de instalación
Todos los sistemas o herramientas que podemos instalar en un equipo, tienen unos requerimientos mínimos. Esto es algo que las compañías nos facilitan, con vistas a proporcionar un rendimiento mínimo a cada usuario. Si estas no se ajustan al mínimo estipulado, en algunos casos las herramientas directamente no se instalaran. Mientras que en otros lo más probable es que tengamos alguna carencia, por lo general en forma de rendimiento. Y en casas excepcionales, un recorte en las funciones debido a que no se vana poder ejecutar en el sistema instalado.
En el caso de TrueNAS, se recomiendan un mínimo de 8Gb de memoria RAM. En cuanto al disco duro donde lo vamos a instalar, lo que nos dicen es que es muy recomendable utilizar un SSD. En este caso no nos lo ponen como un requisito definitivo. Pero si muy aconsejable, evitando los discos convencionales mecánicos o memorias USB. Por otro lado, requieren que al menos un disco se encuentre conectado de forma directa. Los conectores también son muy importantes, requiriendo por lo menos un puerto de red físico.
A nivel de software, nos dicen que se requiere un procesador de 64 bits. Lo cual es la norma general hoy en día. Por lo cual no vamos a tener problemas en este aspecto. Esto es básicamente porque TrueNAS ya no es compatible con sistemas de 32 bits, siendo la versión 9.2.1.9 en el año 2014, la última que soportó este estándar. Como puedes ver, TrueNAS no es un sistema muy demandante de hardware. Más bien todos los requisitos son bastante genéricos, haciendo de esta herramienta algo muy versátil. Lo cual nos permite instalarla en la mayoría de los equipos que tenemos hoy en día. Ya que por ejemplo en RAM, ya es extraño encontrar equipo con menos de 8Gb. Incluso los de 16Gb ya son muy comunes.
Por lo tanto, desde la propia web de esta herramienta nos dan una guía del hardware que debemos tener para la instalación y el funcionamiento correcto de este software. Por tanto, el procesador debería ser un Intel de 2 núcleos de 64 bits o AMD x86_64, además de 8 GB de RAM, un dispositivo SSD de 16 GB y dos unidades del mismo tamaño para un único grupo de almacenamiento. Así que, en el momento de llevar a cabo la instalación de este programa, hay que tener en cuenta estos requisitos mínimos de hardware.
Ventajas de TrueNAS Core
En primer lugar, TrueNAS Core es un sistema de almacenamiento en red local que permite a los usuarios acceder a sus archivos y datos de una forma rápida y segura desde cualquier dispositivo conectado a la red. A diferencia de otros servicios en línea, los datos almacenados se mantienen localmente y no se almacenan en servidores remotos de terceros, lo que proporciona un mayor nivel de privacidad y seguridad.
Además, ofrece una mayor capacidad de almacenamiento y flexibilidad en comparación con otros servicios. Los usuarios pueden agregar discos duros adicionales o configurar RAID para proporcionar redundancia y mayores niveles de seguridad. También pueden crear cuentas de usuario con diferentes niveles de acceso para controlar quién puede acceder a los datos almacenados en el sistema, ayudando a optimizar mucho la productividad.
Otra ventaja es la capacidad de personalización y configuración avanzada. Los usuarios pueden personalizar la configuración del sistema, como la configuración de la red, el acceso remoto o incluso la programación de las copias de seguridad. Además, TrueNAS Core es compatible con una gran variedad de aplicaciones y otros servicios, como pueden ser servicios en la nube y servicios de transmisión de medios.
Por último, se trata de una solución de almacenamiento en red que resulta muy rentable. A largo plazo, puede ser más económico que otros servicios que cobran por almacenamiento en la nube. Ya sea mensualmente o anualmente. En este caso, no se cuenta con limitaciones de ancho de banda, lo que significa que los usuarios pueden transferir grandes cantidades de datos sin tener que preocuparse por los costes que esto puede suponer de forma adicional.
Por lo cual estamos ante una de las mejores soluciones que podemos encontrar en el mercado actualmente. En todo caso, estos sistemas se basan mucho en las necesidades de los usuarios. Por lo cual, se puede dar el caso que para algo más concreto no se adapte de la forma adecuada, u otro sistema sea una opción mucho más factible.
Desventajas de TrueNAS Core
Pese a que es una de las soluciones más populares para almacenamiento NAS basado en software libre, también tiene una serie de desventajas, ya que todo no podía ser bueno, por lo que vamos a revisarlas para que las conozcas y puedas deducir si realmente es lo que buscas, o no:
- Curva de aprendizaje: TrueNAS Core está basado en FreeBSD y ZFS, lo que quiere decir que una persona sin conocimientos algo avanzados en informática, deberá seguir muchos tutoriales como el que hoy enseñamos para poder comprender e instalar de forma correcta el software, algo que podría desesperar a un usuario principiante.
- Actualizaciones y soporte limitado: Al hablar de un software gratuito, al igual que suele ocurrir, el soporte es muy limitado, y tendremos que apoyarnos de la comunidad y lo que encontremos en internet para poder resolver dudas y problemas.
- Requisitos de hardware exigentes: Debido a su formato, este software necesita alrededor de 1 GB por cada 1 TB de almacenamiento, que si bien no es una locura, sí que puede llegar a complicarnos en ciertos equipos, sobre todo si comenzamos a llenar cada vez más el disco. Habrá que tener cuidado con qué guardamos.
- Limitaciones en el ecosistema de plugins: Aunque TrueNAS Core permite la instalación de plugins y máquinas virtuales (VMs), la variedad de plugins es menor en comparación con otras soluciones como Unraid o Synology, siendo este último muy sencillo de utilizar y una opción ideal para los principiantes, a diferencia de TrueNAS.
- No es para principiantes: Como acabamos de decir, y como resumen general de todas las desventajas, no estaría adaptado a usuarios nuevos, y sería más recomendado para gente experimentada, quienes posiblemente no sufran ninguno de estos problemas.
Ahora que ya conoces los principales contras, es hora de decidir si instalarlo o no, por lo que pasaremos al siguiente paso si te decides a ello.
Instalación y puesta en marcha
Lo primero que tenemos que hacer es meternos en la web oficial de TrueNAS Core, e irnos a la sección de descargas. En este menú nos descargaremos una única imagen ISO para equipos x64 que nos permitirá instalarlo fácilmente vía DVD o USB booteable, un detalle muy importante son los requisitos recomendados de hardware, ya que es recomendable tener 8GB de memoria RAM como mínimo, ya que tendremos una gran cantidad de servicios funcionando, y el propio sistema de archivos ZFS consume mucha RAM si usamos deduplicación.
Una vez que lo hayamos descargado, podremos copiarlo a un DVD o a un USB booteable que será lo más normal, posteriormente ya solo faltaría arrancarlo y proceder con el asistente de configuración que tenemos disponible.



En RedesZone vamos a usar una máquina virtual con VMware donde añadiremos un total de 6 discos virtuales, para enseñaros cómo se configura el ZFS con diferentes discos. Abrimos el VMware o cualquier otro programa de virtualización como VirtualBox.
En el asistente de configuración de la máquina virtual, vamos a elegir la imagen ISO recién descargada, le damos un nombre a la máquina virtual, indicamos el tamaño del primer disco donde estará el sistema operativo (podemos poner 100GB, por ejemplo). Una vez que terminemos el asistente, es recomendable ajustar los parámetros de hardware, lo primero que debemos hacer es poner 8GB de memoria RAM, también sería recomendable poner varios núcleos de procesador para que funcione más rápido, y, por último, pondremos un total de 6 discos de 1TB de capacidad (virtual)














Cuando ya tengamos todo configurado, procedemos a arrancar el sistema operativo, y podremos ver el logo de TrueNAS y diferentes opciones, aquí no tenemos que tocar absolutamente nada, dejamos pasar unos segundos y arrancará automáticamente para proceder con la instalación del sistema operativo.
Cuando se inicie el asistente de configuración, debemos elegir la opción de «Install / Upgrade», y elegir el primer disco duro que hemos añadido a la máquina virtual, el de 100GB de capacidad que tenemos de forma predeterminada. Nos preguntará que, si queremos proceder con la instalación, todos los datos se borrarán, a continuación, tendremos que poner una contraseña de root para acceder al asistente, pero también podremos no ponerla. Una vez que lo hayamos configurado, debemos elegir si tenemos UEFI o BIOS, en nuestro caso elegimos BIOS, pero esto depende de la placa de cada servidor. Por último, nos preguntará si deseamos crear una partición de 16GB para swap en el dispositivo de arranque.










Una vez que esté instalado todo, nos indicará que ha terminado la instalación, y que reiniciemos el servidor. Pulsamos en OK, y salimos del menú de TrueNAS y procedemos a reiniciar el equipo normalmente. Una vez reiniciado, nos saldrá un listo de opciones de configuración básicas, pero también nos saldrán las direcciones IP para acceder a la administración vía web del sistema operativo, tanto con el protocolo HTTP (no seguro) como también el protocolo HTTPS (seguro).
En este menú básico por consola, podremos configurar la interfaz de red, la dirección IP, el Link Aggregation, si tenemos VLANs, la ruta por defecto, crear rutas estáticas, configurar los DNS, resetear la clave de root, resetear la configuración completa a valores de fábrica, ejecutar la consola para introducir comandos, reiniciar el servidor y también apagar el servidor NAS.


Una vez que ya tenemos instalado el sistema operativo, vamos a ver todas las opciones disponibles.
Opciones generales del sistema operativo
Cuando introducimos en nuestro navegador la URL de acceso al sistema operativo, tendremos que introducir el usuario y contraseña, el usuario es «root» y la contraseña la que nosotros hayamos fijado en el asistente de configuración.


Una vez dentro, podremos ver diferentes menús de configuración y de visualización de los diferentes parámetros. Por ejemplo, tendremos acceso a la información del sistema operativo, las características y el estado de la CPU, RAM y también de la interfaz de red. No obstante, cuando configuremos el almacenamiento también lo podremos ver, para administrarlo correctamente.
Principal
En el menú principal del sistema operativo podremos conectarnos a TrueCommand Cloud para monitorizar y administrar el NAS desde la nube, esto es algo opcional bastante interesante. En la parte superior derecha podremos ver el estado de todos los procesos y si está todo funcionando correctamente, las alertas que tengamos, menús para cambiar la contraseña, preferencias y las claves API, también podremos cerrar sesión, reiniciar el servidor NAS e incluso apagarlo fácilmente.





En este menú principal podremos ver una visión global de la configuración del almacenamiento del NAS, la red que tenemos configurada, la versión del sistema operativo instalada, la capacidad que tenemos ocupada y disponible para almacenar contenido, y otra información muy útil para administrar el servidor NAS correctamente.
Cuentas
En la sección de «Accounts» podremos crear los diferentes usuarios y grupos, asignando diferentes grupos a un mismo usuario y, por supuesto, aplicarle diferentes permisos de acceso. Más adelante en este tutorial os vamos a explicar en detalle cómo podemos crear los diferentes usuarios y grupos con sus correspondientes permisos, una de las partes de los servidores NAS más importantes es la buena gestión de los usuarios y permisos, proporcionando siempre los mínimos permisos posibles a los usuarios con el objetivo de evitar posibles problemas de seguridad.




TrueNAS nos permitirá configurar de manera muy detallada los diferentes usuarios, proporcionándoles permisos únicamente para acceder al servidor SMB incorporado en el sistema, o que incluso puedan conectarse (o no) a través del servidor SSH local.
Sistema
En la sección de «Sistema» podremos configurar la interfaz gráfica de usuario con diferentes perfiles, también podremos cambiar el puerto de administración, los protocolos TLS a utilizar, el idioma de la interfaz gráfica de usuario y mucho más. Un detalle importante, es que, aunque tengamos el idioma en español, la traducción no está completa, por lo que veremos muchos menús y opciones de configuración en inglés.
En esta sección podremos configurar los servidores NTP, el arranque del sistema, opciones de acceso por consola y GUI y otros parámetros avanzados, configurar el servidor SMTP para el email, configurar el dataset del sistema (primero tenemos que crearlo), el reporting que tenemos, las configuraciones de alertas, las credenciales Cloud, las conexiones SSH, las claves SSH, e incluso las variables internas (Tuneables), por último, también tendremos una opción de «Actualización». A diferencia de otros sistemas operativos para NAS, la actualización de TrueNAS CORE es realmente fácil y rápida, además, podremos realizar una actualización manual.


















Por último, también podremos configurar y crear nuevas CA (Autoridad de Certificación), los certificados digitales para el servidor/cliente VPN, configurar los DNS de ACME, acceso al soporte y también a la autenticación en dos factores que tenemos disponible.
Tareas
En la sección de «Tareas» es donde podremos programar el servidor NAS para realizar diferentes tareas programadas, podremos configurar trabajos en el Cron, podremos configurar scripts en el inicio y apagado del sistema, tareas a través de Rsync para sincronizar carpetas y archivos, tests programados de SMART para comprobar la salud de los discos, tareas para realizar snapshots de ZFS de manera periódica, las tareas de replicación y resilvering, asimismo también podremos programar tareas de scrubbing y tareas de sincronización Cloud.









Todas las tareas repetitivas las tendremos en este menú, con el objetivo de automatizar al máximo el servidor NAS y que no nos tengamos que preocupar de nada, de esta forma, el servidor NAS tendrá un mantenimiento mínimo, además, podremos programar avisos por email para que nos avise si tenemos algún tipo de problema.
Red
En la sección de «Red» es donde podremos configurar las diferentes interfaces de red, si es que tenemos varias, también podremos ver la ruta predeterminada y los DNS. También podremos configurar los DNS que nosotros queramos, e incluso configurar la puerta de enlace predeterminada. Por supuesto, si tenemos varias interfaces de red podremos hacer un Link Aggregation fácilmente, ajustar el MTU, y otras opciones avanzadas a nivel de red.






En un entorno de pequeña y mediana empresa e incluso empresarial, es muy normal tener redes Multigigabit, es decir, redes donde los switches sean 2.5G Multigigabit, 5G Multigigabit e incluso redes 10G. En este tipo de entornos, también es muy normal hoy en día disponer de servidores NAS con puertos 10G Multigigabit, para transferir datos a la máxima velocidad posible. En estos casos, es raro que necesitemos realizar un Link Aggregation de varios puertos, porque generalmente el cuello de botella estará en los discos duros en RAID del servidor. No obstante, en caso de que quieras crear un Link Aggregation de dos o más puertos físicos para tener 20Gbps de ancho de banda o más, podrás hacerlo.
Almacenamiento
La parte de almacenamiento es la más importante de los servidores NAS, en esta ocasión tenemos el sistema de archivos ZFS (OpenZFS) con la última versión. Podremos crear diferentes vdev configurados como stripe, mirror, y diferentes niveles de RAID-Z, e incluso podremos configurar diferentes discos como caché para acelerar la lectura y escritura de los datos. Otras opciones que tenemos disponibles son la posibilidad de crear todos los pools que queramos, y todos los dataset en un determinado pool.
Por último, no debemos olvidar que una de las opciones más interesantes de ZFS es la compresión en tiempo real, la deduplicación para ahorrar mucho espacio de almacenamiento (consume muchísima RAM), y también todas las opciones ACL disponibles y los Snapshots para protegernos de ataques de ransomware. Por último, también tendremos la posibilidad de configurar los discos cifrados, de esta forma, todos nuestros datos estarán encriptados.
En RedesZone os vamos a ofrecer un completo tutorial (más abajo) de cómo configurar el almacenamiento.






Directory Services
En la sección de servicios de directorio, podremos configurar el Active Directory si tenemos una red Windows, también podremos configurar el LDAP, NIS y Kerberos. Todos estos protocolos están orientados a la autenticación de los diferentes usuarios y grupos en el servidor NAS, podremos realizar una autenticación basada en AD, LDAP o Kerberos para reutilizar la infraestructura de autenticación de la empresa, y no tener que crear todos los usuarios y grupos directamente en el sistema operativo TrueNAS.
Normalmente en entornos empresariales tenemos siempre un servidor para la autenticación de los diferentes usuarios y los grupos a los que pertenecen, de esta forma, podríamos «enlazar» este sistema operativo para obtener las credenciales de acceso de estos servidores, para no tener que exportar todos los usuarios/contraseñas y configuración en grupos, sino que directamente estaremos autenticando a los usuarios en el AD.






Sharing
En la sección de «Sharing» es donde podremos configurar en detalle los diferentes protocolos para compartir archivos y carpetas en red local, tenemos AFP, iSCSI, NFS, WebDAV y también SAMBA, ideal para entornos Windows. A continuación, en este mismo tutorial os vamos a enseñar cómo podéis configurar el servidor Samba de forma avanzada, este protocolo nos permitirá intercambiar archivos y carpetas entre sistemas operativos Windows, Linux, MacOS y cualquier sistema operativo compatible con SMB.
Un aspecto muy importante de la sección de Sharing, es que existen protocolos que son compatibles con todos los sistemas operativos, como el WebDAV o el NFS, no obstante, es posible que necesitemos instalar software adicional en los ordenadores clientes para poder hacer uso de esto, por ejemplo, el NFS en sistemas operativos Windows.








Sin embargo, en esta sección no encontramos algo tan importante como el servidor FTP, esto se encuentra en «Servicios», por lo que nos tendremos que ir a ese menú y pinchar en «configuración» para acceder a la configuración del servidor ProFTPd que incorpora este sistema operativo.
Servicios
En la sección de «Servicios» es donde vamos a poder activar o desactivar los diferentes servicios, y también configurar si queremos que se inicien junto con el servidor NAS. Por supuesto, si pinchamos en el lápiz de la derecha, accederemos directamente a su configuración. En esta sección podremos encontrar todos y cada uno de los servicios del NAS, como los de compartir archivos en red local e Internet, OpenVPN tanto cliente como servidor, el SMART, Rsync y mucho más.
En un escenario donde estemos utilizando este sistema operativo orientado a NAS, tendremos los servicios como Dynamic DNS, FTP, OpenVPN Server y SMB entre otros, siempre que arranque automáticamente con el sistema operativo, y también nos mostrará que está «corriendo», es decir, que lo tenemos activado el servicio y funcionando sin ningún problema.
Plugins y jails
Uno de los aspectos que más nos gusta de TrueNAS es la posibilidad de instalar plugins para aumentar las funcionalidades del equipo. ¿Quieres instalar un Nextcloud o un Plex Media Server? Podrás hacerlo de manera muy fácil y rápida, simplemente tienes que pinchar en el icono del plugin, seleccionar un pool donde instalar todo el software en un jail, y seguir el asistente de configuración. Este asistente de configuración nos permitirá configurar en muy pocos pasos cualquier software adicional basado en Jails de FreeBSD.
Respecto a los jails, debemos recordar que FreeBSD hace uso de esto para almacenar el software compartimentado y que no influya en el resto del sistema operativo, es una implementación de virtualización a nivel de sistema operativo, como por ejemplo el popular Docker, pero es nativo de FreeBSD.




Gracias a estos jails podremos instalar todo el software adicional que nosotros queramos sin necesidad de «tocar» el sistema operativo principal, es decir, tendremos el software contenido perfectamente en una región del sistema operativo y aislada del resto, por lo que una mala configuración en un jail no debería afectar al resto del sistema operativo.
Reporting, Máquinas Virtuales, Procesos, Consola y Guía oficial
Otros menús que tenemos en este sistema operativo es la parte de Reporting donde veremos el estado de la CPU y RAM en detalle, la sección de máquinas virtuales, donde podremos instalar VM con sistemas operativos completos como Windows, posibilidad de ver los procesos de TrueNAS, y también acceder a la consola vía web del sistema y un enlace a la guía oficial de configuración de este sistema operativo.
La guía de instalación del sistema operativo es realmente útil para ver todas y cada una de las posibilidades que tenemos en este sistema operativo, no obstante, con las instrucciones que os vamos a comentar en este tutorial será suficiente para empezar a administrar correctamente el servidor NAS sin necesidad de ver la documentación oficial. No obstante, se agradece que el equipo de TrueNAS Core haya dedicado esfuerzos a la documentación, al fin y al cabo nadie mejor que los desarrolladores saben utilizar y enseñar qué opciones tenemos disponibles en este servidor NAS.





Hasta aquí hemos llegado con nuestro repaso a los principales menús de TrueNAS, ahora vamos a configurar el almacenamiento y diferentes servicios.
Configuración del almacenamiento con ZFS
El sistema de archivos ZFS es uno de nuestros favoritos para los servidores NAS, está diseñado para proporcionarnos la mejor integridad de datos posible, y también un gran rendimiento y eficiencia, ya que tenemos compresión en tiempo real y deduplicación, por lo que ahorraremos un gran espacio de almacenamiento en nuestros discos. Otras características son que podremos crear múltiples pools y dataset, e incluso instantáneas de forma nativa, no como otros sistemas de archivos que se hace vía software, aquí en ZFS son nativas gracias a su esquema «Copy on Write».
Para configurar el almacenamiento, lo primero que tenemos que hacer es irnos a la sección de «Storage / Disks», y aquí veremos todos los discos que tenemos actualmente en el servidor. Lógicamente, nosotros vamos a usar todos los discos de 1000GB, ya que el disco de 100GB es el que se utiliza para el sistema operativo. Si desplegamos la información de los discos, podremos ver el tipo de disco, fabricante, el estado del SMART y otras opciones típicas. También podremos ejecutar un test anual, ver los resultados del SMART y también formatear los discos si es que tenían información.



Una vez que nos hayamos asegurado de que todos los discos los ha reconocido correctamente, vamos a crear los «pools» con los discos en diferentes configuraciones.
ZFS Pools
En la sección de «Storage / Pools» pinchamos en «Add» y nos saldrá un pequeño asistente de configuración. En el siguiente menú tendremos que pinchar en «Create new pool» que es la opción predeterminada, ahora pinchamos en el botón «Create Pool» y nos saldrá el nombre del pool a crear, y también si queremos crearlo cifrado (encriptado), ideal para proteger toda la información interna.
Una vez que hayamos puesto un nombre, y si queremos o no que todo el pool esté cifrado, llega el momento de elegir uno o varios discos que tenemos disponibles.




Si pinchamos en el botón de «ADD VDEV» podremos crear un VDEV normal de datos, pero también de caché, log, hot spare, metadatos y dedup, lo más normal es crear un pool de datos, y posteriormente si queremos mejorar el rendimiento, crear diferentes pools de caché, log y más.
En el menú de «Available Disks» es donde tendremos que elegir los discos para posteriormente añadirlos al pool de dispositivos virtuales (Vdevs). Dependiendo del número de discos seleccionados, podremos elegir un modo de configuración en la sección de «Data Vdevs» justo debajo. Debemos recordar el funcionamiento de los diferentes niveles:
- STRIPE: Es un RAID 0 de los discos elegidos, la capacidad es la suma de todos los discos. Esto significa que en cuanto al espacio de los discos, es como si colocamos todo el almacenamiento en un único disco. ¿Qué queremos decir con eso? Pues que si tenemos 4 discos duros de 5TB cada uno, realizar esta configuración nos permitirá disponer de 20TB de almacenamiento. Pero seguramente esta capacidad se vea un poco afectada por el formateo. Uno de los principales beneficios de este, es que la velocidad de acceso será mucho mayor, al tener mayor capacidad de lectura y escritura. Por la contra, debemos tener muy presente que si alguno de los discos falla, todo el sistema de esta raid se verá afectado. No es la más idónea para almacenar datos, pero si para correr algún sistema operativo, por ejemplo
- Espejo: es un RAID 1 de los discos elegidos, pero podemos configurar más de 2 discos. También le podemos llamar “el modo espejo”. Esta configuración consiste en que todo lo que escribimos en un disco, también se puede escribir en otros discos al mismo tiempo. De este modo, si alguno se estropea no perderemos nada, pues tenemos otro u otros, donde está la misma información. Por lo tanto es muy buena opción para asegurar nuestros datos. La contra es que la capacidad de la que dispongamos será la equivalente a un solo disco. Ocurre lo mismo con la velocidad, esta será la que uno de los discos sea capaz de desarrollar.
- RAID-Z1: permite que falle un disco, es como un RAID 5. Si todos los discos tienen la misma capacidad, la capacidad total es la suma de todos los discos menos la capacidad de un disco. Para realizar esta configuración vamos a necesitar un mínimo de tres discos. Si disponemos de 3 discos con 4TB de almacenamiento, contaremos con un total de 8TB, y siempre tenemos la tranquilidad de que si falla un disco, no perderemos nuestros datos. Esto hace que los datos no se almacenen en una unidad fija, si no que se distribuyen entre las tres, y en caso de que falle un disco, se pueden recalcular los datos que faltan. En su defecto, si llegan a fallar dos de los tres discos que se requieren como mínimo, todo el raid fallaría. Esta configuración suele requerir una mayor potencia del NAS, y se usa para almacenar gran cantidad de datos, sin tener que gastar mucho dinero en hardware.
- RAID-Z2: permite que fallen dos discos, es como un RAID 6. Si todos los discos tienen la misma capacidad, la capacidad total es la suma de todos los discos menos la capacidad de dos discos. Aquí nos encontramos una configuración prácticamente igual a la de una raid 5, pero los datos de paridad se escribirán en dos discos, en lugar de uno como en la 5. En la anterior, si una unidad falla, puede demorarse horas, o incluso más de un día en realizar la reconstrucción de los datos faltantes. Pero en el caso de la raid 6, habría la posibilidad de recuperar los datos de forma instantánea.
- RAID-Z3: permite que fallen tres discos. Por lo cual estamos hablando de un sistema muy similar a las raid 5 y 6, pero con la posibilidad de que fallen 3 discos. En todo caso las posibilidades de que esto ocurra, son muy bajas.
Tal y como podéis ver, la configurabilidad es bastante amplia a la hora de crear diferentes niveles de RAID-Z.





Una vez que hayamos creado el pool, tendremos la posibilidad de agregar un dataset, un zvol, e incluso editar ciertas opciones, configurar cuotas de disco para usuarios y grupos, así como crear un snapshot bajo demanda.
ZFS Datasets
Respecto a la creación de un dataset, debemos tener en cuenta que tenemos dos dataset diferentes, los «filesystem» que es el dataset por defecto y que permite almacenar archivos normales y directorios, pero también tenemos «zvol» que es un dispositivo por bloques, para usar discos virtuales para entornos virtualizados y otros usos. Una de las partes más importantes es habilitar la compresión por defecto, ya sea con lz4 o con el nuevo algoritmo de compresión zstd que nos permite configurar diferentes niveles de compresión, para tener un mayor ratio de compresión y que sea más lento, o que sea más rápido y tenga menor ratio de compresión.
También podremos configurar la sincronización de ZFS, así como configurar el atime, la deduplicación, el comportamiento de los snapshots y otras muchas opciones de configuración avanzadas, sobre todo a nivel de ACL (Listas de Control de Acceso).






En el caso de querer crear otro pool con otro dataset, podremos hacerlo fácilmente desde estos menús que os hemos enseñado, simplemente agregaremos uno nuevo con el nivel RAID-Z que nosotros deseemos y listo.


Antes de terminar con el almacenamiento ZFS, nuestra recomendación es que configuréis instantáneas diarias, debemos recordar que esta característica nativa de ZFS nos permitirá volver hacia atrás en caso de borrar los archivos por error o por un ransomware. En otros sistemas de archivos esto no es posible de forma nativa, por lo que se hace a través de software, en ZFS tenemos instantáneas casi ilimitadas, aprovéchalo.
Configuración general del servidor
El sistema operativo TrueNAS dispone de cientos de configuraciones básicas y avanzadas, con el objetivo de adaptar perfectamente el servidor NAS a nuestras necesidades. Lo primero que os vamos a enseñar en este tutorial es crear diferentes usuarios y grupos, para administrar correctamente las carpetas y archivos que podemos almacenar en el espacio de almacenamiento del servidor.
Además, también os vamos a enseñar cómo se configura el servidor Samba, FTP y muchos otros servicios que consideramos básicos y que cualquier servidor NAS debería tener activados. De esta forma, podrás tener en cuenta las diferentes opciones de configuración que se pueden llevar a cabo dentro de este sistema operativo para los NAS. Por lo que será más sencillo tener una idea más generalizada de lo que ofrece y de las alternativas que permite a los usuarios.
Configuración de usuarios y grupos
La creación de usuarios y grupos en este servidor NAS con TrueNAS es muy fácil, en la sección de grupos podremos crear un nuevo grupo o varios, con el nombre que nosotros queramos, para posteriormente añadir a diferentes usuarios a este grupo recién creado. Lo más importante es si todos los usuarios que pertenezcan a este grupo queremos que tengan permisos sudo y también si se permite autenticación con samba para compartir archivos en red local.






En cuanto a las configuraciones de los usuarios, podremos configurar el nombre de usuario y también el grupo primario y secundarios a los que pertenece, por supuesto, podremos configurar la cuenta de correo electrónico, los directorios y permisos, la autenticación, los permisos de su home, e incluso si queremos permitir sudo y autenticación «cuenta microsoft» para utilizar Samba sin problemas desde sistemas Windows.
Podremos crear diferentes usuarios con diferentes permisos, cuando estamos creando usuarios, es muy importante controlar el tema de permisos de acceso a las diferentes carpetas.






Configuración del servidor Samba
Antes de configurar el servidor Samba, para que se conecten tanto los ordenadores con Windows, Linux o MacOS, deberemos asegurarnos de que el dataset tiene permisos «Passthrough», porque es posible que, sin querer, estemos impidiendo el acceso. También es muy importante crear un usuario con permisos de «cuenta microsoft» y permitir autenticación samba, tal y como podéis ver en las siguientes fotos. Por tanto, debería quedar que la cuenta Microsoft y autenticación samba en «True».



Una vez hecho esto, nos vamos a la sección de «Sharing» y «Windows Shares (SMB)». Aquí tendremos que añadir la ruta compartida, podremos seleccionar diferentes perfiles preconfigurados, en nuestro caso hemos elegido «Default Share Parameters», también debemos incorporar la ruta a un determinado dataset que nosotros hayamos creado, y, por supuesto, permitir o denegar el acceso como deseemos.
A nivel de configuración de Samba, este sistema operativo es realmente avanzado y tenemos cientos de opciones de configuración disponibles. Una vez configurado, tendremos que activar el servicio manualmente con los cambios ya realizados. Por supuesto, podremos configurar Samba con diferentes rutas para compartir los archivos.






Tal y como podéis ver, si accedemos vía Samba podremos ver todas las carpetas compartidas, y tendremos permisos para crear nuevas carpetas en nuestro propio home.



Configuración del servidor FTP
La configuración del servidor FTP es muy sencilla, pero nos debemos ir a la sección de «Services / FTP» y pinchar en «Edit» que lo tenemos en la derecha. Aquí podremos configurar el puerto FTP, número máximo de clientes, conexiones a la vez, intentos de login y timeout, además, si pinchamos en «Opciones avanzadas» se nos va a desplegar todas las opciones disponibles.
Podremos configurar en esta sección «avanzada» el chroot, si permitimos login como root, login anónimo permisos de archivos y directorios, e incluso activar TLS para usar FTPES. Por si todo esto fuera poco, también podremos limitar el ancho de banda, habilitar los puertos pasivos que queramos, el protocolo FXP e incluso podremos añadir parámetros auxiliares avanzados. Debemos recordar que TrueNAS hace uso de Proftpd, por tanto, tendremos todas las opciones a nuestro alcance.




Una vez configurado de forma básica el FTP, y arrancado el servicio, podremos acceder fácilmente, tal y como podéis ver:



Si habilitamos TLS, también podremos acceder de forma segura gracias al protocolo FTPES. En el caso de la configuración por defecto, usaremos RSA de 2048 bits y TLS 1.3, por tanto, tendremos la máxima seguridad en la transferencia de los archivos, haciendo uso de AES-256-GCM que es uno de los algoritmos de cifrado simétrico más seguros que existen hoy en día.



Tal y como habéis visto, configurar el servidor FTP en TrueNAS CORE es realmente fácil y rápido.
Configuración del servidor DLNA con Plex Media Server
El sistema operativo no incorpora un servidor DLNA, porque está orientado a entornos profesionales, pero podremos instalar el popular y potente Plex Media Server. Si nos metemos en la sección de «Plugins» podremos pinchar sobre el Plex Media Server o sobre la versión beta, una vez que pinchemos en él, podremos crear un Jail donde se almacenará todo lo necesario para su puesta en funcionamiento. Una vez que introduzcamos el nombre del Jail y la configuración a nivel de red, ya estaremos listo para instalarlo.



Automáticamente TrueNAS CORE descargará e instalará Plex, y una vez que lo haya descargado e instalado, podremos acceder vía web a su configuración habitual de siempre, donde tendremos que poner el origen del contenido multimedia.



Configuración del servidor SSH
Este sistema operativo hace uso de OpenSSH, por tanto, tendremos todas las opciones de configuración avanzadas de este potente servidor SSH. En la interfaz gráfica de usuario podremos configurar el puerto de acceso, si permitimos login como root, autenticación con clave, autenticación con Kerberos, e incluso hacer forwarding para túneles SSH. También podremos configurar el servidor SFTP, elegir cifrados no seguros para no usarlos nunca, y por supuesto, tendremos una sección de «parámetros auxiliares» donde podremos configurar OpenSSH en detalle.
Configuración del servidor OpenVPN
Uno de los servicios que más valoramos en un servidor NAS es la incorporación de un servidor VPN, en concreto, TrueNAS dispone de un completo servidor OpenVPN muy configurable. Esto nos permitirá acceder remotamente a la red, o acceder a los recursos compartidos del NAS de forma segura. En el menú de configuración del servidor OpenVPN podremos cargar el certificado del servidor y también de la CA, configurar la subred TUN que nosotros queramos, la topología de OpenVPN (subnet es lo habitual), habilitar los algoritmos de autenticación, cifrado y compresión, así como la posibilidad de configurar TLS Crypt e incluso parámetros adicionales.
En otras palabras, tenemos todo lo necesario para configurar de manera muy segura el servidor OpenVPN.
Lo primero que tenemos que hacer, es crear la CA y los certificados asociados, es necesario crear una nueva PKI (Infraestructura de Clave Pública). Nos vamos a la sección de «Sistema / CAs» y creamos una nueva con la configuración de RSA 2048 o superior, aunque es recomendable que sea 4096 o usar EC directamente. Nuestra recomendación es que uséis secp256k1 o brainpoolp256r1 en lugar de RSA.
Una vez creada la CA, deberemos crear un certificado de servidor y firmarlo con la CA, además, también deberíamos crear los certificados de los clientes VPN que se van a conectar. La configuración del tipo de clave debería ser la misma que la CA. Una vez que hayamos creado los certificados, nos aparecerá en el listado de certificados configurados. Si nos hemos equivocado, tendremos que borrar un certificado y volverlo a crear con los nuevos datos modificados.







Cuando ya tengamos los certificados, podremos elegirlos en el menú de configuración del servidor OpenVPN, tal y como podéis ver aquí:
Una vez configurado, podremos pinchar en guardar, e incluso podremos descargar la configuración del cliente, aunque nuestra recomendación es que sigáis nuestro tutorial de configuración de OpenVPN para hacer toda la PKI en Linux en detalle, y posteriormente importar los certificados necesarios en el TrueNAS, así tendréis la máxima seguridad posible.
Hasta aquí hemos llegado con este tutorial sobre TrueNAS CORE, uno de los mejores sistemas operativos para NAS que existen actualmente con ZFS.