¿Que es NFS?
Network File System (Sistema de archivos de red), o NFS es un protocolo de sistema
de archivos de red. Es utilizado para distribuir archivos en un entorno de red de
computadoras de área local.
NFS esta dividido en dos partes : un servidor y uno o mas clientes. Los clientes acceden de forma remota a los datos almacenados en el servidor.
Con NFS podemos tener de un directorio /home en el servidor y acceder a ellos desde
cualquier computadora de la red.
También se pueden compartir a través de la red, dispositivos de almacenamiento como
disqueteras, CD-ROM y unidades ZIP.
Instalación
Para instalar nfs, podemos hacerlo desde la terminal.
sudo apt- get install nfs-common nfs-kernel-server
(nfs-kernel-server ) instalarlo en el servidor, no hace falta en los clientes.
Configuracion del servidor NFS
Primero vamos a editar el archivo /etc/exports he indicaremos que carpetas deseamos compartir, los permisos y desde que computadoras es posible conectarse.
Las opciones más importantes son:
- ro: "solo lectura"
- rw: "lectura/escritura"
- no_subtree_check:
- no_root_squash:
- sync:
// Ejemplos de archivo /etc/exports de configuraron del servidor NFS:
# Compartir carpeta tmp a todos con permisos de solo lectura
/tmp *(ro)
# Compartir carpeta tmp, escritura y accesible desde
# 192.168.1.0/20
/tmp 192.168.1.0/20(rw)
# Compartir carpeta tmp a una computadora en especial con permisos de solo lectura.
/tmp 192.168.1.10(ro)
Cuando compartimos carpetas con NFS, se recomienda restringir al máximo los permisos, si solo nos conectamos desde nuestra red, tan solo permitiremos el acceso desde dicha red.
Cada vez que realicemos una modificacion en el archivo exports, debemos reiniciar el servidor NFS.
Arranque, reinicio y parada de NFS.
Para que el servidor funcione,es necesario tener portmap arrancado.
sudo service portmap start
sudo service nfs-kernel-server start
Lo mismo para reiniciar y parar el servicio.
Acceso a carpetas mediante NFS
Para que un cliente tenga acceso a un servidor NFS, necesitamos el paquete nfs-common.
Para acceder a una carpeta compartida por NFS es necesario montar la carpeta en nuestro sistema de archivos, accederemos a ella como si fuese cualquier carpeta de nuestro disco duro.
Para saber que carpetas tiene exportadas el servidor NFS usaremos el siguiente comando.
showmount -e ip_del_server
Un ejemplo
Imaginemos que la salida del comando anterior a sido la siguiente.
Export list for 192.168.1.10
/home/usuario/Compartida
Ya sabemos que comparte la carpeta /home/usuario/Compartida.
Ahora creamos una carpeta con nombre Compartida-Servidor por ejemplo.
Y montamos la carpeta compartida de esta forma:
mount -t nfs ip-del-servidor:/home /mnt/home-servidor.
Ya esta todo listo para acceder a la carpeta como si fuese parte de nuestro disco duro.
Si teneis firewall instalado tipo firestarter , recordad abrir puertos para el servicio NFS.
Si queremos que cada vez que que entremos a nuestro pc se monte automáticamente añadimos la siguiente linea al archivo /etc/fstab.
servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs nfs user,exec,dev,nosuid,rw,noauto 0 0
(Todo es la misma linea)
Ya nuestro server NFS listo para trabajar.
Lo explicado hasta aqui es la configuración básica de un servidor NFS, en próximos post veremos como agregar mas seguridad a un servidor NFS.
Fuentes:
Wikipedia
NFS-Howto