lunes, 18 de mayo de 2009

Instalación y configuración de servidor NFS en GNU/Linux

Quiero compartir con ustedes la forma de instalación y configuración de un servidor NFS que yo he probado y funciona correctamente en GNU/Linux Ubuntu 8.10, en otras versiones no he probado si funciona de la misma manera aunque creo que deveria de funcionar de la misma manera.

Antes que nada vayamos a saber que es el NFS

El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión) .[1] El protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y las distribuciones Linux.

Instalar NFS para el server

Para proceder a instalar abrimos una terminal y en ella escribimos:

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

Instalamos todo y ahora procedemos a configurar el servidor nfs de la siguiente manera:

Desde la consola ponemos: sudo gedit /etc/exports (a cambio de gedit pueden usar el que mas le guste como vi, vim u otros)ahora presionamos enter y nos tendria que abrir un archivo de la siguiente manera:

// Ejemplo de archivo /etc/exports de configuración del servidor NFS:

# Compartir la carpeta home del servidor
# en modo lectura y escritura y accesible desde la red 192.xxx.x.x/xx
/home/usuario/Compartidos 192.xxx.xx.xxx/255.255.255.0(rw)


Ahora aclaremos algo: /home/usuario/Compartidos es el directorio que estarías compartiendo en tu red donde dice 192.xxx.xxx.xxx sería la ip de tu maquina servidor.
Podemos compartir los archivos de distintas maneras tanto como lectura y escritura o de solo lectura como podemos ver al final de 255.255.255.0 esta (rw) que significa lectura y escritura.

Al final de esto guardamos el archivo editado.. Aca les dejo algunos modos de permisos:
ro: Read-Only. El cliente sólo podrá leer. Es el modo por defecto.

rw: Read-Write. El cliente podrá leer y escribir.

no_subtree_check: Si se exporta sólo parte de una partición puede ser que el usuario cliente no tenga derecho de acceso al directorio en cuestión. Esta directiva permite no comprobar el camino hasta el directorio que se exporta.

sync: Es la opción por defecto. Aunque las versiones mas nuevas usan la opción async. Bueno, sync sirve para que nfs notifique al usuario de los cambios (escritura) en los archivos cuando realmente se hayan ejecutado

async: Por contra es mucho más rápido ya que no espera a la confirmación por parte del sistema servidor para comunicar al usuario los cambios. Esta opción es mas peligrosa ya que si hay varios usuarios trabajando simultaneamente sobre un mismo archivo se pueden generar archivos corruptos.

root_squash: root_squash indica que un cliente identificado como root tendrá acceso al directorio con los privilegios del usuario anónimo.

no_root_squash: indica que todos los clientes salvo el identificado como root tendrán acceso al directorio con los privilegios del usuario anónimo.

all_squash: indica que todos los clientes tendrán acceso al directorio con los privilegios del usuario anónimo.

Ahora pasamos a reiniciar el servicio de la siguiente manera: sudo /etc/init.d/nfs-kernel-server restart

Arranque automático de NFS al iniciar el sistema.

Creación de enlaces simbólicos para que se inicie el servicio automáticamente al arrancar el servidor

sino están creados los enlaces para portmap o nfs-kernel-server deberemos crear ambos. No pasa nada si ejecutamos el comando y ya existierán, simplemente el sistema nos mostraría un mensaje avisándonos de esta situación

# update-rc.d portmap defaults
# update-rc.d nfs-kernel-server defaults

Con estos pasos ya tenemos listo nuestro servidor NFS. Ahora lo que necesitamos es configurar los clientes para eso configuramos los clientes con los siguientes pasos

en la consola tecleamos:

# apt-get install nfs-common

una vez instalado todo montamos la carpeta compartida de la siguiente manera, accedemos a la consola y tecleamos:

mount -t nfs 192.xxx.xxx.xxx:/home/usuario/Compartidos /media/

aclarando que 192.xxx.xxx.xxx vendria a ser la ip de tu servidor NFS y /home/usuario/Compartidos tu directorio al cual estas queriendo acceder previamente ya compartido en el server... y /media/ es el directorio en donde vas a montarlo en el cliente....

Si deseamos que nuestro PC monte siempre de forma automática una carpeta compartida por NFS cuando iniciemos nuestro GNU/Linux, existe la posibilidad de añadir en el archivo /etc/fstab una línea como por ejemplo:

# Montaje automático al iniciar el PC

#Añadir en /etc/fstab

sudo gedit /etc/fstab y al final del archivo agregamos lo siguiente

192.xxx.xxx.xxx:/home/usuario/Compartidos /media/ nfs

Y listo a mi me ha funcionado correctamente con esto, ahora espero que les pueda servir a ustedes...

0 entradas a blog:

..:: Acerca de este blog ::..

Este blog fue diseñado por el Lic. Felipe Aguilera - Lic. en Análisis de Sistemas. Cualquier duda o consulta comunicarse con: msfa001@gmail.com