lunes, 26 de septiembre de 2016

NFS: Instalación, configuración y reglas firewall [Ubuntu y CentOS]

Las pelis y series ocupan demasiado espacio y somos demasiado vagos como para ponernos a mover hardware de un lado para el otro, así que aprovecharemos que Linux nos ofrece NFS para compartir espacio de almacenamiento y nos ahorramos el esfuerzo.

NFS funciona con un modelo cliente-servidor, por lo que vamos a hacer la instalación uno por uno.

Server side (Ubuntu 14.04.4)



1. Como siempre, antes de instalar nada, actualizamos:

apt-get update -y

2. Instalamos los paquetes necesarios para el server:

apt-get install nfs-common nfs-kernel-server -y

3. Editamos /etc/exports para que se ajuste a nuestras necesidades, en nuestro caso:

#Ubicación a compartir      IP/máscara cliente               Opciones                 
/home/almacen      192.168.0.10/255.255.255.0(rw,sync,no_subtree_check)

  •  En este caso, la IP con la que vamos a compartir hace referencia a una sola máquina, aunque también es posible hacerlo con todas las máquinas de una red. Por ejemplo, si quisiéramos que todas las máquinas de esta red tuvieran acceso a los datos del servidor, escribiríamos 192.168.0.0/255.255.255.0
  • Opciones posibles:
    • ro: solo lectura 
    • rw: lectura y escritura
    • no_root_squash: permite al usuario root remoto tener los mismos privilegios que el root local. 
    • subtree_check: especifica que, al ser exportado un directorio en vez de un sistema de ficheros completo, es necesario que el host compruebe la ubicación de los archivos y directorios en el sistema de ficheros host. Esta opción, orientada a evitar la escalabilidad de privilegios, suele causar muchos problemas en la mayoría de sistemas, por lo que es mejor tomar otra serie de medidas en caso de que exista tal riesgo.
    • no_subtree_check: el host no comprueba la localización en el sistema de ficheros host.
    • sync: mantiene sincronizados los ficheros compartidos.
    • async: ignora las sincronizaciones para favorecer la velocidad.

4. Para que nuestro servidor NFS funcione, necesitamos tener en funcionamiento dos servicios, rpcbind y nfs-kernel-server, así que los iniciaríamos. Al estar en Ubuntu, ambos están ya corriendo, así que los reiniciamos:

service rcpbind restart


service nfs-kernel restart


# # # # # # # # # # # # # # # # # #

Pudiera ser que cuando estéis leyendo esto, el nombre de los paquetes haya cambiado, así que si los que yo he utilizado no os aparecen, podéis hacer la siguiente consulta y buscarlos:

apt-cache search nfs


# # # # # # # # # # # # # # # # # #



Client Side (CentOS 7.2.1511)


Por la parte del cliente, la cosa se pone todavía más fácil...

1. Actualizamos:

yum update -y

2.. Instalamos nfs-utils:

yum install nfs-utils -y


3. Montamos:

mount 192.168.0.10:/home/almacen /mas_pelis


¡Listo! En dos minutos ya tenemos más espacio para almacenar sin límites (más o menos) toda nuestra basura. A partir de ahora, todo lo que guardemos en /mas_pelis se almacenará en nuestro servidor y lo tendremos accesible desde ambos equipos.
A todas estas alegrías, sin embargo, hay que ponerle una pega (la de siempre) los permisos. Para poder darle uso al directorio que hemos montado, deberemos tener un usuario con el mismo UID y GID en ambas máquinas. Esto es necesario porque no le estamos dando privilegios al root del equipo cliente para actuar como tal sobre este directorio, así que si preferís que sea al contrario, cambiad las opciones en el /etc/exports y listo.



Configuración del firewall


En el caso de tener que lidiar con un firewall, necesitaréis abrir los puertos 2049 y 111, ambos en TCP y UDP.
De todos modos, os recomiendo también echarle una lectura a este artículo en el que se explica mucho más en detalle todo lo relevante a este tema y la seguridad en NFS.

No hay comentarios:

Publicar un comentario