Compartir carpetas con NFS

La red local es una herramienta realmente potente. Son muchas las cosas que se pueden hacer en una red local bien configurada, como compartir la conexión a Internet, compartir impresoras y compartir distintas carpetas entre varios usuarios. Para hacer esto último en una red local integrada por máquinas Linux y Windows, tendremos que echar mano de Samba, pero si nuestra red solo está integrada por máquinas Linux, el protocolo NFS nos permite hacer esto con gran efectividad.

Con NFS podremos exportar las carpetas a las que necesitemos acceder desde otras máquinas de la red local, donde las montaremos de la forma tradicional.

NFS sirve en realidad para más cosas, siendo su uso principal permitir que varias máquinas de una red local ejecuten una distribución mínima de GNU/Linux en la que las carpetas de programas residen en un ordenador central que actúa como servidor. El resto de ordenadores de la red (como clientes) solo almacenan la configuración local de esos programas remotos.

 

Uso de NFS

Para explicar cómo se usa NFS, imaginaremos que disponemos de una red local compuesta por dos ordenadores llamados, respectivamente, servidor y cliente, y que esta red local funciona correctamente. El ordenador servidor contiene una carpeta denominada /pub que queremos compartir con el otro ordenador. Para simplificar las cosas, supondremos que ambos ordenadores tienen instalada una distribución SuSE 9.0.

 

Preparando el servidor

El primer paso consiste en configurar el ordenador llamado servidor, en el que previamente habremos creado como usuario root la carpeta /pub que queremos compartir con el otro ordenador.

Una vez hecho esto, usaremos la herramienta YaST de SuSE para configurar el srvidor NFS. Tras ejecutarla, nos pedirá la contraseña del usuario root. Acto seguido iremos al apartado Servicios de red, y haremos clic con el ratón sobre el icono Servidor NFS:

Configurar servidor NFS mediante YaST: paso 1

Se pondrá en marcha el módulo que nos permitirá configurar el servidor NFS, a modo de asistente. Seleccionamos la opción Arrancar servidor NFS:

Configurar servidor NFS mediante YaST: paso 2

Tras pulsar el botón Siguiente, se nos muestra una lista de carpetas compartidas, que estará inicialmente vacía:

Configurar servidor NFS mediante YaST: paso 3

Pulsamos el botón Añadir directorio, con lo que aparecerá una pequeña ventana donde podemos escribir el nombre de la carpeta que deseamos exportar, o bien la podemos seleccionar pulsando el botón Examinar. En nuestro caso, como sabemos dónde está la carpeta que vamos a compartir, escribimos su dirección completa (/pub), y luego pulsamos el botón Aceptar:

Configurar servidor NFS mediante YaST: paso 4

Se mostrará un pequeño diálogo en el que configuraremos las propiedades de la carpeta que vamos a compartir. En el campo Comodines de hosts especificaremos qué ordenadores tendrán acceso a la carpeta compartida. Podemos poner el nombre de una máquina (por ejemplo, cliente), su dirección IP (por ejemplo, 192.168.0.2), o el nombre de un grupo de usuarios. Los nombres de las máquinas pueden contener comodines (por ejemplo, *.local.net). Por defecto, la carpeta está inicialmente compartida para toda la red (indicado por un asterisco), por lo que no modificamos este campo. En el campo Opciones especificamos algunos parámetros a tener en cuenta al exportar la carpeta. Como deseamos que todos los usuarios puedan leer y escribir en la carpeta, cambiamos la parte donde pone ro (que quiere decir solo lectura, read only en inglés) por rw (que quiere decir lectura y escritura, read and write en inglés). El resto de opciones no nos interesan por ahora, así que las dejamos tal y como están y pulsamos el botón Aceptar:

Configurar servidor NFS mediante YaST: paso 5

Ahora veremos nuestra carpeta en la lista de carpetas compartidas:

Configurar servidor NFS mediante YaST: paso 6

Podemos añadir más carpetas si así lo deseamos. Cuando terminemos, pulsamos el botón Finalizar, y eso es todo. Ahora se pondrá en marcha el servicio NFS, con lo que nuestra carpeta /pub quedará compartida en nuestra red local.

Este paso no tendremos que volver a repetirlo nunca más, a menos que queramos dejar de compartir la carpeta o compartir más carpetas del ordenador servidor. De este modo, cada vez que iniciemos nuestro sistema, estas carpetas seguirán estando compartidas.

 

Preparando el cliente

Una vez configurado el ordenador servidor para compartir la carpeta en cuestión, tendremos que configurar el ordenador llamado cliente para poder acceder a dicha carpeta. Para ello crearemos en primer lugar como usuario root una carpeta que actuará como punto de montaje local para la carpeta remota que acabamos de compartir en el otro ordenador. Siguiendo con nuestro ejemplo, crearemos la carpeta /mnt/pub.

A continuación haremos uso de la herramienta YaST de SuSE para poder montar la carpeta remota en el punto de montaje creado para ella. Tras ejecutarla, nos pedirá la contraseña del usuario root. Luego iremos al apartado Servicios de red, y haremos clic con el ratón sobre el icono Cliente NFS:

Configurar cliente NFS mediante YaST: paso 1

Se mostrará la ventana del módulo que nos permitirá configurar nuestro cliente NFS, en la que podemos ver una lista de puntos de montaje locales, inicialmente vacía:

Configurar cliente NFS mediante YaST: paso 2

Para poder acceder a la carpeta remota, pulsamos el botón Añadir, con lo que se muestra un diálogo en el que especificaremos el Nombre del servidor NFS (en nuestro caso, servidor, o bien su dirección IP). Si ignoramos este dato, podemos pulsar sobre el botón Escoger para seleccionar un servidor NFS de entre todos los disponibles en nuestra red local.

También especificaremos el Sistema de archivos remoto, es decir, la dirección completa de la carpeta que habíamos compartido en el ordenador servidor (en nuestro ejemplo, /pub). Del mismo modo, si ignoramos este dato, se podemos pulsar el botón Seleccionar para que se nos muestre una lista de las carpetas compartidas en el servidor NFS especificado.

Finalmente, especificaremos el punto de montaje local para la carpeta compartida (en nuestro caso, /mnt/pub). También podemos hacer uso del botón Examinar para buscar el punto de montaje en nuestro sistema.

Podemos dejar el campo Opciones tal y como aparece por defecto, y luego pulsamos el botón Aceptar:

Configurar cliente NFS mediante YaST: paso 3

Ahora veremos la carpeta compartida en la lista de carpetas remotas que se montarán en nuestro sistema:

Configurar cliente NFS mediante YaST: paso 4

Para terminar, pulsamo el botón Finalizar. A partir de este momento podremos acceder a la carpeta /pub del ordenador servidor desde su punto de montaje /mnt/pub en el ordenador cliente.

Estas modificaciones se guardan de forma automática en el archivo /etc/fstab, por lo que cada vez que iniciemos nuestro sistema podremos acceder a las carpetas compartidas que se encuentran en el ordenador servidor (a menos que esté apagado).

 

Conclusiones

Hemos visto (de una manera muy sencilla) cómo compartir una carpeta en una máquina de la red local para que el resto de máquinas puedan acceder a ella. Pero esto solo es el principio, ya que NFS nos permite compartir del mismo modo dispositivos que solo estén disponibles en una única máquina de la red local, como unidades ZIP, CD-ROM o DVD. Para ello, la carpeta que hay que compartir es su propio punto de montaje (por ejemplo, /media/cdrom, o /media/zip).

También es posible compartir una carpeta en modo de solo lectura para que todos puedan leer su contenido, pero no escribir en ella. Esto es útil, por ejemplo, para una carpeta que contenga documentación general (por ejemplo, /doc).

Y también es posible compartir particiones de otros sistemas operativos (como Windows), aunque no es aconsejable. Para minimizar la posibilidad de errores, estas carpetas se deben compartir en modo de solo lectura.

Enlaces relacionados

» En inglés

  • NFS howto
    Documento sobre cómo instalar y hacer funcionar NFS en Linux.
  • Linux NFS faqs
    Preguntas y respuestas sobre NFS en Linux
  • Samba
    Página del proyecto Samba.

» En español