Cómo alojar recursos compartidos NFS en Linux

Si eres un usuario de Linux con habilidades moderadas o un principiante con un servidor, la forma principal de acceder a los archivos es con Samba. Muchos hacen esto debido a lo difícil que parece ser NFS. Hay tantos pasos y pequeñas cosas que debes hacer bien en comparación con algo como Samba o incluso FTP. El hecho de que muchos usuarios de Linux pasen por alto NFS es una verdadera lástima, ya que tiene muchas funciones y usos excelentes. Es por eso que hemos decidido eliminar la dificultad de configurar un servidor NFS. Desglosaremos cómo puede alojar recursos compartidos NFS en Linux y le explicaremos en profundidad cómo puede poner un servidor en funcionamiento.

Instalación

Generalmente, cada distribución de Linux tiene las mismas herramientas NFS con algunas diferencias aquí y allá. Para que todo funcione, abra una terminal e instale los siguientes paquetes en su sistema. Estos paquetes instalarán la tecnología predeterminada necesaria para ejecutar el servidor, generarán los archivos de configuración predeterminados y, a veces, incluso configurarán otras cosas.

Ubuntu

sudo apt install nfs-kernel-server

Fedora

sudo dnf install nfs-utils system-config-nfs

Arch Linux

sudo pacman -S nfs-utils

Debian

sudo apt-get install nfs-kernel-server

OpenSUSE

sudo zypper install nfs-kernel-server

Otros Linux

El sistema de archivos, el cliente y el servidor NFS no es una tecnología nueva. Como resultado, podrá hacer que esto funcione fácilmente en casi cualquier distribución de Linux que exista. Si su sistema operativo no estaba cubierto, considere buscar «nfs utils» en el administrador de paquetes, o consulte la Wiki de su sistema operativo.

  Cómo solucionar problemas de teclado y mouse Corsair en macOS y Linux

Servicios Systemd

La configuración de un servidor NFS puede ser diferente, según la distribución de Linux que esté utilizando. Por ejemplo, si instala el paquete Ubuntu o Debian NFS, los servicios systemd se configuran y configuran automáticamente para usted. Sin embargo, en algo como Arch Linux, SUSE o Fedora, etc., deberá hacerlo manualmente. A continuación, se explica cómo habilitar estos servicios.

Si está ejecutando Arch Linux, Open SUSE o Fedora (o cualquier distribución de Linux que no configura automáticamente los servicios de systemd para NFS) abra una terminal e ingrese estos comandos.

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server 

sudo service rpcbind start 

sudo service nfs-server start

Configuración

Al instalar los paquetes NFS, el servidor está «configurado», pero eso no significa que los usuarios puedan acceder a él todavía. Para esto, los usuarios necesitan configurar exportaciones, ubicaciones de archivos, etc. Para comenzar, obtenga un shell de root en la terminal. Haz esto con: sudo -s

El archivo de exportación puede manejar cualquier tipo de directorio. De hecho, los usuarios pueden escribir fácilmente una ubicación directa en una carpeta que deseen compartir directamente en el sistema de archivos. El problema con esto es que representa un gran riesgo de seguridad. Es mucho más seguro tomar el contenido de un directorio y vincularlo a otro. Esto asegura que los permisos para carpetas y directorios en la carpeta / srv / no necesitan ser modificados para que todo sea seguro.

  Cómo configurar su propio servidor de transmisión de música en Linux con Subsonic

Por ejemplo, para configurar un recurso compartido NFS de la carpeta Imágenes de un usuario, haga lo siguiente:

mkdir -p /srv/nfs/pictures /home/username/Pictures/

mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Utilice el ejemplo anterior para hacer tantos montajes de enlace como desee. Tenga en cuenta que no es necesario montar directorios desde carpetas de inicio. En su lugar, use ese ejemplo y sea creativo.

Con todo eso resuelto, ejecute estos comandos para que las monturas se peguen:

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Nota: deberá cambiar los comandos de eco para adaptarlos a sus propias monturas.

Con los montajes configurados, es hora de configurar el archivo de configuración de exportaciones. El archivo de exportación es muy importante, ya que aquí es donde deberá especificar cada archivo compartido para que lo utilice NFS.

nano /etc/exports

Dentro del archivo de exportación, vaya hasta el final y escriba lo siguiente:

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Siéntase libre de escribir tantas líneas como desee. Tenga en cuenta que cada recurso compartido necesita su propio montaje, entrada fstab y entrada / etc / export.

  Cómo usar el comando finger en Linux

Nota: guarde el archivo de exportación con CTRL + O

Actualización de cambios

El servidor NFS está en funcionamiento, los archivos están en el lugar correcto y todo está listo para usar. Lo único que queda es actualizar los cambios realizados en el archivo de exportación. Este es un paso importante ya que el servidor NFS no actualizará los cambios realizados mientras se está ejecutando. Hacer cambios con: exportfs -rav

Si es necesario, reinicie el proceso del servidor dentro de systemd mediante el comando systemctl restart.

sudo systemctl restart nfs-server.

Conclusión

El sistema de archivos de red es una herramienta útil. Con él, los usuarios pueden tomar fácilmente archivos y directorios remotos y trabajar con ellos localmente como si fuera un disco duro físico. Esto es genial, ya que las herramientas del sistema de archivos de red de la competencia no brindan a los usuarios la misma ubicuidad y libertad.

A pesar de su utilidad, la mayoría de la gente prefiere usar Samba. Esto es comprensible, porque en comparación con Samba, NFS puede ser un poco molesto y tedioso de configurar. Sin embargo, si se enfrenta al difícil proceso de configuración, vale mucho más la pena.