Capitulos de este wiki
  1. 1 Introducción
  2. 2 Requisitos de Software
  3. 3 Configuración
  4. 4 Conclusión

3 - Configuración

[editar]
Tutorial creado por Ariel R., Planetalinux. Extraido de: http://www.mononeurona.org/index.php?idp=274
24 de Octubre de 2005
Desde ya, vamos a suponer que todo este tiempo hemos hablado de un sistema Linux corriendo correctamente, con hardware de red convenientemente configurado, y con soporte TCP/IP. Vamos a suponer también que la caja Linux en cuestión va a comportarse como servidor y cliente. Para empezar será necesario agregar una entrada por cada recurso que queramos compartir en el archivo /etc/exports de la forma:

/compartido
192.168.0.0/255.255.255.0(no_root_squash)
/pub
esclava1.net(ro,insecure,all_squash)
esclava2(rw,insecure,all_squash)


y más generalmente:

/directorio
maquina1(opción1-1,opción1-2)
maquina2(opción2-1,opción2-2)


Donde: directorio es el recurso a compartir, y todos los subdirectorios que pendan de aquel también serán compartidos; máquinax es cada uno de los clientes a los que se garantiza acceso al recurso con las opciones de seguridad que se indican al lado. Estas máquinas pueden identificarse indistintamente por su nombre o por su IP, pero hacerlo de la segunda forma es más confiable. Finalmente las opciones podrán ser -entre otras-- ro para sólo lectura, rw para lecto-escritura, no_root_squash para garantizar al root remoto los mismos privilegios que root local.

Hecho esto y reiniciando al servidor NFS con la orden:

# /etc/rc.d/init.d/nfs restart

ya deberíamos tener nuestro servidor NFS, dispuesto a compartir los directorios que le indicáramos. Para tener una idea respecto al estado del servidor, podemos intentar: rpcinfo -p

A la vuelta de este comando, tendremos en pantalla, la información sobre los servicios que estén corriendo en ese momento (ver captura). Deberán figurar al menos portmapper, nfs, mountd, quizás rpc.statd, nlockmgr, y dependiendo de la versión de NFS, unos más o menos. Por supuesto que ante cada cambio que se realice al archivo exports, habrá que reiniciar el servicio, como se indicó más arriba, o bien con:

# exportfs -ra

Este comando, sin parámetros, muestra los recursos que están siendo compartidos en un momento dado, y es el que sincroniza la información de /etc/exports, con la requerida por mountd, y que se ubica en /var/lib/nfs.

Ahora charlaremos sobre los demonios que deberían estar corriendo. Teniendo nuestro kernel con soporte, será obligación tener corriendo los servicios de portmap, (hay un script con ese nombre en /etc/rc.d/init.d, o sino puede correrse el binario directamente en /sbin/portmap), rpc.nfsd, rpc.mountd, y eventualmete rpc.quotad, rpc.lockd y rpc.statd, que pueden hallarse normalmente en /usr/sbin o /sbin. Nótese que en la mayoría de los casos, todos los servicios se arrancan automáticamente en los scripts de inicio de /etc/rc.d/init.d, por lo que será suficiente con marcarlos en la sección System Services de setup, en caso de que contemos con él.

Si todo está corriendo hasta aquí, los clientes ya estarán en condiciones de acceder a nuestros directorios compartidos, así que podremos pasar al uso de nuestra PC como cliente NFS. Para acceder a los recursos que comparte algún servidor NFS de la red, debemos tener corriendo portmapper, y si nos interesa el servicio de traba de archivos, lockd y statd. Luego, podemos montar los discos remotos con el mismo comando de los sistemas locales: mount.

# mount 192.168.0.2:/compartido /mnt/nfs/compartido

Luego, para desmontar el recurso, se usará umount.

# umount /mnt/nfs/compartido

Por último, también podremos agregar entradas de tipo nfs a nuestro archivo /etc/fstab, para montar sistemas remotos de disco, al arrancar la sesión. Aquí agregaremos el directorio que compartimos más arriba, en el archivo fstab de la esclava, para que se monte al encenderla:

#archivo: /etc/fstab
#recurso:
192.168.0.2:/compartido /mnt/nfs/compartido nfs rw 0 0


El sistema más seguro de todos, es el apagado. Le siguen el aislado, y la red mantenida con paranoia o entre amigos, sin conexión alguna al exterior. De cualquier modo, veremos las medidas más simples para evitar que alguien abuse de nuestro servidor NFS recién instalado.

NFS necesita el servicio portmap para correr. Y las cosas funcionan mas o menos asi:

Cliente: Hola servidor! Soy 10.10.1.1, está portmapper en tu puerto 111?
Servidor (por inetd): espere...
[el servidor busca la IP en /etc/hosts.deny, y luego en /etc/hosts..allow]
Servidor(luego de verificar): Si, ya le paso...
Servidor(atiende portmapper): Hola, quien seas: Tenemos en 2049/udp: nfs, en 1127/udp y 1694/tcp nuestro nlockmgr, en.... [la lista sigue]
Siendo asi de simple el diálogo, habrá que restringir el acceso a nuestro portmapper y a nuestro NFS, contra el mundo exterior, y garantizarlo solamente para nuestras compañeras de red. Comenzaremos modificando los archivos /etc/hosts.deny y /etc/hosts.allow. En ellos, se indica qué servicios se niegan, y se permiten a quién, respectivamente. Con estos dos archivos, podemos comenzar a definir cláusulas de prestación de servicios, que nos darán algo de tranquilidad. Un ejemplo de estos dos archivos podría ser:

#en /etc/hosts.deny
# declaramos que nadie puede usar nuestro portmap
portmap: ALL
#luego, en /etc/hosts.allow
#diremos quienes sí pueden hacerlo:
portmap: 192.168.0.0/255.255.255.0
#en el ejemplo, toda nuestra red local puede usar portmap, aunque tambien podria ser solo un host:
#portmap: 192.168.0.10/255.255.255.255

En cualquier caso, y no solamente para éste sino para cualquier otro servicio que deseemos asegurar, lo mejor será confiar en un firewall, y utilizar Ipchains o Iptables, según el kernel. Pero ese es un tema aparte, del que no hablaremos para no prolongar la nota, más allá de su interés.
[editar]

1 opinión

Nfs: compartiendo archivo en 5 segundos.

Me parece que esta bien completo gracias por permitirme utilizarlo.

Tutoriales relacionados con 'NFS: Compartiendo archivos en 5 segundos'

Hoy veremos lo sencillo que puede resultar compartir nuestros archivos con los hosts *ix de... Más »

Autor y licencia de 'NFS: Compartiendo archivos en 5 segundos'


Tutorial de Ariel R., Planetalinux. Extraido de: http://www.mononeurona.org/index.php?idp=274 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.