Compartir archivos mediante NFS (Network File System)
Hola amigos. Esta entrada la he puesto porque buscando por NFS en el wiki no encontró nada. Así que vamos a enriquecer un poco más este espacio.
NFS es el sistema de ficheros de linux en red. Es decir, montar una unidad en un PC desde otro PC, ambos con linux (para compartir ficheros multiplataforma, o impresoras, hay que utilizar protocolo SMB (samba)).
Para empezar tenemos que tener claro que los dos ordenadores con linux se ven entre sí. Podemos comprobarlo con ping. Imaginemos que el ordenador en el que vamos a montar el servidor (PC desde donde se van a compartir directorios) tiene la ip 192.168.0.2 y el cliente es 192.168.0.3, con teclear desde la terminal del cliente ping 192.168.0.2 y comprobaremos si ve el servidor. Lo recomendable es que el servidor tenga una IP estática (fija, es decir, siempre la misma ) para que a la hora de montar automáticamente una unidad no haya problemas.
Para empezar, en el servidor hay que instalar los paquetes nfs-kernel-server y portmap
# apt-get install nfs-kernel-server portmap
En el cliente hay que instalar nfs-common
# apt-get install nfs-common
Una vez hecho esto, en el servidor exportamos los directorios que queramos. Para ello hay que editar como root el fichero /etc/exports y poner en cada línea el directorio exportado, la ip o rango a donde queremos compartir y las propiedades para ese directorio. Un ejemplo sería compartir el directorio /home/usuario/Pelis a 192.168.0.3 con propiedades lectura/escritura y visualización de directorios. Podíamos verlo así:
/home/usuario/Pelis 192.168.0.3/255.255.255.0(rw,sync,subtree_check)
/home/usuario/Musica 192.168.0/255.255.255.0(ro,async)Así exportaríamos dos directorios, uno al PC 192.168.0.3 con lectura, escritura, sincronización y visualización de subdirectorios. El directorio música a todo el rango de 192.168.0 (2,3,4,etc) con sólo lectura y sin sincronización. En este apartado también son importantes los permisos de los propios directorios. Cabe destacar que 255.255.255.0 es la máscara de red. En caso de tener subredes es importantísimo.
Luego reiniciamos el demonio (daemon o servicio) de nfs para aplicar los cambios.
# /etc/init.d/nfs-kernel-server restart
Ahora toca el turno al cliente. Primero hay que comprobar que se visualiza la exportación:
# showmount -e 192.168.0.2
Aparecería algo así:
Export list for 192.168.0.2:
/home/usuario/Pelis 192.168.0.3/255.255.255.0
/home/usuario/Musica 192.168.0/255.255.255.0Luego creamos los directorios donde montar estas unidades:
$ mkdir /home/cliente/Pelis-Servidor
$ mkdir /home/cliente/Musica-Servidor
Y montamos:
# mount -t nfs 192.168.0.2:/home/usuario/Pelis /home/cliente/Pelis-Servidor
# mount -t nfs 192.168.0.2:/home/usuario/Musica /home/cliente/Musica-Servidor
Ya está!
Si accedemos a estos directorios, veremos el contenido del directorio en el servidor.
Ahora podemos hacer que se monten siempre estas unidades al inicio de la sesión en el cliente. Sólo hay que editar el fichero /etc/fstab (sudo nano /etc/fstab) y añadir las líneas:
192.168.0.2:/home/usuario/Pelis /home/cliente/Pelis-Servidor nfs defaults 0 0
192.168.0.2:/home/usuario/Musica /home/cliente/Musica-Servidor nfs defaults 0 0Guardamos (con nano CTRL + O ) y salimos (CTRL + X)
Cuando reiniciemos, si el PC servidor está encendido, se montarán las unidades automáticamente.
Espero que les haya sido útil y aprovecho para enviar un saludo a todos los usuarios de gnu/linux!