sábado, 27 de marzo de 2021

Instalar Servidor y Cliente NFS en Ubuntu

NFS o Sistema de archivos en red es un protocolo de sistema de archivos distribuido originalmente desarrollado solo por Sun Microsystem.

Através de NFS permites que un sistema comparta directorios y archivos con otros a través de tu red local

Podrás compartir archivos NFS con los usuarios e incluso los programas pueden acceder a la información en sistemas remotas casi como si estuvieran en una maquina local.

NFS opera en un entorno cliente-servidor donde el servidor es responsable de administrar la autenticación, autorización y administración de clientes, así como para todos los datos compartidos dentro de un sistema de archivos en particular. Despues de la autorización cualquier cliente puede acceder a los datos compartidos como si estuvieran en su almacenamiento interno.

Configurar un servidor NFS en Ubuntu es muy fácil. Solo necesitas realizar algunas instalaciones y configuraciones, tanto en el servidor como en el cliente.

Ventajas de utilizar el protocolo NFS para compartir archivos

1. Yo tengo una raspberry que tiene montado un servidor web que usa el directorio: /var/www/html y puedo acceder desde mi laptop rapidamente para cualquier desarrollo.

2. Para una aplicación de lectura de imágenes: Ejecuto mi programa que se encuentra en la laptop y leo el directorio remoto que esta dentro del RASPBERRY: /home/ftpuser/camara1/images. La ventaja de ello es que no tengo que configurar otro protocolo como ssh o ftp. Todo el acceso es simple. 

3. Útil trasparente para leer archivos

Configuración del servidor host

Paso 1: Instalar NFS kernel server: RASPBERRY u otro equipo

Actualiza los paquetes e instala

sudo apt-get update
sudo apt install nfs-kernel-server

Paso 2: Crear el directorio de exportación

El directorio o folder que queremos compartir con la red o el cliente que es llamado directorio de exportación

En mi caso yo compartiré el directorio principal de la raspberry:

/home/pi

Paso 3: Dar el acceso a los cliente(s) atraves del archivo de exportación NFS

Agregar la siguiente configuración al archivo: /etc/exports (recomiendo la ultima linea: le das acceso en toda la red)
sudo nano /etc/exports
/home/pi client1IP(rw,sync,no_subtree_check) # exmaple
/home/pi 192.168.1.62(rw,sync,no_subtree_check) # specific IP Client
/home/pi 192.168.1.0/24(rw,sync,no_subtree_check) # multiple Client on LAN

Los permisos “rw,sync,no_subtree_check” permisos definidos en este archivo significan que los clientes pueden realizar:

1. rw operaciones de (read)lectura y (write)escritura
2. sync escribe cualquier cambio en el disco antes de aplicarlo
3. no_subtree_check evita la comprobación de subarboles(directorios)

Paso 4: Exportar el directorio compartido

Despues de realizar la configuración debemos ejecutar el siguiente comando.
sudo systemctl restart nfs-kernel-server

Paso 5: Abrir el firewall para el o los clientes

Este paso es importante verifique si el firewall del servidor esta abierto a los clientes, para que ellos puedan acceder el contenido compartido. El siguiente comando configurará el firewall para dar acceso al cliente a través de NFS.
sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs #example
sudo ufw allow from 192.168.1.0/24 to any port nfs               # access for LAN

Ahora podemos revisar el estado del firewall de nuestro ubuntu a través del siguiente comando.

sudo ufw status

Ahora tu servidor esta listo para exportar la carpeta/directorio compartida a los clientes especificados a través del servidor NFS Kernel.

Configuración del cliente host

Paso 1: Instalar NFS Common

Actualizar los paquetes e instalar

sudo apt-get update
sudo apt-get install nfs-common

Paso 2: Crea un punto de montaje para la carpeta compartida NFS

Puedes crear esta carpeta en cualquier lugar de sus sistema. Crearemos la carpeta en el directorio mnt en el host cliente

sudo mkdir -p /mnt/sharedfolder_pi
chmod -R 777 /mnt/sharedfolder_pi

Paso 3: Montar el directorio compartido en el cliente

Use el siguiente comando en orden para montar el directorio compartido.

Ejemplo:

sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client

Configuración:

sudo mount 192.168.1.25:/home/pi /mnt/sharedfolder_pi
Directorio Compartido con NFS
Directorio compartido con NFS

Conclusión

Configurar un entorno cliente-servidor NFS en el sistema operativo Ubuntu es una tarea fácil. A travéz de este articulo. Tu aprendiste como instalar los paquetes NFS requeridos en ambos el servidor y el cliente o clientes.

 

 Referencias: nautilus-connect, nfs-server-and-client-on-ubuntu

No hay comentarios:

Publicar un comentario