centos 6.3 - configuración servidor nfs

23
Configuración de servidor NFS NFS (Network File System), es un popular protocolo utilizado para compartir sistemas de archivos de manera transparente entre anfitriones dentro de una red de área local. Es utilizado para sistemas de archivos distribuido. Fue desarrollado en 1984 por Sun Microsystems, teniendo en mente la independencia del anfitrión, sistema operativo, protocolo de transporte. Funciona a través de los protocolos XDR (nivel de presentación del modelo OSI de TCP/IP) y ONC RPC (nivel de sesión del modelo OSI de TCP/IP). Es muy popular entre sistemas basados sobre el estándar POSIX y viene incluido en la mayoría de éstos de modo predeterminado. Es muy fácil de configurar y utilizar, sin embargo cabe señalar que hay quienes denominan cariñosamente a NFS como "No File Security", pues carece de soporte para validar usuarios por contraseñas, como lo hacen otras alternativas como Samba. Su seguridad se basa sobre listas de de control de acceso compuestas por direcciones IP o nombres de anfitrión. Es por ésto que es importante que el administrador de la red de área local comprenda que un servidor NFS puede ser un serio problema de seguridad, si éste es configurado incorrectamente. Existen tres versiones de NFS que se utilizan hoy en día: NFSv2: Es la versión más antigua y mejor soportada. NFSv3: Tiene más características que NFSv2, como el manejo de archivos de tamaño variable y mejores informes de errores. Sólo es parcialmente compatible con los clientes para NFSv2. NFSv4: Es la versión más moderna, y, entre otras cosas, incluye soporte para seguridad a través de Kerberos, soporte para ACL y utiliza operaciones con descripción del estado. Salvo que se trate de directorios de acceso público, se recomienda utilizar NFS sólo dentro de una red de área local detrás de un muro contrafuegos y que sólo se permita el acceso a los anfitriones que integren la red de área local

Upload: almonacid

Post on 14-Feb-2015

177 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CentOS 6.3 - Configuración Servidor NFS

Configuración de servidor NFS

NFS (Network File System), es un popular protocolo utilizado para compartir sistemas de archivos de

manera transparente entre anfitriones dentro de una red de área local. Es utilizado para sistemas de

archivos distribuido.

Fue desarrollado en 1984 por Sun Microsystems, teniendo en mente la independencia del anfitrión,

sistema operativo, protocolo de transporte. Funciona a través de los protocolos XDR (nivel de

presentación del modelo OSI de TCP/IP) y ONC RPC (nivel de sesión del modelo OSI de TCP/IP).

Es muy popular entre sistemas basados sobre el estándar POSIX y viene incluido en la mayoría de

éstos de modo predeterminado. Es muy fácil de configurar y utilizar, sin embargo cabe señalar que hay

quienes denominan cariñosamente a NFS como "No File Security", pues carece de soporte para validar

usuarios por contraseñas, como lo hacen otras alternativas como Samba. Su seguridad se basa sobre

listas de de control de acceso compuestas por direcciones IP o nombres de anfitrión. Es por ésto que es

importante que el administrador de la red de área local comprenda que un servidor NFS puede ser un

serio problema de seguridad, si éste es configurado incorrectamente.

Existen tres versiones de NFS que se utilizan hoy en día:

NFSv2: Es la versión más antigua y mejor soportada.

NFSv3: Tiene más características que NFSv2, como el manejo de archivos de tamaño variable

y mejores informes de errores. Sólo es parcialmente compatible con los clientes para NFSv2.

NFSv4: Es la versión más moderna, y, entre otras cosas, incluye soporte para seguridad a

través de Kerberos, soporte para ACL y utiliza operaciones con descripción del estado.

Salvo que se trate de directorios de acceso público, se recomienda utilizar NFS sólo dentro de una red

de área local detrás de un muro contrafuegos y que sólo se permita el acceso a los anfitriones que

integren la red de área local y evitar compartir sistemas de archivos con información sensible a través de

Internet.

Equipamiento lógico necesario.

En CentOS, Fedora y Red Hat Enterprise Linux.

Page 2: CentOS 6.3 - Configuración Servidor NFS

El paquete nfs-utils viene incluido junto con la instalación estándar de estos sistemas operativos y

contiene tanto las herramientas de cliente como las de servidor. De ser necesario, como por ejemplo en

el caso de una instalación mínima, ejecute lo siguiente para instalar todo lo necesario:

yum -y install nfs-utils

Si prefiere una herramienta gráfica para configurar el servidor NFS, puede instalar también el paquete

system-config-nfs:

yum -y install system-config-nfs

Instalación en openSUSE y SUSE Linux Enterprise.

En estos sistemas operativos, existen dos paquetes a instalar: nfs-client, que corresponde a las

herramientas para clientes NFS y nfs-kernel-server, que corresponde a las herramientas de servidor

NFS. Ambos paquetes están incluidos en la instalación estándar de openSUSE y SUSE Linux

Enterprise. En caso de haber hecho una instalación mínima, ejecute lo siguiente para instalarlos:

yast -i nfs-client nfs-kernel-server

Si prefiere una herramienta, que funciona tanto desde la terminal como desde el escritorio, para

configurar el sistema como cliente NFS, puede instalar también el paquete yast2-nfs-client.

yast -i yast2-nfs-client

Si prefiere una herramienta, que funciona tanto desde la terminal como desde el escritorio, para

configurar el sistema como servidor NFS, puede instalar también el paquete yast2-nfs-server.

yast -i yast2-nfs-server

Definir los puertos utilizados por NFS.

El siguiente paso puede ser omitido en openSUSE y SUSE Linux Enterprise, gracias a que

SuSEFirewall2 detecta automáticamente los puertos aleatorios utilizados por el servicio nfsserver.

Page 3: CentOS 6.3 - Configuración Servidor NFS

En CentOS, Fedora y Red Hat Enterprise Linux es importante definir los puertos fijos que utilizará NFS,

pues el cortafuegos es incapaz de abrir dinámicamente los puertos aleatorios que de modo

predeterminado utiliza éste.

Edite el archivo /etc/sysconfig/nfs:

vim /etc/sysconfig/nfs

Habilite o bien modifique, los siguientes parámetros, estableciendo los valores mostrados a

continuación:

RQUOTAD_PORT=875

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

STATD_PORT=662

También puede establecer los puertos desde la ventana «Configuración de servidor» de la herramienta

system-config-nfs.

Configuración del Servidor en system-config-nfs.

Si el servidor NFS va a trabajar sin muro cortafuegos en una red de área local, este paso es innecesario.

Iniciar servicio y añadir el servicio al inicio del sistema.

Page 4: CentOS 6.3 - Configuración Servidor NFS

En CentOS, Fedora y Red Hat Enterprise Linux.

Si se realizó una instalación estándar, los servicios requeridos por nfs, es decir rpcbind y nfslock,

estarán activos y funcionando. Sólo en el caso de haber realizado una instalación mínima, es necesario

iniciar primero estos dos servicios, ejecutando lo siguiente:

service rpcbind start

service nfslock start

De modo predeterminado los servicios rpcbind y nfslock estarán activos en los niveles de ejecución 3,

4 y 5.

De modo predeterminado el servicio nfs estará inactivo. Para activar este servicio en los niveles de

ejecución 3 y 5, es decir los niveles recomendados, ejecute lo siguiente:

chkconfig --level 35 nfs on

El método estándar para detener, iniciar o reiniciar el servicio nfs, es través del mandato service, el

nombre del servicio (nfs) y reload, restart, start o stop como argumentos.

Para iniciar el servicio por primera vez, sólo necesita ejecutar:

service nfs start

Para volver a leer la configuración del servicio y aplicar los cambios, sin interrumpir las conexiones

existentes, sólo se necesita ejecutar:

service nfs reload

Para reiniciar el servicio sólo se necesita ejecutar:

service nfs restart

Para detener el servicio, sólo necesita ejecutar:

Page 5: CentOS 6.3 - Configuración Servidor NFS

service nfs stop

Para verificar el estado del servicio, sólo necesita ejecutar:

service nfs status

En openSUSE y SUSE Linux Enterprise.

El método estándar para agregar el servicio al inicio del sistema es a través del mandato insserv. Para

activar el servicio en los niveles de ejecución 3 y 5, ejecute lo siguiente:

insserv nfsserver

El método estándar para detener, iniciar o reiniciar el servicio, es través del mandato rcnfsserver.

Para iniciar el servicio por primera vez, sólo necesita ejecutar:

rcnfsserver start

Para volver a leer la configuración del servicio y aplicar los cambios, sin interrumpir las conexiones

existentes, sólo se necesita ejecutar:

rcnfsserver reload

Para reiniciar el servicio sólo se necesita ejecutar:

rcnfsserver restart

Para detener el servicio, sólo necesita ejecutar:

rcnfsserver stop

Para verificar el estado del servicio, sólo necesita ejecutar:

rcnfsserver status

Page 6: CentOS 6.3 - Configuración Servidor NFS

Modificaciones necesarias en los archivos /etc/hosts.allow y /etc/hosts.deny.

Conviene establecer un poco de seguridad extra a través de tcp_wrapper (tcpd), sobre todo si el

servidor NFS sólo va a operar en una red de área local sin muro cortafuegos.

Edite el archivo /etc/hosts.deny:

vim /etc/hosts.deny

Añada el siguiente contenido:

portmap: ALL

lockd: ALL

mountd: ALL

rquotad: ALL

statd: ALL

Edite el archivo /etc/hosts.allow:

vim /etc/hosts.allow

Asumiendo que se va a permitir el acceso a las redes 192.168.70.0/25, 172.16.1.0/28 y 10.0.1.0/29,

añada el siguiente contenido:

portmap: 192.168.70.0/25, 172.16.1.0/28, 10.0.1.0/29

lockd: 192.168.70.0/25, 172.16.1.0/28, 10.0.1.0/29

mountd: 192.168.70.0/25, 172.16.1.0/28, 10.0.1.0/29

rquotad: 192.168.70.0/25, 172.16.1.0/28, 10.0.1.0/29

statd: 192.168.70.0/25, 172.16.1.0/28, 10.0.1.0/29

Page 7: CentOS 6.3 - Configuración Servidor NFS

Los cambios aplican de manera inmediata, sin reiniciar servicio alguno.

Modificaciones necesarias en el muro cortafuegos.

verifique ejecutando el mandato rpcinfo con la opción -p los puertos y protocolos utilizados por los

servicios portmapper, nfs, lockd, mountd, rquotad y statd.

rpcinfo -p

La salida debe ser similar a la siguiente.

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100011 1 udp 875 rquotad

100011 2 udp 875 rquotad

100011 1 tcp 875 rquotad

100011 2 tcp 875 rquotad

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 2 tcp 2049 nfs_acl

100227 3 tcp 2049 nfs_acl

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

Page 8: CentOS 6.3 - Configuración Servidor NFS

100003 4 udp 2049 nfs

100227 2 udp 2049 nfs_acl

100227 3 udp 2049 nfs_acl

100021 1 udp 32769 nlockmgr

100021 3 udp 32769 nlockmgr

100021 4 udp 32769 nlockmgr

100021 1 tcp 32803 nlockmgr

100021 3 tcp 32803 nlockmgr

100021 4 tcp 32803 nlockmgr

100005 1 udp 892 mountd

100005 1 tcp 892 mountd

100005 2 udp 892 mountd

100005 2 tcp 892 mountd

100005 3 udp 892 mountd

100005 3 tcp 892 mountd

Para servidores de NFSv4, en realidad sólo es necesario abrir en el muro cortafuegos el puerto

2049/TCP (nfs), pues es esta versión dejó de depender del servicio de mapa de puertos (portmap). Sin

embargo, para poder trabajar con compatibilidad para NFSv2 y NFSv3, es necesario abrir los puertos

111/UDP, 111/TCP, 662/TCP, 662/UDP, 875/TCP, 875/UDP, 892/TCP, 892/UDP, 2029/TCP, 2049/UDP,

32803/TCP y 32769/UDP. Los puertos que se abran para los servicios lockd, mountd, rquotad y statd

deben corresponder con los mismo puertos definidos el archivo /etc/sysconfig/nfs.

En CentOS, Fedora y Red Hat Enterprise Linux.

Herramienta system-config-firewall.

Si utiliza el muro cortafuegos predeterminado del sistema, puede ejecutar el siguiente mandato:

system-config-firewall

Page 9: CentOS 6.3 - Configuración Servidor NFS

Habilite los puertos 111/UDP, 111/TCP, 662/TCP, 662/UDP, 875/TCP, 875/UDP, 892/TCP, 892/UDP,

2029/TCP, 2049/UDP, 32803/TCP y 32769/UDP y aplique los cambios.

System-config-firewall habilitando puertos para NFS.

Servicio iptables.

Si lo prefiere, también puede utilizar directamente el mandato iptables, ejecutando lo siguiente:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT

Page 10: CentOS 6.3 - Configuración Servidor NFS

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT

service iptables save

O bien añada lo siguiente al archivo /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT

Y reinicie el servicio iptables:

service iptables restart

Shorewall.

Las reglas para el archivo /etc/shorewall/rules de Shorewall corresponderían a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

Page 11: CentOS 6.3 - Configuración Servidor NFS

ACCEPT all fw tcp 111,662,875,892,2049,32803

ACCEPT all fw udp 111,662,875,892,2049,32769

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Para aplicar los cambios en Shorewall, ejecute lo siguiente:

service shorewall restart

En openSUSE y SUSE Linux Enterprise.

Ejecute el mandato yast del siguiente modo:

yast firewall

Y habilite NFS Server Service o Servicio de Servidor NFS y aplique los cambios. Ésto habilitará todos

los puertos necesarios.

Módulo de cortafuegos de YaST, en modo gráfico, habilitando el Servicio de Servidor NFS.

Page 12: CentOS 6.3 - Configuración Servidor NFS

Módulo de cortafuegos de YaST, en modo texto, habilitando NFS Server Service.

Procedimientos.

El archivo /etc/exports.

Es el archivo utilizado para configurar los directorios que se compartirán a través de NFS. El formato

utilizado es el siguiente:

/directorio/a/compatir anfitriones(opciones)

Se puede compartir cualquier directorio del sistema y sus respectivos subdirectorios, excepto por

aquellos subdirectorios que estén en otros sistemas de archivos.

Los anfitriones se pueden definir por dominios, nombres de anfitrión, direcciones IP o segmentos de

bloques de direcciones IP.

Las opciones utilizadas pueden ser las siguientes:

ro y rw: Sólo lectura o lectura y escritura, respectivamente. Valor predeterminado es rw.

Page 13: CentOS 6.3 - Configuración Servidor NFS

link_relative y link_absolute: convertir los enlaces simbólicos absolutos en enlaces simbólicos

relativos o bien dejar los enlaces simbólicos como están, respectivamente. Valor

predeterminado es link_absolute.

no_root_squash y root_squash: respeta el uid/gid 0 (root) o bien traslada uid/gid 0 hacia

uid/gid del usuario anónimo de NFS. Valor predeterminado es root_squash.

squash_uids y squash_gids: especifica una lista de uids o gids que se trasladarán al usuario

anónimo utilizado por NFS. Ejemplo: squash_uids=0-15,20,25-50.

all_squash: traslada todos los uid y gid hacia el uid y gid del usuario anónimo utilizado por

NFS. Comúnmente utilizado para compartir directorios de acceso público, como el directorio

/var/ftp/pub.

anonuid y anongid: establecen en forma explícita el uid y gid del usuario anónimo utilizado por

NFS. Ejemplo: anonuid=150,anongid=100.

El manual que detalla el formato y opciones del archivo /etc/exports puede consultarse ejecutando lo

siguiente:

man 5 exports

Para ver la lista de clientes conectados al servidor NFS, se ejecuta el mandato showmount:

showmount

Para ver la lista de clientes conectados al servidor NFS y los directorios utilizados por cada uno, se

ejecuta el mandato showmount con la opción -a:

showmount -a

El manual que detalla las opciones del mandato showmount puede consultarse ejecutando lo siguiente:

man 8 showmount

Ejemplos de configuración del archivo /etc/exports.

En el siguiente ejemplo, se comparte el directorio local /home en modo lectura y escritura (rw) a todos

los anfitriones de 172.16.1.0/28, respetando el uid y gid de root (no_root_squash):

Page 14: CentOS 6.3 - Configuración Servidor NFS

/home 172.16.1.0/28(rw,no_root_squash)

En el siguiente ejemplo, se comparte el directorio local /var/www en modo lectura y escritura (rw) a

172.16.1.2, respetando el uid y gid de root (no_root_squash) y a 172.16.1.3 en modo de sólo lectura,

trasladando todos los uid y gid al usuario anónimo utilizado por NFS (root_squash es el valor por

omisión):

/var/www 172.16.1.2(rw,no_root_squash) 172.16.1.3(ro,all_squash)

Herramienta system-config-nfs en CentOS, Fedora y Red Hat Enterprise Linux.

La configuración de los directorios a exportar, con sus posibles opciones, en el archivo /etc/exports, así

como la configuración de los puertos de NFS en el archivo /etc/sysconfig/nfs, pueden hacer desde la

herramienta gráfica system-config-nfs.

Herramienta gráfica system-config-nfs.

YaST nfs-server en openSUSE y SUSE Linux Enterprise.

La configuración de los directorios a exportar, con sus posibles opciones, en el archivo /etc/exports, así

como la configuración de opciones del servidor NFS, pueden hacer utilizando el módulo nfs-server de

YaST. Ejecute lo siguiente:

yast nfs-server

Page 15: CentOS 6.3 - Configuración Servidor NFS

Módulo nfs-server de YaST.

Verificación del servicio.

El mandato rpcinfo se utiliza para verificar el estado de servidores NFS y otros servidores que

funcionan sobre RPC.

Para verificar el estado de los servicios en el anfitrión local, ejecute:

rpcinfo

Para ver las estadísticas de uso en el anfitrión local, ejecute el mandato rpcinfo con la opción -m:

rpcinfo -m

Para mostrar una lista de todos los programas RPC en el anfitrión local, ejecute el mandato rpcinfo con

la opción -p:

rpcinfo -p

Page 16: CentOS 6.3 - Configuración Servidor NFS

Para mostrar una lista más concisa de todos los programas RPC en el anfitrión local, ejecute el mandato

rpcinfo con la opción -s:

rpcinfo -s

Para mostrar los transportes soportados por el anfitrión local, ejecute el mandato rpcinfo con la opción -

T, udp, el nombre o dirección IP del anfitrión local y nfs como argumentos. Ejemplo:

rpcinfo -T udp localhost nfs

Para verificar el estado de los servicios en un anfitrión remoto, ejecute el mandato rpcinfo con el

nombre o dirección IP de un servidor NFS remoto como argumento. Ejemplo:

rpcinfo 192.168.1.64

Para ver las estadísticas de uso en un anfitrión remoto, ejecute el mandato rpcinfo con la opción -m y el

nombre o dirección IP de un servidor NFS remoto como argumento. Ejemplo:

rpcinfo -m 192.168.1.64

Para mostrar una lista de todos los programas RPC en un anfitrión remoto, ejecute el mandato rpcinfo

con la opción -p y el nombre o dirección IP de un servidor NFS remoto como argumento. Ejemplo:

rpcinfo -p 192.168.1.64

Para mostrar una lista más concisa de todos los programas RPC en un anfitrión remoto, ejecute el

mandato rpcinfo con la opción -s y el nombre o dirección IP de un servidor NFS remoto como

argumento. Ejemplo:

rpcinfo -s 192.168.1.64

Para mostrar los transportes soportados por un anfitrión remoto, ejecute el mandato rpcinfo con la

opción -T, udp, el nombre o dirección IP de un servidor NFS remoto y nfs como argumentos. Ejemplo:

Page 17: CentOS 6.3 - Configuración Servidor NFS

rpcinfo -T udp 192.168.1.64 nfs

Montaje de sistemas de archivos NFS.

Para montar sistemas de archivos tipo NFS se utiliza el mandato mount con la siguiente sintaxis:

mount [-o opciones] servidor:/directorio /punto/montaje

Para hacer permanentes los puntos de montaje, se añaden entradas en el archivo /etc/fstab, utilizando

el siguiente formato:

servidor:/directorio /punto/montaje nfs4 opciones 0 0

Las posibles opciones para ambos archivos, son las siguientes:

rsize: Define el tamaño del búfer para lectura. El valor predeterminado es 1024 bytes. Si se

incrementa a 8192 bytes, mejora considerablemente el rendimiento del servidor NFS al hacer

la lectura de datos desde el cliente. Ejemplo: mount -o rsize=8192 servidor:/directorio

/mnt/servidor

wsize: Define el tamaño del búfer para escrituras. El valor predeterminado es 1024 bytes. Si se

incrementa a 8192 bytes, mejora considerablemente el rendimiento del servidor NFS al hacer

la escritura de datos desde el cliente. Ejemplo: mount -o wsize=8192 servidor:/directorio

/mnt/servidor

hard y soft: El primero hace que las aplicaciones que estén utilizando el sistema de archivos

remoto entren en pausa cuando falle o se interrumpa la conectividad con el servidor NFS,

pudiendo utilizarse en combinación con la opción intr para poder interrumpir las aplicaciones

pausadas. El segundo permite, después de un tiempo que se define con la opción timeo,

descartar las conexiones fallidas o interrumpidas hacia un servidor NFS.

intr: Permite interrumpir las aplicaciones y/o los procesos que hayan sido pausados tras la falla

o interrupción de conectividad con un servidor NFS.

timeo: Se utiliza para establecer el límite de tiempo en décimas de segundo usado antes de la

primera retransmisión después de que ha fallado o se ha interrumpido una conexión a un

servidor NFS. El valor por omisión es 7 décimas de segundo, tras lo cual se duplica por cada

Page 18: CentOS 6.3 - Configuración Servidor NFS

expiración RPC, hasta un máximo de 60 segundos. Se recomienda aumentar el valor en

redes con mucha congestión.

auto y noauto: El primero define si el sistema de archivos remoto se montará automáticamente

junto con el inicio del sistema. El segundo impide que se monte automáticamente el sistema

de archivos remoto. El valor predeterminado es auto.

user: permite a los usuarios regulares poder montar un sistema de archivos NFS.

Automáticamente añade las opciones noexec, nosuid y nodev (prohibido ejecutar archivos

de este sistema de archivos, prohibido utilizar SUID, prohibido el uso de dispositivos de

bloque, respectivamente).

El manual que detalla las opciones de montado para NFS para el archivo /etc/fstab y que también son

utilizadas por el mandato mount, pueden consultarse ejecutando lo siguiente:

man 5 nfs

Modulo nfs de YaST en openSUSE y SUSE Linux Enterprise.

Para configurar los sistemas de archivos remotos para ser montados en el sistema de archivos local, el

método preferido es utilizar el módulo nfs de YaST. Ejecute lo siguiente:

yast nfs

Defina los servidores, directorios remotos, puntos de montaje y opciones a utilizar y aplique los cambios.

Page 19: CentOS 6.3 - Configuración Servidor NFS

Módulo de nfs de YaST, en modo texto.

Ejercicios.

Compartir un volumen NFS para acceso público.

Si acaso fuese inexistente, genere el directorio local /var/ftp/pub:

test -d /var/ftp/pub || mkdir -p /var/ftp/pub

Copie cualquier contenido de acceso público dentro de este directorio.

Para compartir el directorio local /var/ftp/pub en modo de sólo lectura (ro), edite el archivo

/etc/exports:

vim /etc/exports

Asumiendo que se trata del directorio público de el servidor FTP del sistema, que éste se compartirá en

modo de sólo lectura (opción ro) convirtiendo todos los UID y GID de los clientes al usuario anónimo de

NFS (opción all_squash), a toda la red de área local y que ésta corresponde a 192.168.70.0/25, añada

el siguiente contenido:

Page 20: CentOS 6.3 - Configuración Servidor NFS

/var/ftp/pub 192.168.70.0/25(ro,all_squash)

Si utiliza CentOS, Fedora o Red Hat Enterprise Linux, ejecute lo siguiente para aplicar los cambios:

service nfs restart

Si utiliza openSUSE o SUSE Linux Enterprise Server, ejecute lo siguiente para aplicar los cambios:

rcnfsserver restart

Acceso desde los clientes NFS.

Como root, desde el anfitrión cliente, ejecute el mandato showmount con la opción -e para consultar los

volúmenes exportados por el servidor NFS:

showmount -e 192.168.70.2

La salida debe ser similar a la siguiente:

Export list for 192.168.70.2:

/var/ftp/pub 192.168.70.0/25

Si acaso fuese inexistente, genere el directorio local /var/ftp/pub:

test -d /var/ftp/pub || mkdir -p /var/ftp/pub

Monte el directorio remoto 192.168.70.2:/var/ftp/pub en el directorio local /var/ftp/pub:

mount -o hard,intr,ro 192.168.70.2:/var/ftp/pub /var/ftp/pub

Verifique con el mandato df que se ha montado con éxito el directorio remoto.

df -h

Page 21: CentOS 6.3 - Configuración Servidor NFS

Para configurar permanentemente el directorio remoto, edite el archivo /etc/fstab:

vim /etc/fstab

Añada el siguiente contenido:

192.168.70.2:/var/ftp/pub /var/ftp/pub nfs4 hard,intr,ro 0 0

Reinicie el sistema y verifique que el directorio remoto montó exitosamente.