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.
Índice de contenidos:
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.
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
- LDAP
- NIS
- Kerberos
- AFP
- iSCSI
- NFS
- WebDAV
- CIFS/SMB (Samba)
- FTP (Proftpd)
- Servidor DNS Dinámico
- Cliente OpenVPN
- Servidor OpenVPN
- Rsync
- S3
- SNMP
Otras características extras de este sistema operativo, son las siguientes:
- 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
- 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.
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.
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.
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.
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.
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.
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.
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.
Sin embargo, en esta sección no encontramos algo tan importante como el servidor FTP, esto se encuentra en «Servicios».
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.
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.
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.
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.
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.