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.
4 Comments
Ey, genial esta serie de posts. Yo me acabo de montar un servidor y estoy abierto a cualquier cosa que nos puedas enseñar.
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 ;)
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.
Muy bueno, este tipo de recursos es lo que necesitamos las personas que trabajamos con software libre, gracias…