Saturday, October 30, 2010

Guia básica para compartir datos con NFS

Saludos mis estimados lectores, hoy les mostrare como compartir datos entre dos maquinas usando NFS, antes de ir al grano, vamos a leer un poco sobre NFS (Network File System): Es un protocolo que tiene como rol, compartir archivos entre una red de maquinas que soporten tal protocolo, montando la unidad de red como si fuese local, este protocolo brinda una forma rapida y eficiente a la hora de compartir datos, esta incluido por defecto en sistemas Unix y la mayoria de las distribuciones de GNU/Linux.

Por cultura tambien es importante saber que fue desarrollado en 1984 por Sun Microsystems (recientemente adquirida por Oracle Corporation), a continuacion su instalación y configuración.

Para poner en marcha el servidor NFS necesitaremos de dos paquetes, nfs-utils y portmap (En fedora, el paquete portmap es llamado rpcbind, pero al tratar de instalar portmap automaticamente instalara rpcbind), instalamos con:

Yum:
yum install portmap nfs-utils

Apt:
apt-get install portmap nfs-utils

Luego subimos el servicio NFS:

/etc/init.d/nfs start

Luego verificamos si portmap (rpcbind), tiene arriba el servidor NFS:

rpcinfo -p | grep nfs$

Lanzandonos como resultado:

100003   2   tcp   2049   nfs
100003   3   tcp   2049   nfs

100003   4   tcp   2049   nfs
100003   2   tcp   2049   nfs


100003   3   tcp   2049   nfs
100003   4   tcp   2049   nfs


Si nos lanzó el resultado anterior, es porque tenemos funcionando todo bien hasta el momento, el siguiente paso sera exportar las rutas a compartir, agregandolas al archivo /etc/exports, dado el caso de que queramos por ejemplo compartir el disco montado en /media/Datos de nuestro servidor NFS, que nuestra red local sea 192.168.1.0 y que vallamos a permitir lectura y escritura en dicho disco, agregamos la ruta de la siguiente manera:

/media/Datos         192.168.1.0/255.255.255.0(rw)

Si solo queremos lectura, en vez de poner rw podemos poner ro (Read Only).

Para agregar seguridad al asunto, nos serviran dos ficheros:

El primero es /etc/hosts.deny, en el cual escribiremos lo siguiente para denegar el acceso a cualquier direccion  a los siguientes servicios, agregamos estas lineas:


portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

El segundo es /etc/hosts.allow, en el cual excluiremos de la denegacion a nuestra red local:


portmap:192.168.0.0/255.255.255.0
lockd:192.168.0.0/255.255.255.0
mountd:192.168.0.0/255.255.255.0
rquotad:192.168.0.0/255.255.255.0
statd:192.168.0.0/255.255.255.0

Luego reiniciamos el servicio nfs para que los cambios surgan efecto:

service nfs restart

Para finalizar vamos a configurar el equipo cliente, recuerda que deberas especificar a tu cortafuegos que acepte conexiones a los puertos 111 y 2049 tcp/udp, para configurar el cliente basta con montar la unidad con el siguiente comando como root:



mount 192.168.1.100:/media/Datos /media/nfs

Donde 192.168.1.100 es el servidor donde configure nfs, seguido de dos puntos, y la ruta que exportamos en el servidor y luego la ruta donde montaremos la unidad, en mi caso /media/nfs, recuerda crear la carpeta donde se montara.

Para que se monte automaticamente al iniciar la maquina agregamos la siguiente entrada a /etc/fstab:

192.168.1.100:/media/Datos   /media/nfs   nfs   rw,hard,intr   0   0

Y listo, espero que les haya gustado y servido esta pequeña guia.

0 comentarios:

Post a Comment