Servidor casero desde cero (1): Compartir archivos mediante NFS

Ya adelanté hace unas semanas que iba a explicar «por capítulos» cada parte del montaje de mi nuevo servidor casero y éste va a ser el primero de ellos. Por supuesto, voy a empezar con el uso estrella de todos los servidores caseros: compartir carpetas y archivos.

Por supuesto, toda mi red tiene ordenadores con Linux, por tanto, no necesito usar Samba para nada (aunque es otra opción válida) ya que tengo NFS (Network File System), que es el estándar en sistemas Unix/Linux para este efecto.

Compartir archivos y carpetas con NFS no es nada difícil y tenerlo funcionando con una configuración básica es cuestión de minutos. Luego ya depende de cada uno el tiempo que le quiera dedicar a rizar el rizo. Para todo lo demás: «man nfs«.

Lo más probable es que el software necesario ya esté instalado en tu sistema, pero por si acaso, vamos a instalarlo en Debian, que sería mi caso:

# aptitude install nfs-kernel-server nfs-common portmap

Hay que hacer hincapié en que portmap no esté configurado en modo loopback. Si bien en Debian ya se encuentra así por defecto, puedes reconfigurar portmap para que te lo pregunte y seleccionar «no».

# dpkg-reconfigure portmap

Ahora vamos a definir qué carpetas del servidor vamos a compartir. Para ello editamos el archivo /etc/exports y añadimos una línea por cada «compartición» de una manera como ésta:

/home/fulanito     192.168.1.132/24(rw,no_root_squash,async)
  • /home/fulanito sería la carpeta del servidor a compartir
  • 192.168.1.1/24 sería el rango de IPs de la red al que se va a difundir. En este caso para todo el rango entre 192.168.1.1 y 192.168.1.255
  • rw especifica que se establece lectura y escritura (para sólo lectura sería ro)
  • no_root_squash establece que el usuario root del cliente tenga accesos de root también en el servidor
  • async define la forma en que se realiza la sincronización de datos

Para que los cambios tengan efecto hay que reiniciar el servidor NFS, como es previsible:

# /etc/init.d/nfs-kernel-server restart

Ya tenemos configurado el servidor, ahora sólo tenemos que configurar cada cliente. Lo primero es crear una carpeta cualquiera que servirá como punto de montaje:

# mount /media/compartido

Luego añadimos al archivo /etc/fstab la línea para montar la carpeta compartida del servidor en el punto de montaje que acabamos de crear:

192.168.1.121:/home/fulanito      /media/compartido  nfs     rw,hard,intr,auto,users 0 0
  • 192.168.1.121 es la IP del servidor
  • /home/fulanito es la carpeta del servidor que se está compartiendo
  • /media/compartido es el punto de montaje a través del cual queremos acceder a la carpeta compartida
  • nfs es el sistema de archivos que debemos elegir para este caso
  • rw significa lectura/escritura, obviamente también podemos elegir ro para montar como sólo lectura
  • hard es un parámetro específico para NFS y especifica si el cliente debe esperar a que el servidor vuelva a estar en línea (si no está disponible) o informar de un error (con el parámetro soft)
  • intr es otro parámetro específico para NFS, y permite que se interrumpan las peticiones NFS si el servidor se cae o por cualquier razón no se puede acceder a él
  • auto especifica que ésta unidad sea montada en cada inicio del sistema
  • users permite que todos los usuarios del ordenador cliente puedan acceder (no sólo root)

Una vez configurado el archivo fstab o bien reiniciamos el sistema (qué windowsada!) o lo montamos con el siguiente comando:

$ mount /media/compartido

Et voilá! Ya tenemos nuestros archivos del servidor compartidos. Podemos crear tantas comparticiones con diferentes configuraciones como queramos.

(1) Como mencioné al principio, con el comando «man nfs» puedes consultar toda la documentación de NFS incluyendo todas las opciones de configuración posibles.

(2) Por supuesto, se puede usar un servidor samba simultáneamente, pero yo no aconsejo compartir las mismas carpetas con NFS y Samba a la vez por el tema de los permisos de archivos.

(3) Fuentes: Carlos Guerrero, Documentación de RedHat y San Google.

Previous Post Next Post

4 Comments

  • Reply eulez 27 marzo, 2009 at 14:04

    Ey, genial esta serie de posts. Yo me acabo de montar un servidor y estoy abierto a cualquier cosa que nos puedas enseñar.

  • Reply Membris Khan 2 abril, 2009 at 11:51

    Pues es bastante ambicioso todo lo que va a rodear al servidor, así que espero que se pueda aprovechar lo máximo en mi blog. Iré detallando cada parte, no lo dudes ;)

  • Reply Yorus 5 abril, 2009 at 19:47

    Muy interesante, tomo nota de esta guía ya que como dije no tenía ni idea de NFS.

    Yo acabo de volver a los orígenes con Debian, a ver quien hace andar antes la HVR-1100, que me está dando algún dolorcillo de cabeza.

  • Reply jdaanial 21 abril, 2009 at 16:01

    Muy bueno, este tipo de recursos es lo que necesitamos las personas que trabajamos con software libre, gracias…

  • Leave a Reply

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.