Cómo configurar un servidor Linux NFS en su red doméstica (y por qué)
Si necesita compartir carpetas en su red y la velocidad es su principal prioridad, NFS podría ser la solución para usted.
Tengo varias carpetas compartidas en mi red. Algunas de esas carpetas son para archivos más pequeños a los que se debe acceder desde cada máquina de mi LAN (red de área local), mientras que otras tienden a usarse para archivos más grandes (como videos). Sin embargo, para esos archivos más pequeños (como copias de seguridad de galeras), uso Samba porque es flexible y fácil de usar. Para archivos más grandes, suelo utilizar NFS.
NFS significa Network File System y es un sistema sencillo para compartir carpetas a través de una red. Aparte de la flexibilidad, es un poco más fácil trabajar con Samba que con NFS, razón por la cual muchos optan por seguir ese camino. Pero cuando necesita guardar archivos más grandes en un recurso compartido de red, NFS es una buena opción.
Quiero mostrarte cómo configurar un recurso compartido NFS en tu red, usando Linux.
Cómo instalar NFS
Lo que necesitarás: Lo único que necesitarás para esto es una instancia en ejecución de Linux (lo demostraré en Pop!_OS basado en Ubuntu), un usuario con privilegios sudo y una red doméstica.
1. Instale los paquetes de servidor necesarios.
Inicie sesión en su máquina Linux, abra una ventana de terminal y prepárese para ejecutar un comando. Si su distribución preferida es Ubuntu, ese comando sería:
sudo apt-get install nfs-kernel-server -y
Si la máquina está basada en Fedora, el comando sería:
sudo dnf -install libnfsidmap sssd-nfs-idmap nfs-utils -y
Si la máquina está basada en Arch, el comando es:
sudo pacman -S nfs-utils
2. Instale el paquete de cliente requerido
Ya hemos instalado el paquete del cliente en Fedora y Arch y debemos hacer lo mismo en Ubuntu. El comando para esto es:
sudo apt-get install nfs-common -y
Cómo crear un recurso compartido NFS
1. Crea el nuevo directorio
A continuación, crearemos un directorio para albergar los archivos de nuestro recurso compartido NFS. Puedes colocar esto donde quieras, pero lo agregaremos al directorio raíz con el comando:
sudo mkdir /share
2. Dale a la carpeta los permisos adecuados.
Con la carpeta compartida creada, es momento de darle los permisos necesarios con el comando:
sudo chmod -R 777 /share
Cómo definir nuestro nuevo recurso compartido con NFS
El siguiente paso es definir la nueva acción. Para ello, necesitará conocer la dirección IP de la máquina que accederá al recurso compartido. Con esa información en la mano, definamos la acción.
1. Abra el archivo de configuración NFS.
Abra el archivo de configuración con el comando:
sudo nano /etc/exports
2. Agrega el recurso compartido
En el archivo de exportaciones, agregue lo siguiente:
/share ADDRESS(rw)
Donde DIRECCIÓN es la dirección IP de la máquina cliente que accederá al recurso compartido NFS. El rw significa que el cliente tendrá acceso de lectura y escritura al recurso compartido.
Cómo abrir el firewall
1. Máquinas basadas en Fedora y Arch
Luego deberá abrir el firewall en su servidor. Si el servidor es una máquina basada en Arch o Fedora, los comandos para esto son:
sudo firewall-cmd --permanent --zone=public --add-service=nfs
sudo firewall-cmd --reload
2. Máquinas basadas en Ubuntu
Si la máquina está basada en Ubuntu, el comando para abrir el firewall es:
sudo ufw allow from 192.168.1.0/24 to any port nfs
Iniciar el servicio
Ahora puede iniciar el servicio NFS. El mismo comando se puede utilizar en los sistemas Arch, Fedora y Ubuntu. Ese comando es:
sudo systemctl --enable now nfs-server
El servidor debería iniciarse y ahora está listo para las conexiones.
Cómo montar la acción
A diferencia de Samba, el recurso compartido no es visible automáticamente para su red. En su lugar, debe montarlo desde sus otras máquinas Linux. Aquí se explica cómo hacerlo.
Digamos que la dirección IP de su servidor NFS es 192.168.1.176 y el recurso compartido es /share. Para montarlo en una máquina cliente, primero deberá crear una carpeta para montar el recurso compartido. En su máquina cliente, ejecute el comando:
nano mkdir ~/nfs_mount
A continuación, abra el archivo fstab con el comando:
sudo nano /etc/fstab
Al final del archivo, agregue la siguiente línea:
192.168.1.176:/share /home/USER/nfs_mount nfs rw 0 0
Donde USUARIO es su nombre de usuario de Linux.
Guarde y cierre el archivo. Verifique la configuración con:
sudo mount -a
No deberías ver errores en el resultado.
En este punto, ahora se puede acceder al recurso compartido NFS en su máquina Linux desde su directorio ~/nfs_mount. Cualquier archivo que ya esté en el recurso compartido estará disponible y cualquier archivo que agregue a ~/nfs_mount (en el cliente) aparecerá en el directorio /share en el servidor. Debido a que agregamos el comando de montaje a /etc/fstab, el recurso compartido se montará automáticamente, incluso después de reiniciar.