PDF de programación - El servicio NFS

Imágen de pdf El servicio NFS

El servicio NFSgráfica de visualizaciones

Publicado el 15 de Marzo del 2019
71 visualizaciones desde el 15 de Marzo del 2019
139,5 KB
13 paginas
Creado hace 5a (18/11/2013)
Administración y Gestión de Redes

Ficheros compartidos en red I: NFS

Ficheros compartidos en red I: NFS.

Autor: Enrique V. Bonet Esteban

Introducción.

El servicio de sistema de ficheros en red (Network File System) fue desarrollado
por Sun Microsystems y presentado en el año 1984. El NFS permite que los
ordenadores exporten (hagan disponibles) e importen (obtengan acceso) a directorios,
sistemas de ficheros y dispositivos periféricos1, de forma que los sistemas de ficheros de
ordenadores remotos se comportan como si fueran locales.

El servicio NFS utiliza, para su funcionamiento, los servicios proporcionados
por el protocolo de representación de datos externos (eXternal Data Representation,
XDR) de la capa de presentación del modelo OSI y el protocolo de llamada a
procedimiento remoto (Remote Procedure Call, RPC) de la capa de sesión del modelo
OSI. Por debajo, dependiendo de la versión del protocolo, se utiliza UDP y/o TCP para
la capa de transporte e IP para la capa de red. En concreto, la versión 1 de NFS utiliza
solo UDP, mientras que las versiones 2 y 3 de NFS utilizan TCP y UDP para la capa de
transporte, mientras que la versión 4 solamente utiliza TCP. Nosotros describiremos las
versiones 2, 3 y 4 del protocolo, pues la versión 1 no es soportada por los actuales
kernels de Linux.

Las versiones 2 y 3 de NFS utilizan un protocolo sin estado, esto es, el protocolo
no almacena ninguna información sobre las peticiones que los clientes realizan al
servidor, por lo que el servidor desconoce si un fichero ha sido exportado a un cliente,
etc. Por el contrario, la versión 4 introduce el estado en el protocolo, de forma que un
cliente puede indicar al servidor que desea hacer con un fichero (leer, escribir,
bloquearlo, etc.), y el servidor puede con estar información permitir o denegar el acceso
al fichero, aunque los permisos de exportación del fichero y del usuario permitan la
acción, así como informar a otros clientes de que el fichero ya esta exportado a otros
clientes y los modos de exportación.

Como se puede deducir de los párrafos anteriores, la arquitectura del servicio
NFS es una arquitectura cliente/servidor. Por ello, empezaremos estudiando el servidor
de NFS para pasar con posterioridad a ver el cliente.

El servidor de NFS.

El servidor de NFS es el ordenador que exporta los sistemas de ficheros. La
exportación de los sistemas de ficheros en las versiones 2 y 3 se realiza siempre a
ordenadores remotos y nunca a usuarios concretos, por lo cual no existe la posibilidad
de exportar un sistema de ficheros a un usuario concreto de un ordenador, sino que un
sistema de ficheros exportado a un ordenador es accesible a todos los usuarios de ese
ordenador. Este aspecto es modificado en la versión 4, pues en ella se puede autenticar a

1 A partir de ahora hablaremos solo de sistemas de ficheros, aunque todo lo dicho sobre ellos es aplicable
siempre a dispositivos periféricos.

Doble Titulación Informática + Telemática

1

Administración y Gestión de Redes

Ficheros compartidos en red I: NFS

usuarios y/o grupos mediante el protocolo de autenticación Kerberos2. Con el fin de
simplificar la exposición del tema, nos centraremos en las versiones 2 y 3 del protocolo,
explicando puntualmente algunos aspectos que pueden ser interesantes de la versión 4,
pero sin entrar en otros como la autenticación mediante Kerberos, etc.

El funcionamiento de NFS utiliza llamadas a procedimientos remotos (Remote
Procedure Call), lo que requiere el que el servicio de rpcbind (antiguo servicio
portmap) se encuentre arrancado previamente. En la versión 2 del protocolo solo es
necesario que el servicio de rpcbind se encuentre arrancado en el servidor, mientras que
en las versiones 3 y 4 es necesario que tanto cliente como servidor tenga arrancado el
servicio de rpcbind, pues en caso contrario la exportación funciona de forma muy lenta
y puede llegar a no funcionar.

El programa /usr/sbin/rpcbind es un programa genérico, no específico del
servicio NFS, y que proporciona la conversión entre los números de programa del RPC
y los puertos de los protocolos. Cuando un servidor RPC arranca, informa al rpcbind en
que puerto esta preparado para aceptar peticiones y que números de programa RPC esta
preparado para servir. Cuando un cliente quiere llamar a un servicio RPC, pregunta al
rpcbind del ordenador servidor para determinar el puerto donde el mensaje RPC debe
ser enviado. El rpcbind debe ser arrancado antes que cualquier servidor RPC mediante
el comando3:

systemctl start rpcbind.service

El servidor de NFS es arrancado mediante el comando4:

systemctl start nfs.service

Dicho script se encarga de lanzar todos aquellos programas necesarios para el
funcionamiento del servicio de NFS. Básicamente, para permitir la exportación de un
sistema de ficheros, se requiere el funcionamiento de tres programas, además de
módulos internos del kernel del sistema: /usr/sbin/rpc.idmapd, /usr/sbin/rpc.rquotad y
/usr/sbin/rpc.mountd5.

El programa rpc.idmapd se utiliza en la versión 4 del protocolo y permite
efectuar la correspondencia entre los nombres de las llamadas de autenticación de
Kerberos de forma usuario@dominio, utilizados en la versión 4 del protocolo, con los
identificadores de los usuarios locales (UID y GID). Su fichero de configuración es
/etc/idmapd.conf y si no se utiliza la versión 4 el protocolo no es necesaria su
configuración.

El programa rpc.rquotad se encarga de informar a los sistema remotos sobre las
cuotas de los usuarios locales, si las cuotas de disco se encuentran activadas, de forma

2 Puede obtenerse información sobre el protocolo de autenticación Kerberos en la URL
http://web.mit.edu/Kerberos.
3 Si el servicio de rpcbind no está arrancado se produce un error en el arranque del servicio de NFS.
4 Si se arranca el servicio de NFS sin haber arrancado antes el servidor rpcbind se obtiene el mensaje de
error: “A dependency job failed. See system journal for details.”
5 Existen otros programas que proporcionan información a los clientes sobre el estado de un servidor
NFS, las cuotas de los usuarios de los sistemas remotos, etc., pero no son necesarios para el
funcionamiento básico del servidor NFS.

Doble Titulación Informática + Telemática

2

Administración y Gestión de Redes

Ficheros compartidos en red I: NFS

que los sistemas remotos puedan informar a sus usuarios de las cuotas de disco de los
sistemas que han montado de forma remota y, por tanto, de los límites que poseen en
esos sistemas. Posee algunas opciones de configuración, de las cuales la más utilizada
es la opción -p <puerto> que permite especificar el puerto en el que atiende sus
peticiones, pues en caso de no especificarse es elegido un puerto aleatorio que se
encuentre disponible en el momento de arranque del servicio de NFS.

Por último, el programa rpc.mountd recibe las peticiones de solicitud para
montar un sistema de ficheros por parte de un cliente, comprueba si dicho sistema de
ficheros es exportado y si además esta autorizado para el ordenador cliente, efectuando
la exportación del sistema en caso afirmativo. El programa rpc.mountd tiene numerosas
opciones, de las cuales la única que suele utilizarse, igual que en el programa
rpc.rquotad, es la opción –p <puerto>6, la cual tiene el mismo significado y utilidad
que la explicada con anterioridad.

Configuración de los sistemas de ficheros exportados.

El fichero de configuración donde se indica al servidor que sistemas de ficheros
debe exportar es el fichero /etc/exports7. En él se introducen las líneas con los sistemas
de ficheros exportados, a que ordenadores se permite su exportación y en que modos
(solo lectura, lectura y escritura, etc.)8.

Cada línea del fichero exports contiene la información sobre un sistema de

ficheros que exporta el servidor. Todas las líneas tienen la siguiente sintaxis:

<sistema de ficheros> <ordenador/es>[(opciones de exportación)]
[<ordenador/es>[(opciones de exportación)]]

Pudiendo observar que las líneas comienzan con la información del sistema de
ficheros a exportar y a continuación un ordenador o lista de ordenadores a los que se
quiere exportar el sistema de ficheros, así como para cada ordenador u ordenadores,
encerrado entre paréntesis y de forma opcional, que opciones de exportación deseamos
utilizar9.

Los sistemas de ficheros corresponden a los directorios que el servidor desea
exportar, por ejemplo /var/ftp, /home, etc., o los dispositivos periféricos como por
ejemplo /dev/cdrom.

El ordenador u ordenadores a los que se exportan los sistemas de ficheros se

pueden especificar de tres formas distintas10:

• Como un ordenador particular, esto, es como un nombre de ordenador, un

nombre cualificado en el dominio del servidor o una dirección IP.

6 La utilidad del uso de la opción –p se analizará en el apartado dedicado a la seguridad del NFS.
7 El fichero /etc/exports se lee en el arranque del servicio de NFS o bien, si es modificado, puede releerse,
etc., mediante el comando /usr/sbin/exportfs.
8 Recordar el comentario hecho con anterioridad de que los sistemas de ficheros son exportados a un
ordenador y no solo a unos usuarios determinados.
9 En caso de no especificar alguna opción de exportación se toma su valor por defecto.
10 En el apartado dedicado a la seguridad del NFS veremos cual de estas opciones es preferible.

Doble Titulación Informática + Telemática

3

Administración y Gestión de Redes

Ficheros compartidos en red I: NFS

• Como un conjunto de ordenadores, utilizando para ello los caracteres comodín *
e ?11. Estos caracteres sirven para indicar el conjunto de ordenadores a los que se
exportan los sistem
  • Links de descarga
http://lwp-l.com/pdf15502

Comentarios de: El servicio NFS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad