¿Para que sirve NFS?… Son las siglas de Network File System, y su utilidad principal es la de poder acceder a un sistema de ficheros remoto como si fuese local.
INSTALACION Y CONFIGURACIÓN DEL SERVIDOR NFS
Lo primero que debemos hacer es instalar los siguientes paquetes en el ordenador donde estén los datos que queremos compartir (realizar todo el proceso como root):.
aptitude install portmap unfs3 nfs-user-server nfs-kernel-server
Si a la hora de instalar el último paquete nos aparece una pantalla en la que nos pregunta que hacer con el fichero /etc/exports
, marcamos «Keep your currently installed version» y continuamos.
El siguiente paso es crear el directorio que vamos a compartir, por ejemplo /home/anduim/pruebas
:
mkdir /home/anduim/pruebas
Le damos los permisos correspondientes así:
chmod -R 777 /home/anduim/pruebas
Antes de continuar, sería interesante comprobar que nfs se está ejecutando (para evitar pérdidas de tiempo posteriores) con el comando:
rpcinfo -p
El cual nos devolverá una serie de lineas, entre las que deben aparecer:
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
Ya sabemos que se está ejecutando. Y también podemos comprobar que se está ejecutando portmap con el comando:
pgrep portmap
El cual nos devolverá el número de proceso:
anduim@Mordor:~$ pgrep portmap
1880
El siguiente paso es modificar los ficheros de configuración:
/etc/exports
: En este fichero indicaremos los recursos a compartir y el modo de hacerlo. Añadimos una línea con lo siguiente:
/home/anduim/pruebas 192.168.0.0/255.255.255.0(rw,sync)
Con esta linea damos acceso a todos los ordenadores de la red dentro del rango de ips 192.168.0.x
, con acceso de lectura/escritura (rw)
y con la opción sync
, la cual sincroniza la escritura de los ficheros para que tanto servidor como cliente sepan que el fichero se guardó correctamente. Si quisiéramos dar acceso de solo lectura, deberíamos cambiar rw por ro
(read only)
En términos de seguridad, es importante modificar los ficheros /etc/hosts.allow
con el contenido:
portmap:192.168.0.0/255.255.255.0
lockd:192.168.0.0/255.255.255.0
mountd:192.168.0.0/255.255.255.0
rquotad:192.168.0.0/255.255.255.0
statd:192.168.0.0/255.255.255.0
y /etc/hosts.deny
con lo siguiente:
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
Con esto estamos dando acceso solo a los ordenadores de la red, y denegando el acceso al resto. Así evitamos sustos.
Si hemos modificado el fichero /etc/exports
, para que los cambios se hagan efectivos, tenemos dos opciones:
/etc/init.d/nfs-kernel server restart
o bien
exportfs -ra
Ya tenemos configurado el servidor.
CONFIGURACION DEL CLIENTE NFS
En el ordenador donde queramos tener acceso al directorio que hemos compartido en el servidor, deberemos instalar:
aptitude install nfs-common
Seguidamente creamos un directorio donde queramos que se monte el idem remoto:
mkdir /mnt/pruebas
Y ejecutamos la orden:
mount 192.168.0.2:/home/anduim/pruebas /mnt/pruebas
y lo tenemos listo, solo con hacer un ls /mnt/pruebas
veremos el contenido de /home/anduim/pruebas
que está alojada en el servidor.
Si queremos evitarnos la tarea de tener que montar a mano el recurso y hacer que el proceso sea automático, editamos el fichero /etc/fstab
y añadimos una linea al final con lo siguiente:
192.168.0.2:/home/anduim/pruebas /mnt/pruebas nfs rw,hard,intr 0 0
guardamos, y con mount -a
hacemos efectivos los cambios.
Mas información:
http://nfs.sourceforge.net/nfs-howto/
http://es.wikipedia.org/wiki/NFS