En esta entrada vamos a ver cómo instalar NFS Server en Debian 9 Stretch paso a paso, de forma que puedas compartir diferentes sistemas de archivos en red desde tu servidor hacia otros sistemas clientes.
Tabla de contenidos
Antes de instalar NFS Server en Debian 9 Stretch
Si quieres seguir los pasos de esta guía de instalación del servidor NFS en Debian 9 Stretch, habrá que cumplir los siguientes requisitos mínimos:
- Un sistema Debian 9 Stretch actualizado.
- Acceso a línea de comandos con un usuario con privilegios de sudo.
- Otras máquinas en red desde las que realizar pruebas.
- Conexión a Internet.
En este tutorial trabajaremos sobre un servidor Debian 9 Stretch con nombre DNS debian9.local.lan y dirección IP 192.168.0.100 dentro de una red local 192.168.0.0/24, en la que otros sistemas conectarán a los directorios compartidos vía NFS.
Cómo instalar NFS Server en Debian 9 Stretch
Para instalar el servicio NFS en Debian 9 Stretch usaremos los paquetes diponibles en los repositorios del sistema, actualizando la información de los mismos previamente:
~$ sudo apt update
Instalamos el paquete nfs-kernel-server con apt:
~$ sudo apt install -y nfs-kernel-server
Descargado e instalado el paquete y sus dependencias, se crean los servicios rpcbind y nfs-server, servicios que quedan funcionando en segundo plano y habilitados para su inicio automático con cada arranque de Debian 9.
Podemos comprobar el estado del servicio nfs-server con el comando systemctl status nfs-server
:
Existen varias versiones del servicio NFS, así que para saber cuáles de ellas están disponibles en nuestro servidor Debian 9 consultaremos desde consola:
~$ sudo cat /proc/fs/nfsd/versions -2 +3 +4 +4.1 +4.2
Veremos que por defecto tenemos disponibles las versiones 3 y 4, pero no la 2 por ser demasiado antigua. Teniendo en cuenta esto podremos definir los recursos exportados ateniéndonos a las características de cualquiera de las versiones soportadas.
Cómo configurar el firewall de Debian 9 para NFS
Si tienes activado el firewall UFW de Debian 9 será necesario añadir la regla correspondiente que permita la conexión al servicio NFS:
~$ sudo ufw allow nfs
Cómo configurar NFS en Debian 9 Stretch
Para configurar NFS en Debian 9 Stretch hay que tener en cuenta que sus archivos de configuración se encuentran en la ruta /etc/default/, tratándose de los archivos nfs-common y nfs-kernel-server. En estos archivos podemos activar o desactivar algunas características del servicio, siguiendo las instrucciones que encontraremos en ellos.
Pero el archivo más importante es sin duda /etc/exports, ya que es el que contiene la definición de los directorios compartidos.
Podemos añadir directorios compartidos editando el archivo:
~$ sudo nano /etc/exports
Para definir los directorios compartidos añadimos una línea por cada uno de ellos al final del archivo, de forma similar a la siguiente:
... /srv/backup 192.168.0.0/24(rw,sync,no_subtree_check) /srv/libros 192.168.0.0/24(ro,no_subtree_check)
En una típica definición de recurso compartido NFS v3 podemos observar las siguientes partes:
- La ruta del directorio compartido.
- El cliente o clientes permitidos (en este caso todos aquellos que pertenezcan a la red indicada).
- Las opciones de exportación.
Las opciones más típicas son:
- rw: Permite lectura y escritura (teniendo en cuenta los permisos del usuario que accede).
- ro: Sólo se permite lectura.
- sync: Prioriza la sincronización de las operaciones de escritura, lo que significa que los cambios realizados se vuelcan lo antes posible. Se favorece la integridad de los archivos sobre el rendimiento.
- subtree_check: Si se comparte un directorio en lugar de un sistema de archivos, se verifican los archivos del directorio.
- no_subtree_check: No se verifican los archivos del directorio compartido.
En el ejemplo hemos creado un recurso compartido /srv/backup con permisos de escritura, por lo que activamos las opciones de sincronización. Sin embargo, el directorio /srv/libros lo ofrecemos en modo lectura únicamente, por tratarse de documentos no modificables, así que podemos prescindir de la opción sync.
Obviamente, las rutas compartidas deben existir previamente.
Una vez guardados los cambios en el archivo exports, habrá que reiniciar la configuración del servicio nfs-server:
~$ sudo systemctl restart nfs-server
Cómo conectar a NFS Server desde Debian 9 Stretch
Para montar remotamente un recurso NFS desde una máquina cliente, esta deberá contar con las herramientas necesarias. En el caso de máquinas Debian 9 y similares necesitarán tener instalado el paquete nfs-common:
~$ sudo apt install -y nfs-common
Accederemos a los directorios compartidos a través del comando mount, por lo que debemos tener previstos los puntos de montaje en el sistema de archivos local. Por ejemplo, vamos a crear puntos de montaje para los recursos compartidos del paso anterior:
~$ sudo mkdir /mnt/{backup,libros}
Ya podemos proceder a montar los directorios compartidos:
~$ sudo mount -t nfs debian9.local.lan:/srv/backup /mnt/backup/
Y:
~$ sudo mount -t nfs 192.168.112.100:/srv/libros /mnt/libros/
Hemos usado indistintamente el nombre DNS y la dirección IP del servidor Debian 9 para montar los directorios que comparte.
Montaje con /etc/fstab
Si necesitamos que estos recursos compartidos estén disponibles desde el inicio del sistema, o para facilitar su montaje en cualquier momento, es buena idea incluirlos en el archivo /etc/fstab:
~$ sudo nano /etc/fstab
Añadimos al final del archivo una línea por cada directorio compartido que queramos montar:
... debian9.local.lan:/srv/backup /mnt/backup nfs defaults,user,exec 0 0 192.168.0.100:/srv/libros /mnt/libros nfs defaults,user,exec,noauto 0 0
De nuevo hemos usado indistintamente la dirección IP y el nombre de máquina para referirnos al servidor Debian 9. Si no queremos que los directorios se monten automáticamente usamos la opción noauto, y si queremos posibilitar que los usuarios puedan montarlos, la opción user.
Conclusión
Ahora que sabes cómo compartir archivos en red gracias a este potente servicio ya puedes transferir información entre las máquinas de tu red fácil y rápidamente.
Si tienes alguna duda, pregunta o sugerencia puedes dejar un comentario. Aunque están moderados para evitar molesto SPAM, se revisan prácticamente a diario.
Y si gracias a esta guía ya compartes información en tu red y quieres agradecérnoslo, puedes ayudarnos a mantener este sitio dejando una propina a partir de 1 $ desde PayPal:
¡Gracias!