Sistema NFS para compartir archivos. NFS es el sistema que utiliza Linux para compartir carpetas en una red. Mediante NFS, un servidor puede compartir sus carpetas en la red. Desde los PCs de los usuarios se puede acceder a dichas carpetas compartidas y el resultado es el mismo que si estuvieran en su propio disco duro. FS son las siglas en inglés de Network File System que podríamos traducir como Sistema de Archivos en Red. Básicamente NFS permite, a PCs que utilizan Linux, compartir y conectarse a carpetas compartidas entre sí. Es el sistema nativo que utiliza Linux para compartir y acceder a carpetas compartidas en la red. Existen otras alternativas para compartir carpetas en una red como samba, ssh o ftp, pero el sistema recomendado para compartir carpetas entre sistemas Linux es NFS. Para compartir carpetas por NFS descargue los siguientes paquetes: -Portmap -NFS Utils Si es posible descargue la versión correspondiente a la versión de Slackware que usted use. En este caso hemos descargado portmap-6.0-x86_64-1 y nfsutils-1.2.3-x86_64-3. Los siguientes links son para descargar estos 2 paquetes respectivamente. http://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackwar e64-13.37/slackware64/n/portmap-6.0-x86_64-1.txz http://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackwar e64-13.37/slackware64/n/nfs-utils-1.2.3-x86_64-3.txz Aunque puede usar el mismo explorador para descargar estos paquetes, recomiendo que abra el Terminal y use el comando “wget link_de_descarga”. Para ver los dos archivos ya descargados usamos el comando dir. Tras descargarlo instálelo con el comando “installpkg nombre_del_archivo”. Recuerde poner también la extensión del archivo. Si lo hizo correctamente, vera los paquetes instalándose como se muestra en las siguientes imágenes. Tras instalar ambos paquetes ingrese los siguientes comandos: # chmod +x /etc/rc.d/rc.rpc: Con ese comando estamos dando permiso de ejecución al daemon rc.rpc, el cual es indispensable para montar una partición NFS. # chmod +x /etc/rc.d/rc.nfsd : Con ese comando estamos dando permiso de ejecución al daemon de iniciación rc.nfsd, el cual contiene el paquete KNFSD, que a su vez contiene al servidor NFS y sus herramientas. # /etc/rc.d/rc.rpc start: Con ese comando estamos iniciando el daemon rc.rpc. # rpc.mountd: Con este comando habilitamos el proceso rpc.mountd, El cual es el proceso que recibe la petición de montaje desde un cliente NFS y chequea para mirar si coincide con un sistema de archivos actualmente exportado. # rpc.nfsd 8: Con este comando estamos habilitando el proceso rpc.nfsd que es el proceso que implementa los componentes del espacio del usuario del servicio NFS. Trabaja con el kernel Linux para satisfacer las demandas dinámicas de clientes NFS, tales como proporcionar procesos adicionales del servidor para que los clientes NFS lo utilicen. El numero 8 representa el numero de procesos y/o sesiones que podrán tener los clientes NFS. # /etc/rc.d/rc.nfsd start: Con ese comando estamos iniciando el daemon rc.nfsd. Ahora vamos a crear el directorio que queremos exportar. Para ello nos dirigimos al archivo exports, que es el que vamos a editar para crear la ruta. Para dirigirse a este archivo desde el editor de texto VI ingrese el siguiente comando: # vi /etc/exports Al abrirlo veremos algo como lo siguiente: Para crear el directorio que vamos a compartir agregamos la siguiente línea en este documento (presione la tecla A para entrar al modo de escritura): Fíjese en la imagen de arriba que se escogió el directorio /var/log para ser compartido, el cual es un directorio de Linux, pero podemos escoger otro que hayamos creado nosotros mismos. También especificamos que solo los equipos en la red 192.168.1.0/24 tendrán acceso a este directorio y que los usuarios que accedan a ellos tendrán los siguientes permisos: Rw : permisos de lectura y escritura. No_root_squash : Permiso para que el usuario root de la máquina cliente también tenga acceso root a la máquina servidor. Async : Provoca que todas las escrituras a disco sean síncronas, y por tanto ofrece mayor seguridad ante caídas del sistema. Subtree_check : Permite que por defecto los usuarios que accedan a este directorio tengan acceso a sus subdirectorios. Tras agregar esta línea salga del documento presionando la tecla “Esc” para activar el modo Command y luego escriba :x . Al presionar la tecla Enter volverá al Terminal. Devuelta en el Terminal introduzca el comando “exportfs –a” para que se guarden esos cambios. Ya el directorio ha compartir ha sido creado y guardado en el archivo exports correctamente, ahora tenemos que reiniciar el daemon rc.nfsd para que arranque con estos cambios que hemos realizado. Para ello ingresamos el siguiente comando: Ya con eso queda creado el directorio que vamos a compartir con los demás equipos de la red a través del protocolo NFS. Ahora lo que queda es crear el directorio en donde vamos a montarlo. Para ello ingresamos el siguiente comando: Ahora para montar el directorio a compartir en el que acabamos de crear introducimos el siguiente comando*: Eso es todo lo que tenemos que hacer en el servidor, si quiere puede dirigirse al directorio que ha creado y ver que ahí ahora están los mismos archivos que contiene el directorio que le ha montado. 6 A continuación lo que haremos será configurar el equipo cliente para que pueda acceder a este directorio. Configurando el Cliente Linux Aquí haremos prácticamente lo mismo que hicimos en el servidor. Primero inicie sesión como usuario root y vaya a la interfaz grafica con el comando startx. Luego descargue e instale los paquetes portmap y nfs utils tal como lo hicimos en el servidor. Ahora introduzca los siguientes comandos, los cuales introducimos anteriormente en el servidor: Ahora cree el directorio en donde montará el directorio del servidor que configuró anteriormente para compartir. #mkdir nombre_del_directorio/ Recuerde que puede elegir el nombre que desee para este directorio. En este caso elegimos el mismo nombre que el que le pusimos en el servidor: Log_nfs Ahora para montar el directorio a compartir en el directorio que acabamos de crear introducimos el siguiente comando*: #mount ip_del_servidor:/directorio_a_compartir directorio_creado/ 7 Ya con eso queda montado el directorio NFS que puede ser compartido con otros equipos Linux. Las siguientes imágenes muestran el directorio ya montado en el Servidor y en el cliente NFS.