¡Esta es una revisión vieja del documento!
Tabla de Contenidos
209.2 NFS Server Configuration
Pertenece a Topic 209: File Sharing
- Weight: 3
- Description: Candidates should be able to export filesystems using NFS. This objective includes access restrictions, mounting an NFS filesystem on a client and securing NFS.
- Key Knowledge Areas:
- NFS version 3 configuration files
- NFS tools and utilities
- Access restrictions to certain hosts and/or subnets
- Mount options on server and client
- TCP Wrappers
- Awareness of NFSv4
- Terms and Utilities:
/etc/exportsexportfsshowmountnfsstat/proc/mounts/etc/fstabrpcinfomountdportmapper
NFS
NFS es el protocolo tradicional de compartición de archivos en sistemas Unix.
El script de administración del servicio NFS provoca la ejecución de tres daemons estándar:
- portmap: gestiona las peticiones RPC (Remote Procedure Call), peticiones de compartición.
- nfsd: espacio de usuario del servicio NFS. Inicia los threads NFS para las conexiones cliente.
- mountd: gestiona las peticiones de montaje de los clientes.
Instalación de un servidor NFS
Antes de hablar de la configuración de un servidor NFS, debemos instalarlo. Dicho proceso podemos realizarlo utilizando la paquetería existente, dependiendo de la distribución:
Debian:
apt-get install nfs-kernel-server
RedHat:
yum install nfs-utils
Herramientas
rpcinfo
Comando que permite efectuar una petición RPC a un servidor y mostrar los daemons gestionados.
rpcinfo localhost
Al ejecutarlo, mostraría todos los demonios relacionados con NFS
nfsstat
Comando que sirve para mostar las estadísticas relacionadas con la actividad en un servidor NFS.
exportfs
Comando que permite realizar un diagnóstico de las comparticiones activas en el sistema.
-v: permite visualizar las comparticiones activas con la actividad NFS-a: fuerza la lectura del/etc/exports-r: reexporta todos los directorios definidos en/etc/exports-u: unexport uno o más directorios.
Además permite declarar comparticiones puntuales.
exportfs <direccion_cliente>:</ruta_comparticion>
Definición de comparticiones
Para declarar una compartición permanente activa para el servicio NFS, se utiliza el fichero /etc/exports.
Formato del archivo /etc/exports:
comparticion1 direccion_cliente1(opciones) direccion_cliente2(opciones) ... direccion_clienteN(opciones) comparticion2 direccion_cliente1(opciones)
Opciones NFS comunes:
ro: acceso en modo sólo lecturarw: acceso en modo lectura/escritura.sync: acceso en modo escritura síncrona. Los datos se escriben inmediatamente.async: acceso en modo escritura asíncrona. Utilización de una caché de escritura.root_squash: comportamiento por defecto. La cuenta root pierde sus privilegios en la compartición.no_root_squash: la cuenta root conserva sus privilegios en la compartición.nolock: no se bloquean los archivos a los que se accede.
Ejemplo de uso del comando exportfs con la opción de sólo lectura
root@servidor# exportfs -o ro *:/data
El asterisco indica que cualquiera se podría conectar al recurso data. También se admiten rangos de IP o una subred completa (192.168.1.0/24).
Para hacer lo mismo, pero en el archivo /etc/exports:
/data *(ro)
Ejemplo de visualización de las comparticiones activas con sus opciones
root@servidor# exportfs -v /perso 192.168.0.20(rw,wdelay,root_squash,no_subtree_check) /data <world>(ro,wdelay,root_squash,no_subtree_check)
Clientes NFS
showmount
Comando que permite mostrar la información de un servidor NFS remoto.
showmount: Muestra los nombres de los clientes con montajes activos.showmount --exports: Muestra la lista de comparticiones remotas.showmount --directories: Muestra los directorios montados por clientes remotos.showmount --all: Muestra ambos, clientes y directorios.
showmount --exports 192.168.40.1
mount
Los clientes acceden a una compartición NFS mediante una operación de montaje. Usan la compartición montada como si de una estructura de directorios local se tratase.
Montaje de una compartición NFS:
mount -t nfs <opciones> <direccion_servidor>:/<ruta_comparticion> <punto_de_montaje>
Necesitamos instalar el soporte para montar recursos NFS. En Debian está disponible mediante el paquete nfs-common
Ejemplo:
mount -t nfs -o rw,nolock 192.168.31.43:/datos /data
Entrada /etc/fstab:
<direccion_servidor>:/<ruta_comparticion> <punto_de_montaje> nfs <opciones> 0 0
Ejemplo:
192.168.31.43:/datos /data nfs rw,nolock 0 0
