| Despabilando la MonoNeurona::Internet es de todos [Inicio] [Regresar] |
|
GNU/Linux \ NFS: Compartiendo archivos en 5 segundos Este artículo ha sido consultado en 607 ocasiones. Autor: Ariel R., Planetalinux Hoy veremos lo sencillo que puede resultar compartir nuestros archivos con los hosts *ix de nuestra red. Introducción A muchos de nosotros no nos alcanza con una sola PC, y es probable que tengamos dos o más corriendo Linux dentro de la misma red. En más de una oportunidad, será necesario llevar archivos de una a otra. Para eso fue pensado el Network File System (NFS), gracias al cual podremos montar unidades compartidas por sistemas remotos, tal como lo haríamos con nuestras unidades locales. Si bien es cierto la implementación de un servicio con estas características supone una brecha en la seguridad del sistema, discutiremos al respecto más adelante. Además de NFS existen otros sistemas para compartir archivos: el AFS de IBM, Samba -del que ya habláramos oportunamente- -, Coda File System, etc. Pero NFS se ha convertido en el sistema más popular, sencillo y maduro de todas las plataformas en las que tiene soporte. Requisitos de Software Voy a basar mi descripción en un sistema Red Hat típico, pero no deberían tener mayores inconveniente en ninguna otra distribución.
Configuración 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 y más generalmente: /directorio 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 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?
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 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. Conclusión Como habrán podido notar, el procedimiento de compartir archivos, es realmente muy sencillo, y combinado con buenas medidas de seguridad, puede utilizarse sin temor. Para quienes quieran completar NFS para volverlo más seguro o más versatil, a continuación refiero algunas aplicaciones que podrán resultarles de interés:
Última actualización: 2007-04-29 10:57:00-05 |
| Este trabajo está licenciado bajo la MonoNeurona Commons License. 2002-2008 © :: Colectivo MonoNeurona.org :: |