¿Como montar un servidor NFS v4.0 en CentOS / RHEL v5.x para compartir archivos entre estaciones LINUX? ¿Cómo exportar una carpeta con NFSv4? ¿Cómo montar una carpeta con NFSv4?

El Sistema de Archivos de Red (NFS, del inglés, Network File System) es un protocolo de archivos en red desarrollado por Sun Microsystems. Permite a sus usuarios acceder a ciertos archivos a través de la red. Los sistemas operativos LINUX y UNIX (como también MS-Windows) pueden montar un sistema de archivos que se encuentre en otro computador a través de la red y trabajar con el como si fueran archivos locales. Esto es ideal para compartir archivos o directorios centralizados.

La versión NFS 4 ofrece los siguientes beneficios en comparación con NFSv3 o anteriores:

  1. Mejoras en el desempeño
  2. Reglas de seguridad
  3. NFS v4 trabaja por defecto sobre redes TCP
  4. Facil de instalar la opcion de firewall
  5. y mucho más.

Paquetes requeridos

Usted necesitará instalar los siguientes paquetes:

  • nfs-utils - El paquete nfs-utils provee un servicio para el núcleo del servidor NFS y sus herramientas asociadas, con lo que se obtiene un nivel mucho más alto en el desempeño que en los servidores NFS tradicionales.
  • portmap - El paquete portmap debiera ser instalado en toda máquina que actúe como un servidor para protocolos que utilizan RPC.
  • nfs4-acl-tools - Este paquete contiene los comandos y las herramientas para crear las reglas de acceso.

Instalar el servidor NFS

Escriba el siguiente comando (también debe instalar nfs4-acl-tools y nfs-utils en los clientes):

# yum install nfs-utils nfs4-acl-tools portmap

Compartir los archivos

La forma como compartimos los archivos es a través del archivo /etc/exports. En él se controla cuáles archivos y carpetas se van a compartir. Usaremos el siguiente formato:

1
2
3
/carpeta1 servidor.example.com(opciones)
/carpeta2 192.168.1.0/24( opciones )
/carpeta3 192.168.1.5( opciones ) 192.168.1.15( opciones ) pc202.nixcraft.net.in( opciones )

Así especificaremos, por ejemplo que la carpeta 1 será compartida solamente con el servidor "servidor.example.com"

Entonces, para compartir la carpeta /ventas, ejecutaremos el siguiente comando:

vi /etc/exports

Y agregaremos la siguiente configuración:

/ventas  192.168.1.15(rw,sync,fsid=0) 192.168.1.16(rw,sync,fsid=0)

donde

  1. /ventas es la carpeta que queremos compartir
  2. 192.168.1.15 y 192.168.1.16 son las IP a las que se les permitirá el acceso a los archivos de la carpeta
  3. rw - Permisos de lectura y escritura
  4. fsid=0 - Exporta la carpeta sobre NFS v4. El punto de exportacion con fsid=0 sera utilizado como la carpeta raíz para los clientes.

Guarde y cierre el archivo. Inicie los servicios:

chkconfig nfs on
chkconfig portmap on
service portmap start <-- (para soporte para NFS v3)
service nfs start

El resultado debe ser como sigue:

Starting NFS services:                                     [  OK  ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]

Note que el servicio portmap no es necesario para NFSv4.

Configuracion del Firewall para NFSv4

Debe abrir el puerto TCP 2049 para recibir conexiones NFSv4.

Configuración del TCP Wrapper

El TCP Wrapper es un sistema de filtro que actúa a nivel de cada máquina autorizando o restringiendo el acceso a internet.

Edite el archivo /etc/hosts.deny:

 

vi /etc/hosts.deny


Agregue las siguientes líneas (útil tanto para NFSv4 y NFSv3):

portmap:ALL

 

Finalmente, edite el archivo /etc/hosts.allow y agregue las IP de los servidores que autorizará, repitiendo en tantas lineas como sea necesario:

 

portmap:192.168.1.0/24

Guarde y cierre el archivo.

Configuración de los clientes NFS

Los clientes pueden montar la carpeta compartida usando los siguientes comandos:

mkdir /ventas
mount -t nfs4 servername:/ /ventas/
df -H
 
cd /ventas
ls >testfile
ls testfile && rm testfile
 

 

Donde servername es la IP del servidor de archivos NFS.