Network File System. 5ª parte. Configurando el servidor NFS

lunes, 24 de marzo de 2008

Para configurar el servidor NFS necesitamos editar tres ficheros:

/etc/exports
/etc/hosts.deny
/etc/hosts.allow


/etc/export

Dentro de export vamos a escribir cuales son los directorios que queremos compartir, que clientes pueden acceder a dichos directorio y cuales son las opciones a las que tiene permiso dicho cliente. En este caso el servidor NFS instalado acepta tanto descripciones de la versión 3 de NFS como de la 4, ya que es totalmente compatible con descripciones y opciones de las dos versiones, yo voy a utilizar las descripciones para la versión 3.

Editamos el archivo /etc/export con cualquier editor de texto en el que tengamos privilegios de root, al abrirlo nos muestra en comentarios algunos ejemplos de configuración del archivo.

Cada linea del archivo contiene la información de un directorio a compartir, la composición de la linea es la siguiente:

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

directorio: Es el directorio que deseamos compartir

equipoX: El cliente que tendrá acceso al directorio compartido, el equipo se puede indicar por la dirección IP o por DNS, por ejemplo: jfmoreno.cliennfs.com o 192.168.123.105. Aunque es recomendable utilizar la IP

opcionX: Son las opciones que dotan de determinados privilegios sobre el directorio a cada equipo, por lo que se puede personalizar las funciones que puede desempeñar cada equipo dentro del directorio compartido.



  • ro rw: ro indica que el directorio es de solo lectura para el cliente, esta opción está por defecto, con la opción rw se permite tanto el acceso de lectura como el 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/jfmoreno03/datos 192.168.123.105(ro,sync,root_squash)

/tmp 192.168.123.105(rw,sync,no_root_squash)


En estas dos lineas hemos configurado el acceso a los dos directorios indicados, al primero de ellos /home/jfmoreno03/datos, puede acceder el cliente con IP 192.168.123.105 el cual tendrá acceso de solo lectura, respetará la sincronización y si un usuario root accede a dicho directorio este tendrá los mismos permisos que un usuario anónimo, en el segundo caso /tmp, el acceso permite la lectura y escritura y que el usuario root tenga máximo privilegio.



Seguridad

Los ficheros /etc/hosts.deny y etc/host.allow están dedicados a aumentar la seguridad del servidor con normas de uso de los servicios, estos ficheros pueden dejarse en blanco, pero debemos de editar sus opciones para aumentar la seguridad.

Estos ficheros 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 algunos clientes, en nuestro caso los servicios activos serán portmap y rpc.nfsd



  • host [o red/mascara_subred]: Se indica la dirección IP de un cliente, aunque también se puede indicar una red con su correspondiente máscara de subred.

etc/hosts.deny

Editamos este fichero con permisos de root y en el escribimos todas las restricciones que podamos para hacer más seguro el sistema. Para ello vamos a denegar el acceso a portmap, ya que si denegamos el acceso a portmap aunque se esté permitiendo NFS, no se podrá compartir por que NFS depende de portmap. Por lo que solo se tendrá acceso a portmap en aquellos equipos que se hayan definido en el fichero /etc/hosts.allow

El fichero /etc/host.deny quedará así:

portmap:ALL



/etc/hosts.allow

En este fichero debe indicar a que clientes permitimos el acceso al servicio de nfs y portmap. Se pueden indicar hosts individuales o una red.

Editamos el fichero y en nuestro caso quedará así:




portmap:192.168.123.105




nfs:192.168.123.105




Una vez terminada la configuración del servidor, lo reiniciamos para aplicar los nuevos cambios.




# /etc/init.d/nfs-common restart




# /etc/init.d/nfs-kernel-server restart




# /etc/init.d/portmap restart


Y hasta aquí la configuración del servidor NFS.

---------------------------------------
Network File System.


1ª parte. Introducción teórica.
2ª parte. Ampliación teórica.
3ª parte. Instalación de máquinas virtuales y distribución Linux.
4ª parte. Instalación del servidor NFS.
5ª parte. Configurando el servidor NFS
6ª parte. Configurando el cliente NFS


Descargar todas las partes juntas en formato .PDF.
Network File System.PDF

0 comentarios: