Exportando directorio publico con NFS

Hace algún tiempo pregunte si existía alguna forma de compartir archivos de una manera similar a como lo hace Windows (con el protocolo SMB).

Mas de alguno me indico que instalara Samba y con eso podía compartir archivos entre equipos linux usando el cliente, al igual que me indicaron que usara FTP.

Si bien hable sobre el FTP en mi anterior post y es buena idea, tenia que estar abriendo el cliente para transferir, y aunque puedes cargar un directorio en los administradores de archivos (como Thunar) no me era practico para lo que necesitaba.

El tema de Samba, si bien es bueno, el "pero" que le llegue a dar era que el paquete consume varios megas, por lo que tampoco me agrado.

Ya antes había escuchado de NFS, pero no tenia claro que era y como se utilizaba, y hace pocos días me di a la tarea de investigar que era y como se usaba y aquí les traigo un howto para usarse con un directorio publico (que todos puedan accesar).

Este manual explica como configurar un servidor NFS en CentOS, el cliente puede ser usado en cualquier otra distro, incluso Windows (ver aquí).

NFS significa Network File System (por sus siglas en ingles), A través de NFS un cliente puede accesar (escribir, leer) un recurso remoto compartido de un servidor NFS como si estuviera en tu disco local, así manos a la obra.

1. Notas preliminares

Mi escenario:

  • Servidor CentOS NFS
  • Cliente Xubuntu

2. Instalando NFS

En el servidor ejecutamos:


# yum install nfs-utils nfs-utils-lib

Posterior creamos el link de inicio del servidor NFS y lo iniciamos:


# chkconfig nfs on
# service nfs start

3. Exportando Directorios en el Servidor

En el servidor:

En mi caso deseo permitir el acceso a al directorio /shared para el cliente; para esto necesito "exportar" el directorio en el servidor

Por default NFS utiliza el usuario nobody (uid=65534 y guid=65534), por lo que es necesario definir el directorio con estas características, para lo que es necesario hacer:

# chown -R 65534:65534 /shared/
Una vez el directorio esta listo, es necesario definir la exportación, esto se hace en el archivo /etc/exports. Te recomiendo darle un vistazo al manual de archivo para mas opciones, esto lo puedes ver con:

# man 5 exports
Bien, ahora editamos el archivo y definidos la regla de exportación  (esto lo puedes hacer con tu editor favorito), ejemplo:

# vim /etc/exports

/shared 192.168.1.0/24(rw,sync,root_squash,all_squash)
En este ejemplo esto definiendo que toda mi sub-red tendrá permisos de accesar. Una vez modificado el archivo hay que ejecutar:

# exportfs -a

Listo, del lado del servidor quedo listo.

En el cliente:

En mi caso tengo XUbuntu, por lo que en mi directorio de usuario cree un directorio que llame "Compartido", esto lo hice con:

uribes@local-hp:~$ mkdir Compartido

Posterior hice el montaje del compartido de NFS

uribes@local-hp:~$ sudo mount -o rw 192.168.1.70:/shared Compartido/
Con lo anterior quedo montado, en la siguiente imagen podrán ver el contenido del compartido, el mismo ya tenia un directorio y estoy creando uno nuevo.



Bueno ahí tienen, que se diviertan, saludos.

Entradas populares de este blog

Desactivando NetworkManager

Configurando interfaces de red virtuales en Linux

Como montar particiones LVM en Linux