Mostrando entradas con la etiqueta NFS. Mostrar todas las entradas
Mostrando entradas con la etiqueta NFS. Mostrar todas las entradas

sábado, 31 de mayo de 2008

NFS

Configuración en el SERVIDOR

Los paquetes necesarios para el funcionamiento del servidor son portmap, nfs-kernel-server y nfs-common.
sudo apt-get -fy install portmap
sudo apt-get -fy install nfs-kernel-server
sudo apt-get -fy install nfs-common

Para la configuración de un servidor de NFS se necesitan editar tres ficheros: /etc/exports, /etc/hosts.deny y /etc/hosts.allow.

/etc/exports
Contiene una linea por directorio a compartir. La estructura de dicha linea es:

directorio equipo1(opcion11,opcion12) equipo2(opcion21,opcion22)

optionxx: Son las opciones que nos permitirán tener acceso a esos directorios con determinados privilegios.

* ro | rw : Con la opción ro el directorio será compartido de solo lectura. Esta opción está por defecto.y con la opción rw se permitirá tanto acceso de lectura como de escritura.
* sync | async : sync es la opción recomendada, ya que se ha de respetar el protocolo NFS, es decir, no se responden a las peticiones antes de que los cambios realizados sean escritos al disco. Con la opción async se permite mejorar el rendimiento y agilizar el funcionamiento global, pero supone un riesgo de corrupción de archivos o del sistemas de ficheros en casos de caidas del servidor y/o errores de éste.
* root_squash | no_root_squash | all_squash : root_squash indica que un cliente identificado como root tendrá acceso al directorio con privilegios de un usuario anónimo. Si seleccionamos la opción no_root_squash evitaremos esto, y si indicamos all_squash, entonces aplicaremos esto último a todos los usuarios, no sólo root.

Un ejempo de fichero /etc/exports es el siguiente:

/home/usuario/datos 192.168.0.0(ro,sync,root_squash)
/tmp 192.168.0.0(ro,rw) 192.168.0.1 (rw)

Una vez configurados los ficheros pasamos a arrancar el servicio portmap y rpc.nsfd:

sudo /etc/init.d/nfs-common restart
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/portmap restart

NOTA: Tanto el fichero /etc/hosts.deny como el /etc/hosts.allow no es necesario que tengan contenido alguna, pero se recomienda que sean configurados para la seguridad de los datos.

Configuración en el CLIENTE

Instalamos los paquetes necesarios
sudo apt-get -fy install nfs-common

Montamos el directorio:

mount -t nfs dir_remoto dir_local
Ejemplo: mount -t nfs 192.68.1.10:/home/usuario/compartida /home/user/temporal

Para desmontar ejecutaríamos lo siguiente en el cliente:
umount -t nfs /home/user/temporal

HACER MÁS SEGURO EL SISTEMA(No necesario):
Los ficheros /etc/hosts.allow y /etc/hosts.deny tienen la siguiente estructura:

servicio: host [o red/mascara_subred], host [o red/mascara_subred]

servicio : Es el servicio que estará permitido o denegado para algunas IP’s, en nuestro caso serán portmap y rpc.nfsd.
host [o red/mascara_subred] : Indicará la IP del host de un posible cliente. También pueden indicarse redes con sus correspondientes mascaras de subred.

/etc/hosts.deny
En este fichero pondremos todas las restricciones posibles para hacer mas seguro el sistema. Para ello denegaremos el acceso a portmap, ya que si se deniega portmap, aunque permitas nfs, no se podrá compartir porque éste depende de portmap. Por lo que solo se tendrá acceso a portmap por aquellos equipos que estén definidos en el fichero /etc/hosts.allow. El fichero /etc/hosts.deny quedará:

portmap:ALL

/etc/hosts.allow
En este fichero debe indicar a quienes permitimos el acceso al servicio de nfs y portmap. Se pueden indicar hosts individuales o una red.

portmap:192.168.0.0/255.255.255.0
nfs:192.168.0.0/255.255.255.0