Hace 4 años

Compartir carpetas en una red local con NFS

Para compartir carpetas en red hay dos posibilidades, una es usando Samba y la otra es usando NFS. Con Samba podemos compartir archivos, carpetas e impresoras dentro de una misma red local, usando el protocolo SMB/CIFS compatible con sistemas operativos UNIX/Linux, y Windows. En Ubuntu ya viene preinstalado y listo para usar. Mientras que para entornos UNIX/Linux el protocolo estándar es NFS (Network File System), con el que podemos tener carpetas de una máquina remota en nuestro ordenador como si fuesen una carpeta local.

En este articulo explicaré como tener en nuestro ordenador carpetas remotas, usando el protocolo NFS, ya que solo uso Ubuntu en los tres ordenadores que tengo conectados en red y al mismo router.

Las configuración puede variar dependiendo de las necesidades de cada uno, por lo tanto lo explicaré partiendo de la red que yo tengo creada y siguiendo las siguientes condiciones:

Configuración para Jhosue, Laura y David

En Ubuntu como en la mayoría de distros solo viene preinstalado el cliente NFS. Por lo tanto antes de empezar con la configuración hemos de intalar los siguientes paquetes.

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

En una red la IP tienen que tener los tres primeros números iguales, y con el cuarto numeramos los ordenadores y perifericos conectados a la misma. Este último número puede ser cualquiera que no este ocupado por el propio router. Yo he puesto el 51, 52, 53, 54, 55 , … , pero podía haber empezado por cualquier otro. La IP 192.168.1.54 la tengo para la impresora y la IP 192.168.1.55 la tengo para un portátil conectado vía Wifi. Aunque para la Wifi el mismo router le tiene asignada la IP 192.168.1.2, que tengo puesta en los móviles.

Las siguientes configuraciones serán iguales para los tres ordenadores. Los siguientes archivos los tenemos que crear y si existen podemos sustituir su contenido. Una vez más lo más fácil es abrir la terminal Control+ALT+t y usando el editor de lineas gedit como indico a continuación. En /etc/hosts están las IP‘s y sus respectivos nombres.

sudo gedit /etc/hosts
127.0.0.1 localhost localhost
192.168.1.51 Jhosue Jhosue
192.168.1.52 Laura Laura
192.168.1.53 David David

En /etc/hosts.deny le indicamos a que IP‘s le negamos el acceso, mientras que en /etc/hosts.allow podemos poner a las que si damos acceso. Siendo una red local domestica no me complico y niego el acceso a todas las IP‘s menos a las que cumplan el siguiente patrón 192.168.1.*.

sudo gedit /etc/hosts.deny
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
sudo gedit /etc/hosts.allow
portmap:192.168.1.
lockd:192.168.1.
mountd:192.168.1.
rquotad:192.168.1.
statd:192.168.1.

Configuración solo para Jhosue

Las siguientes configuraciones son diferentes para cada ordenador. En /etc/exports indicamos las carpetas de Jhosue que queremos compartir, de que forma lo haremos y con quien. Las carpetas Alhara y Adhavi contienen una copia de los archivos que quieren conservar, como copia de seguridad y Azureus contiene archivos multimedia comunes. Para que una carpeta sea solo de lectura hay que ponerle ro, mientras que si queremos que sea de lectura y escritura hay que ponerle rw.

sudo gedit /etc/exports
/carpeta/local IPremota([ro/rw/wdelay],sync,no_subtree_check)
ro=read only – rw=read write – wdelay=espera a guardar los datos
/etc/exports
/media/Alhara Laura(rw,sync,no_subtree_check)
/media/Adhavi David(rw,sync,no_subtree_check)
/media/Azureus Laura(ro,sync,no_subtree_check) David (ro,sync,no_subtree_check)

Los puntos de montaje de todo el sistema se guardan en /etc/fstab por lo tanto nuestra configuración la hemos de añadir al final del mismo. Aquí le diremos en que carpeta queremos que nos muestre el contenido de la carpetas remotas de Laura y David, que será /home/usuario de cada uno. En la carpeta /media es dónde se crean los puntos de montaje de los lectores de DVD o de los pendrivers al insertarlos, por lo tanto aunque se puede elegir cualquier otra (como por ejemplo en /home/usuario/), es en esta la que tomo para el ejemplo.

sudo gedit /etc/fstab
IP:/carpeta/remota /punto/montaje/local nfs [ro/rw],user,intr,hard,noauto 0 0
/etc/fstab
# NFS
Laura:/home/laura /media/Alaura nfs rw,user,intr,hard,noauto 0 0
David:/home/david /media/Adavid nfs rw,user,intr,hard,noauto 0 0

Para terminar la configuración solo nos falta crear las carpetas dónde veremos el contenido remoto de Laura y David. Las carpetas de Azureus, Alhara y Adhavi doy por supuesto que ya existen.

cd /media
sudo mkdir Alaura
sudo mkdir Adavid

Las configuraciones para Laura y David siguen el mismo patrón, por lo que solo pongo las configuraciones individuales.

Configuración solo para Laura

sudo gedit /etc/exports
/home/laura Jhosue(rw,sync,no_subtree_check)
sudo gedit /etc/fstab
# NFS
Jhosue:/media/Azureus /media/Azureus nfs ro,user,intr,soft,noauto 0 0
Jhosue:/media/Alhara /media/Alhara nfs rw,user,intr,soft,noauto 0 0
cd /media
sudo mkdir Azureus
sudo mkdir Alhara

Configuración solo para David

sudo gedit /etc/exports
/home/david Jhosue(rw,sync,no_subtree_check)
sudo gedit /etc/fstab
# NFS
Jhosue:/media/Azureus /media/Azureus nfs ro,user,intr,soft,noauto 0 0
Jhosue:/media/Adhavi /media/Adhavi nfs rw,user,intr,soft,noauto 0 0
cd /media
sudo mkdir Azureus
sudo mkdir Adavid

Puesta en marcha del servicio

Tras la configuración, el montaje de las carpetas y la activación del servicio, ya tendremos las carpetas listas para ser montadas o desmontadas en nuestro navegador, en mi caso Nautilus. Os aconsejo tenerlas desmontadas si no las usáis, porque si el ordenador remoto se apaga, nuestro navegador estará a la espera sin control, hasta que nos de el mensaje de error.

Monta todo lo que hay en fstab
sudo mount -a
Monta solo las carpetas NFS
sudo mount -t nfs
Muestra las carpetas exportadas
sudo exportfs
Reinicia/Inicia/Para el servicio
sudo /etc/init.d/nfs-kernel-server [restart/start/stop]
Software libre
,
1647

Dame tu opinión

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>