Ubuntu Server 12.10 HOW TO : NFS EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como compartir datos en una Red Linux, usando NFS. Antes de empezar vamos a explicar que es NFS. NFS (Network File Sistem o Sistema de Ficheros de Red) es una solución ofrecida por los sistemas operativos UNIX/Linux para compartir archivos en redes TCP/IP. Fue desarrollado por SUN Microsystems bajo licencia GPL, lo que facilitó que se convirtiera en un estándar a la hora de convertir archivos en red. NFS nos permite montar una partición de una máquina remota en un directorio de nuestra máquina como si fuera una partición local. Ahora como le enseñamos un pequeño resumen de lo que es NFS, vamos a comenzar hacer el how to de como se debe de configurar este en un servidor de Ubuntu. Lo primero que debemos de hacer es intalar la herramientas de NFS, el comando dependera si se habla del servidor o del cliente. En el servidor se debe de instalar los siguientes comandos: # sudo apt-get install portmap # sudo apt-get install nfs-common # sudo apt-get install nfs-kernel-server Ejemplo de como instalar el paquete de portmap: Ejemplo de como instalar nfs-common: Ejemplo de como instalar nfs-kernel-server: Ahora vamos a crear dos carpetas en el escritorio con los siguientes nombres: prueba1 y prueba2 este se va hacer con el comando mkdir (nombre de la carpeta), si usted no esta en el escritorio uno le va a poner la dirección del directorio en donde va a crear la carpeta, en este caso le vamos a poner el ejemplo del directorio, aunque estemos en el Escritorio. Escribimos ls para ver si estan en el directorio Ahora vamos a editar algunos ficheros, el primero que vamos a editar es el que esta en /etc/default/portmap, el portmap como lo dice mapeo de puerto se usa para mapear los puertos, mayormente viene por defecto para el lopback, lo que haremos aquí será que no trate de mapear la interface loopback. Y en el archivo vamos a escribir lo siguiente: Luego guardamos con presionando las siguientes teclas que son Control+Z y luego nos aparecera la siguiente opcion en la cual vamos a elegir Yes y damos enter: Despues nos va a parecer a donde queremos guardar el archivo que editamos, en este caso la vamos a guardar en el mismo directorio en donde se encontraba el archivo antes de editar que es /etc/default/portmap. Ahora vamos a utilizar el comando rpcinfo-p oara estar seguros que portmao esta corriendo correctamente. Ahora vamos a configurar los siguientes archivos hosts.deny, hosts.allow y exports. Estos los editaremos para denegar y permitir la entrada al NFS. En este ejemplo vamos a editar con nano pero lo pueden editar con cualquier otro editor de su preferencia. Entonces escribimos sudo nano /etc/hosts.deny, luego en el archivo vamos agregar portmap: ALL , lockd: ALL, mountd: ALL, statd: ALL, tal y como lo muestra la imagen siguiente: Luego guardamos como lo mostramos en pasos anteriores pero con la direccion de este archivo. Ahora editamos el archivo hosts.allow el cual se encuentra en /etc/hosts.allow, y ahora vamos a escribir sudo nano /etc/hosts.allow para editar el archivo. Entonces en este archivo vamos agregar lo siguiente: portmap: (la ip o la red a la que pertenece la maquina a la que quieres compartir datos) lockd: (la ip o la red a la que pertenece la maquina a la que quieres compartir datos) mountd: (la ip o la red a la que pertenece la maquina a la que quieres compartir datos) statd: (la ip o la red a la que pertenece la maquina a la que quieres compartir datos) Por ultimo vamos a editar el archivo exports, en el cual vamos agregar lo siguiente: En mi caso quiero las carpeta en el escritorio del servidor como se mostraron anteriormente, lo que pondremos su ruta que será /home/Olibel(nombre de usuario personal)/Desktop/prueba1(el nombre de la carpeta) luego agregar la Ip de las redes a permitir en este caso 192.168.236.0/255.255.255.0(rw,sync,no_root_squash). Aquí como se habrá notado solo estamos permitiendo una red con (255hosts) nótese que la Ip y la síntesis o permisos agregada están unidas. ro | rw : Con la opción ro el directorio será compartido de solo lectura. Esta opción está por defecto.y con la opción rw se permitirá tanto acceso de lectura como 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_squashentonces aplicaremos esto último a todos los usuarios, no sólo root. Al terminar la introducción de los datos para el NFS, recordar que el archivó se guarda CTRL-X que es como lo hemos estado haciendo hasta ahora. Ahora para actualizar el archivo exports utilizamos el comando; exportfs –ra para actualizarlo. Y por ultimo vamos a reiniciar el programa completo de NFS con el comando sudo /etc/init.d/nfs-kernel-server restart y con esto concluimos la parte del servidor, le mostramos una imagen a continuación: Cliente En el cliente vamos a instalar unos paquetes y luego la carpeta para compartir, ahora vamos a ingresar a modo sudo de la siguiente forma: Ahora vamos a comprobar que nuestro cliente se puede comunicar con nuestro servidor para ver si es asi escribimos ping y la ip del servidor, tal y como se muestra en la imagen siguiente: En este vamos a instalar el paquete nfs-common con el siguiente comando: Ahora nos vamos a mover de directorio al de escritorio y luego vamos a crear una carpeta y le vamos a dar permiso con chmod 777 luis en este caso se lee, se escribe y se ejecuta cualquier archivo en la carpeta. El comando para montar la carpeta es: sudo mount –t nfs 192.1.102:/home/maribel06/Escritorio/prueba1 /home/luis/Escritorio/luis. Donde mount –t significa que se puede montar cualquier tipo de archivo, luego colocamos la Ip del servidor 192.168.1.102 unida al directorio que elegimos en el servidor para esta configuración y luego a cualquier carpeta que se desee instalar en este caso en el escritorio en la carpeta de luis. Como pueden ver en la imagen siguiente creamos una carpeta en el cliente y se muestra en un instante en el servidor.