1.5 Acceso remoto usando NFS

NFS (Network File System) es una forma sencilla y eficiente de acceder remotamente a un directorio de un host remoto como si estuviera montado en nuestro host local. Esto nos va a permitir leer y escribir el fichero de datos de la forma más conveniente para nosotros (por ejemplo, accediendo sólo al final del fichero).

remote_host@root# mkdir /mnt/nfs

Debian’s:
# Instalamos las utilidades para servir NFS.  
remote_host@root# apt-get install nfs-kernel-server  
 
# Creamos el (o añadimos al) fichero "/etc/exports" una  
# l’inea que exporte el directorio deseado  
# (en este caso "/var/www"), con los  
# par’ametros adecuados. V’ease "man exports" para conocer  
# m’as sobre el formato de "/etc/exports".  
# Exportamos a todos los hosts de nuestra sub-red de clase C.  
remote_host@root# cat << EOF >> /etc/exports  
/var/www 193.147.118.*(rw,no_subtree_check)  
EOF  
 
# Instalamos el cliente.  
local_host@root# apt-get install nfs-common  
 
# Montamos el directorio exportado. Esto tambi’en puede  
# hacerse en tiempo de arranque usando el fichero  
# "/etc/fstab". Usese "man mount" para obtener m’as info.  
local_host@root# mount -t nfs remote_host:/var/www /mnt/nfs

Fedora Core’s:
# Instalamos las utilidades para servir NFS.  
remote_host@root# yum install nfs-utils  
 
# Creamos el (o añadimos al) fichero "/etc/exports" una  
# l’inea que exporte el directorio deseado  
# (en este caso "/var/www/html"), con los  
# par’ametros adecuados. V’ease "man exports" para conocer  
# m’as sobre el formato de "/etc/exports".  
# Exportamos a todos los hosts de nuestra sub-red de clase C.  
remote_host@root# cat << EOF >> /etc/exports  
/var/www/html 193.147.118.*(rw,no_subtree_check)  
EOF  
 
# Creamos/a~nadimos el fichero "/etc/hosts.deny".  
remote_host@root# cat << EOF >> /etc/hosts.deny  
portmap: ALL  
lockd: ALL  
mountd: ALL  
rquotad: ALL  
statd: ALL  
EOF  
 
# Creamos/a~nadimos el fichero "/etc/hosts.allow".  
remote_host@root# cat << EOF >> /etc/hosts.allow  
portmap: ALL  
lockd: ALL  
rquotad: ALL  
mountd: ALL  
statd: ALL  
EOF  
 
# Reiniciamos el demonio del NFS.  
remote_host@root# /etc/init.d/nfs restart  
 
# Montamos el directorio exportado. Esto tambi’en puede  
# hacerse en tiempo de arranque usando el fichero  
# "/etc/fstab". Usese "man mount" para obtener m’as info.  
local_host@root# mount -t nfs remote_host:/var/www/html /mnt/nfs

# Mostramos el contenido del fichero en el host local.  
local_host@usuario$ watch "tail /mnt/nfs/datos.txt"

Para ver uso que realmente se hace de la red en esta forma de acceso remoto, utilícese un analizador de tráfico como pueda ser Wireshark. ¿Qué protocolo de la capa de transporte utiliza el NFS? Determine si este servicio es eficiente a la hora de acceder sólo a una parte de un fichero remoto, tanto a la hora de leer como de escribir en él.