NFS permite que un servidor Linux comparta directorios con otros clientes UNIX a través de la red. servidor NFS exporta un directorio y un cliente NFS monta este directorio. RHEL 7 admite dos versiones de NFS:NFSv3 y NFSv4.
Servidor NFS y procesos RPC
iniciando el servidor nfs El proceso inicia el servidor NFS y otros procesos RPC. Los procesos RPC incluyen:
– rpc.statd :implementa el protocolo de monitoreo (NSM) entre el cliente NFS y el servidor NFS
– rpc.mountd :demonio de montaje NFS que implementa el lado del servidor de las solicitudes de montaje de los clientes NFSv3.
– rpc.idmapd :asigna nombres NFSv4 y UID y GID locales
– rpc.rquotad :proporciona información de cuota de usuario para usuarios remotos.
Configuración del servidor NFS
1. Instale los paquetes nfs necesarios si aún no están instalados en el servidor:
# rpm -qa | grep nfs-utils
# yum install nfs-utils rpcbind
2. Habilite los servicios en el momento del arranque:
# systemctl enable nfs-server # systemctl enable rpcbind
# systemctl enable nfs-lock
En RHEL7.1 (nfs-utils-1.3.0-8.el7), habilitar nfs-lock no funciona (no existe tal archivo o directorio). no es necesario habilitarlo ya que rpc-statd.service es estático.
# systemctl enable nfs-idmap
En RHEL7.1 (nfs-utils-1.3.0-8.el7) esto no funciona (No existe tal archivo o directorio). no es necesario habilitarlo ya que nfs-idmapd.service es estático.
3. Inicie los servicios NFS:
# systemctl start rpcbind # systemctl start nfs-server # systemctl start nfs-lock # systemctl start nfs-idmap
4. Compruebe el estado del servicio NFS:
# systemctl status nfs
5. Cree un directorio compartido:
# mkdir /test
6. Exporte el directorio. El formato del archivo /etc/exports es:
dir client1 (options) [client2(options)...]
Las opciones del cliente incluyen (los valores predeterminados se enumeran primero):
ro / rw :
a) ro :permite a los clientes acceso de solo lectura al recurso compartido.
b) rw :permite a los clientes acceso de lectura y escritura al recurso compartido.
sync / async :
a) sync:el servidor NFS responde a la solicitud solo después de que los cambios realizados por la solicitud anterior se escriben en el disco.
b) async:especifica que el servidor no tiene que esperar.
wdelay / no_wdelay
a) wdelay:el servidor NFS retrasa la confirmación de las solicitudes de escritura cuando sospecha que otra solicitud de escritura es inminente.
b) no_wdelay:use esta opción para desactivar la demora. La opción no_wdelay solo se puede habilitar si la sincronización predeterminada la opción está habilitada.
no_all_squash / all_squash :
a) no_all_squash:no cambia el mapeo de usuarios remotos.
b) all_squash:para aplastar a todos los usuarios remotos, incluido el root.
root_squash / no_root_squash :
a) root_squash:evita que los usuarios root conectados de forma remota tengan acceso root. Eliminación efectiva de los privilegios de raíz remota.
b) no_root_squash:deshabilite la eliminación de raíz.
Ejemplo:
# vi /etc/exports /test *(rw)
7. Exportar el recurso compartido:
# exportfs -r
-r vuelve a exportar entradas en /etc/exports y sincroniza /var/lib/nfs/etab con /etc/exports. /var/lib/nfs/etab es la tabla maestra de exportación. Otras opciones que se pueden usar con el comando exportfs son:
-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab -i : ignore entries in /etc/exports and uses command line arguments. -u : un-export one or more directories -o : specify client options on command line
8. Reinicie el servicio NFS:
# systemctl restart nfs-server
Configuración del cliente NFS
1. Instale los paquetes nfs necesarios si aún no están instalados en el servidor:
# rpm -qa | grep nfs-utils
# yum install nfs-utils
2. Utilice el comando de montaje para montar sistemas de archivos exportados. Sintaxis del comando:
mount -t nfs -o options host:/remote/export /local/directory
Ejemplo:
# mount -t nfs -o ro,nosuid remote_host:/home /remote_home
Este ejemplo hace lo siguiente:
– Monta /home desde el host remoto (remote_host) en el punto de montaje local /remote_home.
– El sistema de archivos se monta como de solo lectura y los usuarios no pueden ejecutar un programa setuid ( -o ro,nosuid opciones).
3. Actualice /etc/fstab para montar recursos compartidos NFS en el momento del arranque.
# vi /etc/fstab remote_host:/home /remote_home nfs ro,nosuid 0 0
Los servicios de cortafuegos estarán activos en el servidor NFS
Para que el servidor NFS funcione, habilite los servicios nfs, mountd y rpc-bind en la zona correspondiente en la aplicación de configuración del firewall o usando firewall-cmd:
# firewall-cmd --add-service=nfs --zone=internal --permanent # firewall-cmd --add-service=mountd --zone=internal --permanent # firewall-cmd --add-service=rpc-bind --zone=internal --permanent