NFS

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar

Este documentación asume que 10.0.2.4 es la IP del servidor y que 10.0.2.8 es la IP del cliente.

Desde el servidor

Pasamos a 'root' desde el terminal:

sudo su -

Introduzca la contraseña del usuario.

Buscamos el paquete del servidor de NFS:

apt-cache search nfs | grep server
...
nfs-kernel-server - Infraestructura del servidor de NFS del núcleo

Podemos comprobar que el servicio está lanzado con:

service nfs-kernel-server status

Lo instalamos:

apt-get install nfs-kernel-server

Ahora tenemos que configurarlo para exportar una carpeta por la red, para ello añadimos los clientes que pueden acceder a la carpeta. Para ello, añadimos esta línea a /etc/hosts.allow:

ALL: 10.0.2.8

Para ello podemos usar la redirección de salida vista en clase:

echo "ALL: 10.0.2.8" >> /etc/hosts.allow

Creamos la carpeta a compartir, vamos a llamarla 'ejemplo':

mkdir /ejemplo

Le añadimos un fichero a dicha carpeta:

echo "Hola mundo" > /ejemplo/holamundo.txt

Actualizamos el fichero /etc/exports donde se indican qué carpetas se comparten por NFS, añadimos esta línea. De nuevo podemos usar la redirección de salida para añadir líneas a un fichero.

echo "/ejemplo 10.0.2.8/255.255.255.0(rw,no_root_squash,subtree_check)" >> /etc/exports

Actualizamos las carpetas compartidas:

exportfs

Y recargamos el servidor de NFS:

service nfs-kernel-server reload

Desde el cliente

Instalamos el soporte de NFS:

apt-get install nfs-common

Montamos la carpeta compartida de 'ejemplo' que se encuentra en el servidor, sobre nuestra carpeta local '/mnt':

mount 10.0.2.4:/ejemplo /mnt

Podemos comprobar que tenemos acceso al contenido de 'ejemplo':

$ ls /ejemplo
holamundo.txt

Podemos probar a añadir contenido a la carpeta /mnt en el cliente y desde el servidor hace 'ls /ejemplo' para comprobar que esta carpeta es compartida por cliente y servidor.

Con la orden 'mount' podemos comprobar que está montado:

10.0.2.4:/ejemplo on /mnt type nfs4 (rw,relaytime,vers=4.2,rsize=262144,wsize=262144,namlen=255,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.2.8,local_lock=none,addr=10.0.2.4)

Una vez ya no se requiera acceder más a la carpeta de ejemplo que está montada sobre /mnt, podemos desmontarla con la orden:

umount /mnt

Ojo pues, a partir de este momento, la carpeta /mnt ya no hace de punto de anclaje de la carpeta remota /ejemplo que está en el servidor.