Cómo instalar y configurar un servidor NFS en Ubuntu 18.04


NFS (Network File Share) es un protocolo que le permite compartir directorios y archivos con otros clientes Linux en una red. El directorio que se va a compartir generalmente se crea en el servidor NFS y se le agregan archivos.

Los sistemas cliente montan el directorio que reside en el servidor NFS, lo que les otorga acceso a los archivos creados. NFS resulta útil cuando necesita compartir datos comunes entre sistemas cliente, especialmente cuando se están quedando sin espacio.

Esta guía constará de 2 secciones principales: Instalación y configuración del servidor NFS en Ubuntu e Instalación del cliente NFS en el sistema cliente Linux.

Instalación y configuración del servidor NFS en Ubuntu

Para instalar y configurar el servidor NFS, siga los pasos que se describen a continuación.

El primer paso es instalar el paquete nfs-kernel-server en el servidor. Pero antes de hacer esto, primero actualice los paquetes del sistema usando el siguiente comando apt.

$ sudo apt update

Una vez que se complete la actualización, proceda e instale el paquete nfs-kernel-server como se muestra a continuación. Esto almacenará paquetes adicionales como nfs-common y rpcbind que son igualmente cruciales para la configuración del recurso compartido de archivos.

$ sudo apt install nfs-kernel-server

Paso 2: crear un directorio de exportación NFS

El segundo paso será crear un directorio que se compartirá entre los sistemas cliente. Esto también se conoce como el directorio de exportación y es en este directorio donde posteriormente crearemos archivos que serán accesibles para los sistemas cliente.

Ejecute el siguiente comando especificando el nombre del directorio de montaje de NFS.

$ sudo mkdir -p /mnt/nfs_share

Dado que queremos que todas las máquinas cliente accedan al directorio compartido, elimine cualquier restricción en los permisos del directorio.

$ sudo chown -R nobody:nogroup /mnt/nfs_share/

También puede modificar los permisos de archivo según sus preferencias. Aquí le hemos dado privilegios de lectura, escritura y ejecución a todos los contenidos dentro del directorio.

$ sudo chmod 777 /mnt/nfs_share/

Los permisos para acceder al servidor NFS se definen en el archivo/etc/export. Así que abre el archivo con tu editor de texto favorito:

$ sudo vim /etc/exports

Puede proporcionar acceso a un solo cliente, varios clientes o especificar una subred completa.

En esta guía, permitimos que toda una subred tenga acceso al recurso compartido NFS.

/mnt/nfs_share  192.168.43.0/24(rw,sync,no_subtree_check)

Explicación sobre las opciones utilizadas en el comando anterior.

  • rw: Stands for Read/Write.
  • sync: Requires changes to be written to the disk before they are applied.
  • No_subtree_check: Eliminates subtree checking.

Para otorgar acceso a un solo cliente, use la sintaxis:

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)

Para varios clientes, especifique cada cliente en un archivo separado:

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)
/mnt/nfs_share  client_IP_2 (re,sync,no_subtree_check)

Después de otorgar acceso a los sistemas cliente preferidos, exporte el directorio compartido de NFS y reinicie el servidor del kernel de NFS para que los cambios surtan efecto.

$ sudo exportfs -a
$ sudo systemctl restart nfs-kernel-server

Para que el cliente acceda al recurso compartido NFS, debe permitir el acceso a través del firewall, de lo contrario, será imposible acceder y montar el directorio compartido. Para lograr esto, ejecute el comando:

$ sudo ufw allow from 192.168.43.0/24 to any port nfs

Vuelva a cargar o habilite el firewall (si estaba apagado) y verifique el estado del firewall. Se debe abrir el puerto 2049, que es el recurso compartido de archivos predeterminado.

$ sudo ufw enable
$ sudo ufw status

Instale el cliente NFS en los sistemas cliente

Terminamos de instalar y configurar el servicio NFS en el servidor, ahora instalemos NFS en el sistema cliente.

Como es norma, comience por actualizar los paquetes del sistema y los repositorios antes que nada.

$ sudo apt update

A continuación, instale los paquetes nfs-common como se muestra.

$ sudo apt install nfs-common

A continuación, debe crear un punto de montaje en el que montará el recurso compartido nfs desde el servidor NFS. Para hacer esto, ejecute el comando:

$ sudo mkdir -p /mnt/nfs_clientshare

El último paso que queda es montar el recurso compartido NFS que comparte el servidor NFS. Esto permitirá que el sistema cliente acceda al directorio compartido.

Comprobemos la dirección IP del servidor NFS con el comando ifconfig.

$ ifconfig

Para lograr esto, ejecute el comando:

$ sudo mount 192.168.43.234:/mnt/nfs_share  /mnt/nfs_clientshare

Para verificar que nuestra configuración de NFS está funcionando, crearemos algunos archivos en el directorio compartido de NFS ubicado en el servidor.

$ cd /mnt/nfs_share/
$ touch file1.txt file2.txt file3.txt

Ahora regrese al sistema cliente NFS y verifique si los archivos existen.

$ ls -l /mnt/nfs_clientshare/

¡Excelente! ¡La salida confirma que podemos acceder a los archivos que acabamos de crear en el servidor NFS!

Y eso al respecto. En esta guía, lo guiamos a través de la instalación y configuración del servidor NFS en Ubuntu 18.04. NFS rara vez se usa hoy en día y ha sido relegado a favor del protocolo de intercambio Samba más robusto y seguro.