NFS Server · 5 min read · Dec 26, 2025

Configuración de un Servidor y Cliente NFS en Debian Wheezy

Esta guía explica cómo configurar un servidor NFS y un cliente NFS en Debian Wheezy. NFS significa Sistema de Archivos de Red; a través de NFS, un cliente puede acceder (leer, escribir) a un recurso remoto en un servidor NFS como si estuviera en el disco duro local. En este tutorial, te mostraré dos exportaciones NFS diferentes, la exportación de un directorio de cliente que almacena archivos como usuario nobody/nogroup sin preservar los permisos del sistema de archivos y una exportación del directorio /var/www que preserva los permisos y la propiedad de los archivos, como se requiere en una configuración de servidor de alojamiento.

1 Nota Preliminar

Estoy usando dos sistemas Debian Wheezy aquí:

  • Servidor NFS: server.example.com, dirección IP: 192.168.0.100
  • Cliente NFS: client.example.com, dirección IP: 192.168.0.101

2 Instalando NFS

servidor:

En el servidor NFS ejecutamos:

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

Luego creamos los enlaces de inicio del sistema para el servidor NFS y lo iniciamos:

cliente:

En el cliente podemos instalar NFS de la siguiente manera (esto es en realidad lo mismo que en el servidor):

apt-get install nfs-common

3 Exportando Directorios en el Servidor

servidor:

Me gustaría hacer que los directorios /home/client1 y /var/www sean accesibles para el cliente para mostrar los dos modos de acceso diferentes del servidor NFS. El directorio /home/client1 se comparte en modo estándar, por lo que todos los archivos escritos en este directorio se almacenan como usuario nobody y grupo nogroup. Para el directorio /var/www utilizo la opción no_root_squash que instruye al servidor NFS a preservar los permisos y la propiedad de los archivos. Esto es, por ejemplo, necesario cuando deseas exportar el directorio /var/www de un servidor web gestionado con ISPConfig 3.

Primero, crearé el directorio /home/client1

mkdir /home/client1  
chown nobody:nogroup /home/client1  
chmod 755 /home/client1

El directorio /var/www existe muy probablemente en tu servidor. Si no, entonces créalo:

mkdir /var/www  
chown root:root /var/www  
chmod 755 /var/www

Ahora debemos modificar /etc/exports donde “exportamos” nuestros recursos NFS. Especificamos /home/client1 y /var/www como recursos NFS y le decimos a NFS que haga accesos a /home/client1 como usuario nobody (para aprender más sobre /etc/exports, su formato y opciones disponibles, echa un vistazo a

man 5 exports

)

vi /etc/exports
/home/client1           192.168.0.101(rw,sync,no_subtree_check)
/var/www        192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)

(La opción no_root_squash hace que /var/www sea accesible como root.)

Para aplicar los cambios en /etc/exports, reiniciamos el servidor nfs del núcleo

/etc/init.d/nfs-kernel-server restart

4 Montando los recursos NFS en el Cliente

cliente:

Primero, creamos los directorios donde queremos montar los recursos NFS, por ejemplo:

mkdir -p /mnt/nfs/home/client1  
mkdir -p /var/www

Si el directorio /var/www ya existe en tu servidor, entonces detén apache, renombra el directorio y crea un nuevo directorio vacío como punto de montaje

/etc/init.d/apache2 stop  
mv /var/www /var/www_bak  
mkdir -p /var/www

Después, podemos montarlos de la siguiente manera:

mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1  
mount 192.168.0.100:/var/www /var/www

Ahora deberías ver los dos recursos NFS en las salidas de

df -h
[root@client ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_server2-LogVol00  
                      9.7G  1.7G  7.5G  18% /  
tmpfs                 499M     0  499M   0% /dev/shm  
/dev/sda1            504M   39M  440M   9% /boot  
192.168.0.100:/home/client1   9.7G  1.7G  7.5G  19% /mnt/nfs/home/client1  
192.168.0.100:/var/www  
                      9.7G  1.7G  7.5G  19% /var/www  
[root@client ~]#

y

mount
[root@client ~]# mount  
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
[root@client ~]#

5 Pruebas

En el cliente, ahora puedes intentar crear archivos de prueba en los recursos NFS:

cliente:

touch /mnt/nfs/home/client1/test.txt  
touch /var/www/test.txt

Ahora ve al servidor y verifica si puedes ver ambos archivos de prueba:

servidor:

ls -l /home/client1/
[root@server ~]# ls -l /home/client1  
total 0  
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt  
[root@server ~]#
ls -l /var/nfs
[root@server ~]# ls -l /var/www  
total 0  
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt  
[root@server ~]#

(Nota que las diferentes propiedades de los archivos de prueba: el recurso NFS /home/client1 se accede como nobody / nogroup y es propiedad de nobody / nogroup; el recurso /var/www se accede como root, por lo tanto /var/www/test.txt es propiedad del usuario y grupo root.)

6 Montando Recursos NFS al Arrancar

En lugar de montar los recursos NFS manualmente en el cliente, podrías modificar /etc/fstab para que los recursos NFS se monten automáticamente cuando el cliente arranque.

cliente:

Abre /etc/fstab y agrega las siguientes líneas:

vi /etc/fstab
[...]  
192.168.0.100:/home/client1  /mnt/nfs/home/client1   nfs      rw,sync,hard,intr  0     0  
192.168.0.100:/var/www  /var/www   nfs      rw,sync,hard,intr  0     0

En lugar de rw,sync,hard,intr puedes usar diferentes opciones de montaje. Para aprender más sobre las opciones disponibles, echa un vistazo a

man nfs

Para probar si tu /etc/fstab modificado está funcionando, desmonta los recursos y ejecuta mount -a:

umount /mnt/nfs/home/client1  
umount /var/www  
mount -a

Ahora deberías ver los dos recursos NFS en las salidas de

df -h
[root@client ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_server2-LogVol00  
                      9.7G  1.7G  7.5G  18% /  
tmpfs                 499M     0  499M   0% /dev/shm  
/dev/sda1            504M   39M  440M   9% /boot  
192.168.0.100:/home/client1   9.7G  1.7G  7.5G  19% /mnt/nfs/home/client1  
192.168.0.100:/var/www  
                      9.7G  1.7G  7.5G  19% /var/www  
[root@client ~]#

y

mount
[root@client ~]# mount  
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
[root@client ~]#

7 Créditos

Este tutorial se basa en el Tutorial del Servidor NFS de Centos de Falko Timme.

8 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.