Originalmente desarrollado por Sun’s Microsystems, NFS es un acrónimo de Network File System. Es un protocolo distribuido que permite a un usuario en una PC cliente acceder a archivos compartidos desde un servidor remoto de la misma manera que accedería a archivos ubicados localmente en su PC. El protocolo NFS proporciona una forma conveniente de compartir archivos a través de una red de área local (LAN). En esta guía, lo guiaremos a través de la instalación del servidor NFS en Ubuntu 20.04 LTS (Focal Fossa). Luego demostraremos cómo puede acceder a los archivos en el servidor desde un sistema cliente.
configuración de laboratorio
NFS Server IP: 192.168.2.103 Ubuntu 20.04 Client System IP: 192.168.2.105 Ubuntu 20.04
Paso 1) Instale el paquete del servidor kernel NFS
Para comenzar, instalaremos el paquete del servidor kernel NFS en Ubuntu que, de hecho, lo convertirá en un servidor NFS. Pero primero, actualicemos la lista de paquetes como se muestra.
$ sudo apt update
A partir de entonces, ejecute el siguiente comando para instalar el paquete del servidor kernel NFS.
$ sudo apt install nfs-kernel-server
Esto instala paquetes adicionales como keyutils, nfs-common, rpcbind y otras dependencias necesarias para que el servidor NFS funcione como se espera.
Puede verificar si el servicio del servidor nfs se está ejecutando como se muestra
$ sudo systemctl status nfs-server
Paso 2) Cree un recurso compartido de directorio NFS
El siguiente paso será crear un recurso compartido de directorio NFS. Este es el directorio en el que colocaremos los archivos que se compartirán en la red de área local. Lo crearemos en el directorio /mnt/ como se muestra a continuación. Aquí, nuestro directorio compartido de NFS se llama /my_shares. Siéntase libre de asignar cualquier nombre a su directorio.
$ sudo mkdir /mnt/my_shares
Dado que queremos que todos los clientes puedan acceder a todos los archivos, asignaremos la siguiente propiedad y permisos del directorio.
$ sudo chown nobody:nogroup /mnt/my_shares $ sudo chmod -R 777 /mnt/my_shares
Estos permisos son recursivos y se aplicarán a todos los archivos y subdirectorios que cree.
Paso 3) Otorgue acceso al servidor NFS a los clientes
Después de crear el recurso compartido del directorio NFS y asignar los permisos y la propiedad necesarios, debemos permitir que los sistemas cliente accedan al servidor NFS. Lo lograremos editando el archivo /etc/exports que se creó durante la instalación del paquete nfs-kernel-server.
Entonces, abra el archivo /etc/exports.
$ sudo vi /etc/exports
Para permitir el acceso a un solo cliente, agregue la línea a continuación y reemplace el parámetro IP del cliente con la IP real del cliente.
/mnt/my_shares client-IP(rw,sync,no_subtree_check)
Para agregar más clientes a la lista, simplemente especifique más líneas como se muestra:
/mnt/my_shares client-IP-1(rw,sync,no_subtree_check) /mnt/my_shares client-IP-2(rw,sync,no_subtree_check) /mnt/my_shares client-IP-3(rw,sync,no_subtree_check)
Además, puede especificar una subred completa como se muestra.
/mnt/my_shares 192.168.0.0/24 (rw,sync,no_subtree_check)
Esto permite que todos los clientes de la subred 192.168.0.0 accedan al servidor. En nuestro caso, otorgaremos a todos los clientes acceso al servidor NFS como se muestra
/mnt/my_shares 192.168.2.0/24(rw,sync,no_subtree_check)
Repasemos brevemente los permisos y lo que representan.
- rw (lectura y escritura)
- sincronizar (escribir cambios en el disco antes de aplicarlos)
- no_subtree_check (Evitar la comprobación de subárboles)
Paso 4 ) Exportar el directorio compartido
Para exportar el directorio y hacerlo disponible, invoque el comando:
$ sudo exportfs -a
Paso 5) Configure la regla de firewall para el servidor NFS
Si está detrás de un firewall UFW, debe permitir el tráfico NFS a través del firewall utilizando la sintaxis que se muestra.
$ sudo ufw permitir desde [client-IP or client-Subnet-IP] a cualquier puerto nfs
En nuestro caso, el comando aparecerá de la siguiente manera:
$ sudo ufw allow from 192.168.2.0/24 to any port nfs
Todos estamos bien ahora con la configuración del servidor NFS. El siguiente paso es configurar el cliente y probar si su configuración funciona. Entonces, procedamos y configuremos el cliente.
Paso 5) Configurar el sistema Cliente
Ahora inicie sesión en el sistema cliente y actualice el índice del paquete como se muestra.
$ sudo apt update
A continuación, instale el paquete nfs-common como se muestra.
$ sudo apt install nfs-common
Luego cree un directorio en la carpeta /mnt en el que montará el recurso compartido NFS desde el servidor.
$ sudo mkdir -p /mnt/client_shared_folder
Finalmente, monte el directorio compartido NFS remoto en el directorio del cliente de la siguiente manera.
$ sudo mount 192.168.2.103:/mnt/my_shares /mnt/client_shared_folder
Paso 6) Probar la configuración de NFS Share
Para probar si nuestra configuración funciona, vamos a crear un archivo de prueba en el directorio NFS como se muestra
$ cd /mnt/my_shares $ touch nfs_share.txt
Ahora, regresemos a nuestro cliente y veamos si podemos ver el archivo en nuestro directorio montado.
$ ls /mnt/client_shared_folder/
¡Y voilá! Ahí va nuestro archivo como se muestra en el fragmento a continuación. Esta es la confirmación de que nuestra configuración fue exitosa.
Es todo por hoy. Esperamos que esta guía le haya resultado útil y que pueda compartir archivos cómodamente mediante NFS en su red.
Leer también : Cómo instalar KVM en Ubuntu 20.04 LTS Server (Focal Fossa)