Servidor NFS

El protocolo NFS, es el protocolo por excelencia en Linux para compartir ficheros, la desventaja que tiene esque Windows no es compatible, luego sólo podremos usarlo en redes Linux puras.


Para empezar, como todo servicio de red, tenemos el servidor y el cliente. El servidor será la máquina donde se encuentran los ficheros a compartir y el cliente el que los puede ver.


Empezaremos con la configuración del servidor:

1º-Instalamos los paquetes

# apt-get install nfs-kernel-server nfs-common portmap


2º- Reconfiguramos portmap

# dpkg-reconfigure portmap


Aquí respondemos ‘NO’ a la pregunta, para indicar que no debe usar las conexiones de loopback.


3º-Indicamos que directorios vamos a compartir en el /etc/exports; la sintaxis es la siguiente:

directorio cliente1(opcion11,opcion12) cliente2(opcion21,opcion22)


Las opciones son:


* ro | rw : Con la opción ro el directorio será compartido en modo lectura. Esta opción está por defecto. Con la opción rw se permitirá tanto acceso de lectura como de escritura.

* sync | async : sync es la opción recomendada, ya que se ha de respetar el protocolo NFS, es decir, no se responden a las peticiones antes de que los cambios realizados sean escritos al disco. Con la opción async se permite mejorar el rendimiento y agilizar el funcionamiento global, pero supone un riesgo de corrupción de archivos o del sistemas de ficheros en casos de caidas del servidor y/o errores de éste.

* root_squash | no_root_squash | all_squash : root_squash indica que un cliente identificado como root tendrá acceso al directorio con privilegios de un usuario anónimo. Si seleccionamos la opción no_root_squash evitaremos esto, y si indicamos all_squash, entonces aplicaremos esto último a todos los usuarios, no sólo root.


Un ejemplo de /etc/exports sería este:

/home/usuario/Escritorio 192.168.2.0/24(ro,sync,root_squash)

/tmp 192.168.2.3(rw,sync,no_root_squash)


En la primera línea le damos acceso de lectura a todos los ordenadores de la red al directorio /home/usuario/Escritorio cuya ip este entre 0 y 24.

En la segunda tendrá acceso el pc con la ip a /tmp con permisos de escriutra.


Por último sólo queda reiniciar los servicios para que funcione:

# /etc/init.d/nfs-kernel-server restart

# exportfs -a


Ahora que hemos acabado con el servidor, procedemos a la configuración del cliente:

1º- Instalar paquetes:

# apt-get install portmap nfs-common


2º-Creamos el punto de montaje:

# mkdir /mnt/remoto


3º-Comprobamos que la red funciona y podemos ver los archivos remotos montándolos a mano.

# mount ip_del_servidor:/home/usuario/Escritorio /mnt/remoto


Si ésto nos ha funcionado, ahora podemos configurarlo para que se monte al inicio automáticamente en el /etc/fstab.

Para ello añadimos al final del fichero lo siguiente:

ip_del_servidor:/home/usuario/Escritorio /mnt/remoto nfs defaults,auto,rw 0 0


Con ésto ya debería funcionarnos a la perfección, si algo falla, piensa que estos pasos son para Ubuntu Gutsy y no hemos tocado las configuraciones de los archivos /etc/hosts.deny y /etc/hosts.allow, a lo mejor esto te ayuda.


Fuente