Cómo instalar y configurar un servidor NFS en Ubuntu 22.04
NFS (Network File Share) es un protocolo que le permite compartir directorios y archivos con otros clientes Linux en una red. El directorio 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 22.04, 20.04 y 18.04 e instalación del Cliente NFS en el sistema Linux cliente.
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.
Paso 1: Instale el servidor kernel NFS en Ubuntu
El primer paso es instalar el paquete nfs-kernel-server en el servidor. Pero antes de hacer esto, primero actualicemos los paquetes del sistema usando el siguiente comando apt.
sudo apt update
Una vez que se complete la actualización, continúe 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 archivo compartido.
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 directorio de exportación y es en este directorio donde luego crearemos archivos a los que podrán acceder los sistemas cliente.
Ejecute el siguiente comando especificando el nombre del directorio de montaje NFS.
sudo mkdir -p /mnt/nfs_share
Como 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 del archivo según sus preferencias. Aquí le hemos otorgado privilegios de lectura, escritura y ejecución a todos los contenidos dentro del directorio.
sudo chmod 777 /mnt/nfs_share/
Paso 3: Otorgar acceso compartido NFS a los sistemas cliente
Los permisos para acceder al servidor NFS se definen en el archivo /etc/exports. Así que abre el archivo usando tu editor de texto favorito:
sudo vim /etc/exports
Puede proporcionar acceso a un solo cliente, a varios clientes o especificar una subred completa.
En esta guía, hemos permitido que una subred completa 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: significa lectura/escritura.
- sincronización: requiere que los cambios se escriban en el disco antes de aplicarse.
- No_subtree_check: Elimina la comprobación de subárbol.
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 independiente:
/mnt/nfs_share client_IP_1 (re,sync,no_subtree_check)
/mnt/nfs_share client_IP_2 (re,sync,no_subtree_check)
Paso 4: Exportar el directorio compartido NFS
Después de otorgar acceso a los sistemas cliente preferidos, exporte el directorio compartido NFS y reinicie el servidor del kernel NFS para que los cambios entren en vigor.
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
Paso 5: Permitir el acceso a NFS a través del Firewall
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 desactivado) 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
Hemos terminado de instalar y configurar el servicio NFS en el servidor, ahora instalemos NFS en el sistema cliente.
Paso 1: instale el paquete común NFS
Como es habitual, comience actualizando los paquetes y repositorios del sistema antes que nada.
sudo apt update
A continuación, instale los paquetes nfs-common como se muestra.
sudo apt install nfs-common
Paso 2: crear un punto de montaje NFS en el cliente
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
Paso 3: montar NFS Share en el sistema cliente
El último paso restante es montar el recurso compartido NFS que comparte el servidor NFS. Esto permitirá que el sistema cliente acceda al directorio compartido.
Verifiquemos la dirección IP del servidor NFS usando el comando ifconfig.
ifconfig
Para lograr esto ejecute el comando:
sudo mount 192.168.43.234:/mnt/nfs_share /mnt/nfs_clientshare
Paso 4: Probar el recurso compartido NFS en el sistema cliente
Para verificar que nuestra configuración NFS esté funcionando, crearemos algunos archivos en el directorio compartido 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! ¡El resultado confirma que podemos acceder a los archivos que acabamos de crear en el servidor NFS!
Y eso es todo. En esta guía, lo guiamos a través de la instalación y configuración del servidor NFS en Ubuntu 22.04, Ubuntu 20.04 y Ubuntu 18.04. . NFS rara vez se utiliza hoy en día y ha quedado relegado a favor del protocolo compartido Samba, más robusto y seguro.