Un servidor NFS tiene una gran utilidad cuando vamos a compartir archivos y directorios, sobre todo en una red local; es utilizado para sistemas de archivos distribuidos, es decir NFS (Network File System);
En este artículo
En este caso utilizaremos CentOS, aunque también podríamos utilizar Debian, Ubuntu …
yum -y install nfs-utils
yum install rpcbind
apt-get install nfs-kernel-server
apt-get install nfs-common
systemctl start rpcbind nfs-server
systemctl enable rpcbind nfs-server
En el archivo /etc/exports del Servidor NFS, configuraremos los recursos compartidos:
nano /etc/exports
y compartimos el directorio /compartido
(contenido del archivo /etc/exports ):
/compartido 192.168.8.0/24(ro,all_squash)
Con el comando exportfs podremos manejar la tabla de los recursos compartidos/exportados que han sido declarados en el archivo /etc/exports
Tenemos algunas opciones interesantes para el comando exportfs:
Cada vez que realicemos cambios en el archivo, hemos de ejecutar
exportfs -a
en el servidor NFS, para aplicar los cambios
Cambiamos los permisos de los directorios compartidos por NFS, y haremos propietario al usuario nfsnobody
chmod -R 755 /compartido
chown nfsnobody:nfsnobody /compartido
Podemos ver en el archivo /etc/passwd que tras instalar el servidor NFS, ya existe el usuario nfsnobody
A CONTINUACIÓN VEREMOS:
yum install nfs-utils
yum install rpcbind
sudo apt-get install nfs-common
Hemos de añadir en el archivo /etc/fstab lo que queremos montar. Así que añadimos los recursos compartidos desde el servidor NFS:
Es necesario que el servicio rpcbind se encuentre en ejecución. rpcbind coordina los servicios RPC y los puertos.
Reiniciamos el cliente para comprobar que en el arranque del sistema, monta los recursos NFS del servidor remoto, especificados en su /etc/fstab
mount 192.168.8.114:/compartido2 /compartido2
Montamos en el cliente:
mount -t nfs 192.168.8.114:/compartido /compartido-centos/
o también , para montar con permisos , si es que lo permite el servidor NFS:
mount -o rw 192.168.8.114:/compartido2 /compartido2
A CONTINUACIÓN:
Si quisieramos definir qué hosts pueden y cuales no pueden utilizar los recursos compartidos por NFS, utilizaríamos los arhivos
Podemos ver los clientes conectados el al servidor NFS con:
netstat | grep :nfs
También podemos comprobar ls clientes NFS conectados con en comando :
ss -a|grep nfs
mount | grep "nombre del recurso"
df -h
rpcinfo nos mostrará info acerca de los procesos RPC abiertos y el puerto utilizado.
Por ejemplo con “rpcinfo -p” podemos ver los servicios relacionados con NFS, y sus puertos:
rpcinfo -p
En el cliente ejecutamos:
umount nombre_recurso
en este caso sería
umount /compartido2
Y así terminamos con la instalación y configuración de un servidor NFS y de un cliente NFS. El servidor NFS será de gran utilidad para exportar archivos y directorios con las restricciones y permisos adecuados.