0.1 NFS
NFS (Network File System) es una forma sencilla y eficiente de acceder 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’as conveniente para nosotros (por ejemplo, accediendo s’olo al final del
fichero).
Creaci’on del directorio local
Antes de montar un directorio remoto es necesario tener uno local vac’io (sin ficheros
u otros directorios). Un ejemplo de creaci’on podr’ia ser:
# Creacin de un directorio vaco en el directorio "/tmp"
# y que se llama "nfs".
local_host@root# mkdir /mnt/nfs
Instalaci’on del servidor
-
Debian’s:
-
# Instalamos las utilidades para servir NFS.
remote_host@root# apt-get install nfs-kernel-server
# Creamos el (o aadimos al) fichero "/etc/exports" una
# lnea que exporte el directorio deseado
# (en este caso "/var/www"), con los
# parmetros adecuados. Vase "man exports" para conocer
# ms 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 192.168.6.*(rw,no_subtree_check)
EOF
-
Red Hat’s:
-
# Instalamos las utilidades para servir NFS.
remote_host@root# yum install nfs-utils
# Creamos el (o aadimos al) fichero "/etc/exports" una
# lnea que exporte el directorio deseado
# (en este caso "/var/www/html"), con los
# parmetros adecuados. V’ease "man exports" para conocer
# ms 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 192.168.6.*(rw,no_subtree_check)
EOF
# Creamos/a~nadimos el/al 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/al fichero "/etc/hosts.allow".
remote_host@root# cat << EOF >> /etc/hosts.allow
portmap: ALL
lockd: ALL
rquotad: ALL
mountd: ALL
statd: ALL
EOF
# Por seguridad, reiniciamos el demonio del NFS.
remote_host@root# /etc/init.d/nfs restart
Instalaci’on del cliente
-
Debian’s:
-
# Instalamos el cliente NFS.
local_host@root# apt-get install nfs-common
-
Red Hat’s:
-
# El cliente NFS debera haberse instalado con las nfs-utils.
Montamos localmente el sistema de ficheros remoto
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
informaci’on.
# Montamos el directorio "remote_host:/var/www" en
# el directorio "/mnt/nfs".
local_host@root# mount -t nfs remote_host:/var/www /mnt/nfs
Accedemos a un fichero remoto
# Mostramos el contenido del fichero en el host local.
local_host@usuario$ watch "tail /mnt/nfs/datos.txt"
Ejercicio 1: Determine usando Wireshark si el acceso al fichero
remoto es eficiente, en el sentido que s’olo se transmite por la red
aquella parte del fichero que se reclama desde el cliente.
Ejercicio 2: Seg’un el experimento anterior, qu protocolo de la
capa de transporte utiliza el NFS?