Instala NFS en Ubuntu y comparte tus archivos en red con este protocolo

nfs1

NFS o Network File System es un protocolo de sistema de archivos distribuido, originalmente creado, por Sun Microsystems. A través de NFS, se puede permitir que un sistema comparta directorios y archivos con otros a través de una red.

En el intercambio de archivos NFS, los usuarios e incluso los programas pueden acceder a la información en sistemas remotos casi como si estuvieran residiendo en una máquina local.

NFS opera en un entorno cliente-servidor donde el servidor es responsable de administrar la autenticación, autorización y administración de los clientes, así como todos los datos compartidos dentro de un sistema de archivos específico.

Tras la autorización, cualquier número de clientes puede acceder a los datos compartidos como si estuvieran presentes en su almacenamiento interno.

Configurar un servidor NFS en tu sistema Ubuntu es muy simple. Todo lo que necesita hacer es realizar algunas instalaciones y configuraciones necesarias, tanto en el servidor como en las máquinas cliente, y estará listo.

En este artículo, explicaremos paso a paso cómo configurar un servidor y un cliente NFS que les permitirá compartir archivos de un sistema Ubuntu a otro.

Configurando el servidor NFS

Para configurar el sistema host para compartir directorios, necesitaremos instalar el servidor NFS Kernel y luego crear y exportar los directorios a los que queremos que accedan los sistemas cliente.

Ahora, vamos a abrir una terminal con Ctrl + Alt + T y en ella vamos a ejecutar el siguiente comando:

sudo apt install nfs-kernel-server -y

Hecha la instalación, ahora vamos a crear una carpeta que queremos compartir con el sistema cliente, este será una carpeta de exportación.

En este ejemplo vamos a crear la carpeta en el directorio actual en el que nos encontramos, pero puedes elegir la ruta que más te agrade.

En la terminal teclearemos:

sudo mkdir -p carpeta-compartida

Como queremos que todos los clientes accedan al directorio, eliminaremos los permisos restrictivos de la carpeta de exportación a través de los siguientes comandos:

sudo chown nobody: nogroup carpeta-compartida

sudo chmod 777 carpeta-compartida

Es importante que si esta en otra ruta, coloques está bien, ya que si dejas un solo espacio podrías cambiar los permisos de los directorios de tu sistema.

Ahora todos los usuarios de todos los grupos en el sistema cliente podrán acceder a nuestra «carpeta compartida».

Ahora en esta carpeta creada podrás colocar todo el contenido que deseas compartir.

Exportar el directorio compartido

Después de crear la carpeta de exportación, deberemos proporcionar a los clientes el permiso para acceder a la máquina del servidor host.

Este permiso se define a través del archivo de exportaciones ubicado en la carpeta /etc de tu sistema.

Utilicen el siguiente comando para abrir este archivo con Nano:

sudo nano /etc/ exports

Una vez que haya abierto el archivo, puede permitir el acceso a la carpeta que crearon con el siguiente comando:

/ruta/de/la/ carpeta-compartida ip-de-cliente (rw, sync, no_subtree_check)

O puedes añadir múltiples clientes agregando las siguientes líneas en el archivo:

/ruta/de/la/carpeta-compartida ip-de-cliente-1 (rw, sync, no_subtree_check)
/ruta/de/la/carpeta-compartida ip-de-cliente-2 (rw, sync, no_subtree_check)

O puedes colocar un rango de IP de la siguiente forma:

/ruta/de/la/carpeta-compartida ip-de-cliente1/24 (rw, sync, no_subtree_check)

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

rw : operaciones de lectura y escritura

sync : escriba cualquier cambio en el disco antes de aplicarlo

no_subtree_check : evita la comprobación de subárbol

Después de realizar todas las configuraciones anteriores en el sistema host, ahora es el momento de exportar el directorio compartido:

sudo exportfs -a

Finalmente, para que todas las configuraciones tengan efecto, reinicie el servidor del núcleo de NFS de la siguiente manera:

sudo systemctl restart nfs-kernel-server

Un paso importante es verificar que el servidor de seguridad del servidor esté abierto a los clientes para que puedan acceder al contenido compartido.

sudo ufw allow from ip/rango to any port nfs

Quedando algo así:

sudo ufw allow from 192.168.1.1/24 to any port nfs

Ahora, cuando verifique el estado de su firewall de Ubuntu a través del siguiente comando, podrá ver el estado de Acción como «Permitir» para la IP del cliente.

sudo ufw status

Su servidor host ahora está listo para exportar la carpeta compartida a los clientes especificados a través del servidor de Kernel NFS.

Configurando la máquina cliente

Ahora es el momento de realizar algunas configuraciones simples en la máquina cliente, de modo que la carpeta compartida desde el host se pueda montar en el cliente y luego acceder sin problemas.

Para ello vamos a instalar el cliente de NFS con el siguiente comando:

sudo apt-get install nfs-common

El sistema de su cliente necesita un directorio donde se pueda acceder a todo el contenido compartido por el servidor host en la carpeta de exportación.

Pueden crear esta carpeta en cualquier parte de su sistema.

sudo mkdir -p carpeta-cliente

Ahora la carpeta que crearon en el paso anterior es como cualquier otra carpeta en su sistema a menos que monte el directorio compartido desde su host a esta carpeta recién creada.

Usen el siguiente comando para montar la carpeta compartida desde el host a una carpeta de montaje en el cliente:

sudo mount IPdelserivdor:/ruta/de/la/carpeta-compartida /ruta/carpeta-cliente

Quedando el comando más o menos de la siguiente forma:

sudo mount 192.168.1.1:/home/servidor/carpeta-compartida /home/cliente/carpeta-cliente

Ahora llego el momento de probar la conexión dirigiéndose al folder desde la maquina o maquinas cliente y verificar que el contenido compartido se encuentra ahí.


4 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   luis dijo

    cual protocoo es mas rapido para la transferencia de archivos? NFS o samba

  2.   luis dijo

    cual protocolo es mas rapido para la transferencia de archivos? NFS o samba

  3.   Javier Jimeno Suarez dijo

    Hola Luis, realmente la velocidad depende de tu red.

    Samba y NFS son dos protocolos distintos.

    Samba sirve para compartir carpetas que puedan ser accedidas desde cualquier otro sistema (Android, windows, linux, etc)

    NFS es un protocolo que se instala en modo servidor en la maquina donde tengas la carpeta que desees compartir y como cliente en la maquina linux donde quieras montarla como si de un filesystem local mas se tratase (lo puedes montar en cada sesion o configurarlo en el fichero fstab para que se monte cada vez que inicias).

    Espero haber aclarado un poco la diferencia.

  4.   Pedro dijo

    Me da error, no has puesto ejemplos, sintax error. Dejas espacios erróneos, así que no sé donde están los errores.
    No me vale para nada.