Está en la página 1de 20

Configuracin de servidor NFS.

Autor: Joel Barrios Dueas Correo electrnico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
1999-2014 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar p blicamente la obra y !acer obras deri"adas ba#o las condiciones si$uientes% a& Debe reconocer y citar al autor ori$inal. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicaci n! a trav"s de cual#uier medio! por entidades con fines de lucro). c& 'i altera o trans(orma esta obra o $enera una obra deri"ada, s)lo puede distribuir la obra $enerada ba#o una licencia id*ntica a *sta. +l reutili,ar o distribuir la obra, tiene -ue de#ar bien claro los t*rminos de la licencia de esta obra. +l$una de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derec!os de autor. .os derec!os deri"ados de usos le$/timos u otras limitaciones no se "en a(ectados por lo anterior. .icencia completa en castellano. .a in(ormaci)n contenida en este documento y los deri"ados de *ste se proporcionan tal cual son y los autores no asumir0n responsabilidad al$una si el usuario o lector, !ace mal uso de *stos.

Introduccin.
N$% 1Net2or3 $ile %ystem&, es un popular protocolo utili,ado para compartir sistemas de arc!i"os de manera transparente entre an(itriones dentro de una red de 0rea local. 4s utili,ado para sistemas de arc!i"os distribuido. 5ue desarrollado en 1964 por 'un 7icrosystems, teniendo en mente la independencia del an(itri)n, sistema operati"o, protocolo de transporte. 5unciona a tra"*s de los protocolos &'R 1ni"el de presentaci)n del modelo 8'9 de :;<=9<& y (NC R)C 1ni"el de sesi)n del modelo 8'9 de :;<=9<&. 4s muy popular entre sistemas basados sobre el est0ndar <8'9> y "iene incluido en la mayor/a de *stos de modo predeterminado. 4s muy (0cil de con(i$urar y utili,ar, sin embar$o cabe sealar -ue !ay -uienes denominan cariosamente aN$% como "No ile !ecurit"", pues carece de soporte para "alidar usuarios por contraseas, como lo !acen otras alternati"as como 'amba. 'u se$uridad se basa sobre listas de de control de acceso compuestas por direcciones 9< o nombres de an(itri)n. 4s por *sto -ue es importante -ue el administrador de la red de 0rea local comprenda -ue un ser"idor ?5' puede ser un serio problema de se$uridad, si *ste es con(i$urado incorrectamente. 4@isten tres "ersiones de ?5' -ue se utili,an !oy en d/a% N$%v2% 4s la "ersi)n m0s anti$ua y me#or soportada. N$%v*% :iene m0s caracter/sticas -ue ?5'"2, como el mane#o de arc!i"os de tamao "ariable y me#ores in(ormes de errores. ')lo es parcialmente compatible con los clientes para ?5'"2. N$%v+% 4s la "ersi)n m0s moderna, y, entre otras cosas, incluye soporte para se$uridad a tra"*s de Aerberos, soporte para +;. y utili,a operaciones con descripci)n del estado.

'al"o -ue se trate de directorios de acceso p blico, se recomienda utili,ar N$% s)lo dentro de una red de 0rea local detr0s de un muro contra(ue$os y -ue s)lo se permita el acceso a los an(itriones -ue inte$ren la red de 0rea local y e"itar compartir sistemas de arc!i"os con in(ormaci)n sensible a tra"*s de 9nternet.

Equipamiento lgico necesario.


En CentOS, Fedora y Red at Enterprise !inu".
4l pa-uete nfs-utils "iene incluido #unto con la instalaci)n est0ndar de estos sistemas operati"os y contiene tanto las !erramientas de cliente como las de ser"idor. De ser necesario, como por e#emplo en el caso de una instalaci)n m/nima, e#ecute lo si$uiente para instalar todo lo necesario%

yum -y install nfs-utils


'i pre(iere una !erramienta $r0(ica para con(i$urar el ser"idor ?5', puede instalar tambi*n el pa-uete system-config-nfs%

yum -y install system-config-nfs Instalacin en openS#SE y S#SE !inu" Enterprise.


4n estos sistemas operati"os, e@isten dos pa-uetes a instalar% nfs-client, -ue corresponde a las !erramientas para clientes ?5' y nfs-,ernel-server, -ue corresponde a las !erramientas de ser"idor ?5'. +mbos pa-uetes est0n incluidos en la instalaci)n est0ndar de open'U'4 y 'U'4 .inu@ 4nterprise. 4n caso de !aber !ec!o una instalaci)n m/nima, e#ecute lo si$uiente para instalarlos%

yast -i nfs-client nfs-kernel-server


'i pre(iere una !erramienta, -ue (unciona tanto desde la terminal como desde el escritorio, para con(i$urar el sistema como cliente ?5', puede instalar tambi*n el pa-uete yast2-nfs-client.

yast -i yast2-nfs-client
'i pre(iere una !erramienta, -ue (unciona tanto desde la terminal como desde el escritorio, para con(i$urar el sistema como ser"idor ?5', puede instalar tambi*n el pa-uete yast2-nfs-server.

yast -i yast2-nfs-server

$efinir los puertos utili%ados por NFS.


4l si$uiente paso puede ser omitido en open'U'4 y 'U'4 .inu@ 4nterprise, $racias a -ue %u%-$ire.all2 detecta autom0ticamente los puertos aleatorios utili,ados por el ser"icio nfsserver.

4n ;ent8', 5edora y Bed Cat 4nterprise .inu@ es importante de(inir los puertos (i#os -ue utili,ar0 ?5', pues el corta(ue$os es incapa, de abrir din0micamente los puertos aleatorios -ue de modo predeterminado utili,a *ste. 4dite el arc!i"o /etc/sysconfig/nfs%

vi /etc/sysconfig/nfs
Cabilite o bien modi(i-ue, las si$uientes "ariables, estableciendo los "alores mostrados a continuaci)n%

RQUOTAD_PORT= !" #O$%D_T$PPORT=&2 '& #O$%D_UDPPORT=&2!() *OU+TD_PORT= )2 ,TATD_PORT=((2


:ambi*n puede establecer los puertos desde la "entana D;on(i$uraci)n de ser"idorE de la !erramienta system-config-nfs.

;on(i$uraci)n del 'er"idor en system-config-nfs. 'i el ser"idor ?5' "a a traba#ar sin muro corta(ue$os en una red de 0rea local, este paso es innecesario.

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


En CentOS, Fedora y Red at Enterprise !inu".
'i se reali,) una instalaci)n est0ndar, los ser"icios re-ueridos por nfs, es decir rpcbind y nfsloc,, estar0n acti"os y (uncionando. ')lo en el caso de !aber reali,ado una instalaci)n m/nima, es necesario iniciar primero estos dos ser"icios, e#ecutando lo si$uiente%

service r-c.in/ start

service nfslock start


De modo predeterminado los ser"icios rpcbind y nfsloc, estar0n acti"os en los ni"eles de e#ecuci)n F, 4 y G. De modo predeterminado el ser"icio nfs estar0 inacti"o. <ara acti"ar este ser"icio en los ni"eles de e#ecuci)n F y G, es decir los ni"eles recomendados, e#ecute lo si$uiente%

c0kconfig --level &" nfs on


4l m*todo est0ndar para detener, iniciar o reiniciar el ser"icio nfs, es tra"*s del mandato service, el nombre del ser"icio 1nfs& y reload, restart, start o stop como ar$umentos. <ara iniciar el ser"icio por primera "e,, s)lo necesita e#ecutar%

service nfs start


<ara "ol"er a leer la con(i$uraci)n del ser"icio y aplicar los cambios, sin interrumpir las cone@iones e@istentes, s)lo se necesita e#ecutar%

service nfs reloa/


<ara reiniciar el ser"icio s)lo se necesita e#ecutar%

service nfs restart


<ara detener el ser"icio, s)lo necesita e#ecutar%

service nfs sto<ara "eri(icar el estado del ser"icio, s)lo necesita e#ecutar%

service nfs status En openS#SE y S#SE !inu" Enterprise.


4l m*todo est0ndar para a$re$ar el ser"icio al inicio del sistema es a tra"*s del mandato insserv. <ara acti"ar el ser"icio en los ni"eles de e#ecuci)n F y G, e#ecute lo si$uiente%

insserv nfsserver
4l m*todo est0ndar para detener, iniciar o reiniciar el ser"icio, es tra"*s del mandato rcnfsserver. <ara iniciar el ser"icio por primera "e,, s)lo necesita e#ecutar%

rcnfsserver start
<ara "ol"er a leer la con(i$uraci)n del ser"icio y aplicar los cambios, sin interrumpir las cone@iones e@istentes, s)lo se necesita e#ecutar%

rcnfsserver reloa/

<ara reiniciar el ser"icio s)lo se necesita e#ecutar%

rcnfsserver restart
<ara detener el ser"icio, s)lo necesita e#ecutar%

rcnfsserver sto<ara "eri(icar el estado del ser"icio, s)lo necesita e#ecutar%

rcnfsserver status

'odificaciones necesarias en los arc(ivos )etc)(osts.allo* y )etc)(osts.deny.


;on"iene establecer un poco de se$uridad e@tra a tra"*s de tcp0.rapper 1tcpd&, sobre todo si el ser"idor ?5' s)lo "a a operar en una red de 0rea local sin muro corta(ue$os. 4dite el arc!i"o /etc/1osts.deny%

vi /etc/0osts1/eny
+ada el si$uiente contenido%

-ortma-2 A## lock/2 A## mount/2 A## r3uota/2 A## stat/2 A##
4dite el arc!i"o /etc/1osts.allo.%

vi /etc/0osts1allo4
+sumiendo -ue se "a a permitir el acceso a las redes 122.134.56.6/27, 152.13.1.6/24 y 16.6.1.6/22, aada el si$uiente contenido%

-ortma-2 5)215( 1!'1'/2"6 5!215(151'/2 6 5'1'151'/2) lock/2 5)215( 1!'1'/2"6 5!215(151'/2 6 5'1'151'/2) mount/2 5)215( 1!'1'/2"6 5!215(151'/2 6 5'1'151'/2)

r3uota/2 5)215( 1!'1'/2"6 5!215(151'/2 6 5'1'151'/2) stat/2 5)215( 1!'1'/2"6 5!215(151'/2 6 5'1'151'/2)
.os cambios aplican de manera inmediata, sin reiniciar ser"icio al$uno.

'odificaciones necesarias en el muro cortafuegos.


"eri(i-ue e#ecutando el mandato rpcinfo con la opci)n -p los puertos y protocolos utili,ados por los ser"icios portmapper, nfs,loc,d, mountd, r#uotad y statd.

r-cinfo -.a salida debe ser similar a la si$uiente.


-rogram vers -roto 5''''' 7 tc5''''' & tc5''''' 2 tc5''''' 7 u/5''''' & u/5''''' 2 u/5'''55 5 u/5'''55 2 u/5'''55 5 tc5'''55 2 tc5''''& 2 tc5''''& & tc5''''& 7 tc5''22! 2 tc5''22! & tc5''''& 2 u/5''''& & u/5''''& 7 u/5''22! 2 u/5''22! & u/5'''25 5 u/5'''25 & u/5'''25 7 u/5'''25 5 tc5'''25 & tc5'''25 7 tc5''''" 5 u/5''''" 5 tc5''''" 2 u/5''''" 2 tc5''''" & u/5''''" & tc-ort 555 555 555 555 555 555 !" !" !" !" 2'7) 2'7) 2'7) 2'7) 2'7) 2'7) 2'7) 2'7) 2'7) 2'7) &2!() &2!() &2!() &2 '& &2 '& &2 '& )2 )2 )2 )2 )2 )2 service -ortma--er -ortma--er -ortma--er -ortma--er -ortma--er -ortma--er r3uota/ r3uota/ r3uota/ r3uota/ nfs nfs nfs nfs_acl nfs_acl nfs nfs nfs nfs_acl nfs_acl nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr mount/ mount/ mount/ mount/ mount/ mount/

<ara ser"idores de ?5'"4, en realidad s)lo es necesario abrir en el muro corta(ue$os el puerto 26+2/8C) 1nfs&, pues es esta "ersi)n de#) de depender del ser"icio de mapa de puertos 1portmap&. 'in embar$o, para poder traba#ar con compatibilidad para ?5'"2 y ?5'"F, es necesario

abrir los puertos 111/9'), 111/8C), 332/8C), 332/9'), 457/8C), 457/9'), 422/8C),422/9'), 2622/8C ), 26+2/9'), *246*/8C) y *2532/9'). .os puertos -ue se abran para los ser"icios loc,d, mountd,r#uotad y statd deben corresponder con los mismo puertos de(inidos el arc!i"o /etc/sysconfig/nfs.

En CentOS, Fedora y Red at Enterprise !inu".


erramienta system+config+fire*all.
'i utili,a el muro corta(ue$os predeterminado del sistema, puede e#ecutar el si$uiente mandato%

system-config-fire4all
Cabilite los puertos 111/9'), 111/8C), 332/8C), 332/9'), 457/8C), 457/9'), 422/8C), 422/9'), 2622/8C ), 26+2/9'),*246*/8C) y *2532/9') y apli-ue los cambios.

'ystem-con(i$-(ire2all !abilitando puertos para ?5'.

Servicio ipta,les.
'i lo pre(iere, tambi*n puede utili,ar directamente el mandato iptables, e#ecutando lo si$uiente%
i-ta.les i-ta.les i-ta.les i-ta.les i-ta.les i-ta.les i-ta.les -A -A -A -A -A -A -A 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT -m -m -m -m -m -m -m state state state state state state state --state --state --state --state --state --state --state +9: +9: +9: +9: +9: +9: +9: -m -m -m -m -m -m -m tcu/tcu/tcu/tc-------tcu/tcu/tcu/tc--/-ort --/-ort --/-ort --/-ort --/-ort --/-ort --/-ort 2'7) -; A$$9PT 2'7) -; A$$9PT 555 -; A$$9PT 555 -; A$$9PT ((2 -; A$$9PT ((2 -; A$$9PT !" -; A$$9PT

i-ta.les i-ta.les i-ta.les i-ta.les i-ta.les

-A -A -A -A -A

8+PUT 8+PUT 8+PUT 8+PUT 8+PUT

-m -m -m -m -m

state state state state state

--state --state --state --state --state

+9: +9: +9: +9: +9:

-m -m -m -m -m

u/tcu/tcu/-

------

u/tcu/tcu/-

--/-ort !" -; A$$9PT --/-ort )2 -; A$$9PT --/-ort )2 -; A$$9PT --/-ort &2 '& -; A$$9PT --/-ort &2!() -; A$$9PT

service i-ta.les save

8 bien aada lo si$uiente al arc!i"o /etc/sysconfig/iptables%


-A -A -A -A -A -A -A -A -A 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT 8+PUT -m -m -m -m -m -m -m -m -m state state state state state state state state state --state --state --state --state --state --state --state --state --state +9: +9: +9: +9: +9: +9: +9: +9: +9: -m -m -m -m -m -m -m -m -m tcu/tcu/tcu/tcu/tc---------tcu/tcu/tcu/tcu/tc--/-ort --/-ort --/-ort --/-ort --/-ort --/-ort --/-ort --/-ort --/-ort 2'7) -; A$$9PT 2'7) -; A$$9PT 555 -; A$$9PT 555 -; A$$9PT ((2 -; A$$9PT ((2 -; A$$9PT !" -; A$$9PT !" -; A$$9PT )2 -; A$$9PT

-A 8+PUT -m state --state +9: -m u/- -- u/- --/-ort )2 -; A$$9PT -A 8+PUT -m state --state +9: -m tc- -- tc- --/-ort &2 '& -; A$$9PT -A 8+PUT -m state --state +9: -m u/- -- u/- --/-ort &2!() -; A$$9PT

H reinicie el ser"icio iptables%

service i-ta.les restart


S(ore*all.
.as re$las para el arc!i"o /etc/s1ore.all/rules de %1ore.all corresponder/an a lo si$uiente%

<A$T8O+ ,OUR$9 D9,T PROTO D9,T < PORT A$$9PT all f4 tc5556((26 !"6 A$$9PT all f4 u/5556((26 !"6 <#A,T #8+9 -- ADD ?OUR 9+TR89, @9AOR9 +OT R9*OC9
<ara aplicar los cambios en '!ore2all, e#ecute lo si$uiente%

,OUR$9 PORT=,>5 )262'7)6&2 '& )262'7)6&2!() TB8, O+9 -- DO

service s0ore4all restart En openS#SE y S#SE !inu" Enterprise.


4#ecute el mandato yast del si$uiente modo%

yast fire4all
H !abilite NFS Server Service o Servicio de Servidor NFS y apli-ue los cambios. Isto !abilitar0 todos los puertos necesarios.

7)dulo de corta(ue$os de Ha':, en modo $r0(ico, !abilitando el Servicio de Servidor NFS.

7)dulo de corta(ue$os de Ha':, en modo te@to, !abilitando NFS Server Service.

-rocedimientos.
El arc(ivo )etc)e"ports.

4s el arc!i"o utili,ado para con(i$urar los directorios -ue se compartir0n a tra"*s de ?5'. 4l (ormato utili,ado es el si$uiente%

//irectorio/a/com-atir

anfitriones=o-ciones>

'e puede compartir cual-uier directorio del sistema y sus respecti"os subdirectorios, e@cepto por a-uellos subdirectorios -ue est*n en otros sistemas de arc!i"os. .os an(itriones se pueden de(inir por dominios, nombres de an(itri)n, direcciones 9< o se$mentos de blo-ues de direcciones 9<. .as opciones utili,adas pueden ser las si$uientes% ro y r.% ')lo lectura o lectura y escritura, respecti"amente. Jalor predeterminado es r.. lin,0relative y lin,0absolute% con"ertir los enlaces simb)licos absolutos en enlaces simb)licos relati"os o bien de#ar los enlaces simb)licos como est0n, respecti"amente. Jalor predeterminado es lin3Kabsolute. no0root0s#uas1 y root0s#uas1% respeta el uid=$id 0 1root& o bien traslada uid=$id 0 !acia uid=$id del usuario an)nimo de ?5'. Jalor predeterminado es rootKs-uas!. s#uas10uids y s#uas10gids% especi(ica una lista de uids o $ids -ue se trasladar0n al usuario an)nimo utili,ado por ?5'. 4#emplo% s-uas!KuidsL0-1G,20,2G-G0. all0s#uas1% traslada todos los uid y $id !acia el uid y $id del usuario an)nimo utili,ado por ?5'. ;om nmente utili,ado para compartir directorios de acceso p blico, como el directorio /var/ftp/pub. anonuid y anongid% establecen en (orma e@pl/cita el uid y $id del usuario an)nimo utili,ado por ?5'. 4#emplo% anonuidL1G0,anon$idL100. 4l manual -ue detalla el (ormato y opciones del arc!i"o /etc/e:ports puede consultarse e#ecutando lo si$uiente%

man " eD-orts


<ara "er la lista de clientes conectados al ser"idor ?5', se e#ecuta el mandato s1o.mount%

s0o4mount
<ara "er la lista de clientes conectados al ser"idor ?5' y los directorios utili,ados por cada uno, se e#ecuta el mandatos1o.mount con la opci)n -a%

s0o4mount -a
4l manual -ue detalla las opciones del mandato s1o.mount puede consultarse e#ecutando lo si$uiente%

man

s0o4mount

E.emplos de configuracin del arc(ivo )etc)e"ports.

4n el si$uiente e#emplo, se comparte el directorio local /1ome en modo lectura y escritura 1r.& a todos los an(itriones de152.13.1.6/24, respetando el uid y $id de root 1no0root0s#uas1&%

/0ome 5!215(151'/2 =r46no_root_s3uas0>


4n el si$uiente e#emplo, se comparte el directorio local /var/... en modo lectura y escritura 1r.& a 152.13.1.2, respetando el uid y $id de root 1no0root0s#uas1& y a 152.13.1.* en modo de s lo lectura, trasladando todos los uid y $id al usuario an)nimo utili,ado por ?5' 1 root0s#uas1 es el "alor por omisi)n&%
/var/444 5!215(1512=r46no_root_s3uas0> 5!215(151&=ro6all_s3uas0>

erramienta system+config+nfs en CentOS, Fedora y Red at Enterprise !inu".


.a con(i$uraci)n de los directorios a e@portar, con sus posibles opciones, en el arc!i"o /etc/e:ports, as/ como la con(i$uraci)n de los puertos de ?5' en el arc!i"o /etc/sysconfig/nfs, pueden !acer desde la !erramienta $r0(ica system-config-nfs.

Cerramienta $r0(ica system-config-nfs.

/aS0 nfs+server en openS#SE y S#SE !inu" Enterprise.


.a con(i$uraci)n de los directorios a e@portar, con sus posibles opciones, en el arc!i"o /etc/e:ports, as/ como la con(i$uraci)n de opciones del ser"idor ?5', pueden !acer utili,ando el m)dulo nfs-server de Ha':. 4#ecute lo si$uiente%

yast nfs-server

7)dulo nfs-server de Ha':.

1erificacin del servicio.


4l mandato rpcinfo se utili,a para "eri(icar el estado de ser"idores ?5' y otros ser"idores -ue (uncionan sobre B<;. <ara "eri(icar el estado de los ser"icios en el an(itri)n local, e#ecute%

r-cinfo
<ara "er las estad/sticas de uso en el an(itri)n local, e#ecute el mandato rpcinfo con la opci)n -m%

r-cinfo -m
<ara mostrar una lista de todos los pro$ramas B<; en el an(itri)n local, e#ecute el mandato rpcinfo con la opci)n -p%

r-cinfo -<ara mostrar una lista m0s concisa de todos los pro$ramas B<; en el an(itri)n local, e#ecute el mandato rpcinfo con la opci)n -s%

r-cinfo -s
<ara mostrar los transportes soportados por el an(itri)n local, e#ecute el mandato rpcinfo con la opci)n -8, udp, el nombre o direcci)n 9< del an(itri)n local y nfs como ar$umentos. 4#emplo%

r-cinfo -T u/- local0ost nfs

<ara "eri(icar el estado de los ser"icios en un an(itri)n remoto, e#ecute el mandato rpcinfo con el nombre o direcci)n 9< de un ser"idor ?5' remoto como ar$umento. 4#emplo%

r-cinfo 5)215( 151(7


<ara "er las estad/sticas de uso en un an(itri)n remoto, e#ecute el mandato rpcinfo con la opci)n m y el nombre o direcci)n 9< de un ser"idor ?5' remoto como ar$umento. 4#emplo%

r-cinfo -m 5)215( 151(7


<ara mostrar una lista de todos los pro$ramas B<; en un an(itri)n remoto, e#ecute el mandato rpcinfo con la opci)n -p y el nombre o direcci)n 9< de un ser"idor ?5' remoto como ar$umento. 4#emplo%

r-cinfo -- 5)215( 151(7


<ara mostrar una lista m0s concisa de todos los pro$ramas B<; en un an(itri)n remoto, e#ecute el mandato rpcinfo con la opci)n -s y el nombre o direcci)n 9< de un ser"idor ?5' remoto como ar$umento. 4#emplo%

r-cinfo -s 5)215( 151(7


<ara mostrar los transportes soportados por un an(itri)n remoto, e#ecute el mandato rpcinfo con la opci)n -8, udp, el nombre o direcci)n 9< de un ser"idor ?5' remoto y nfs como ar$umentos. 4#emplo%

r-cinfo -T u/- 5)215( 151(7 nfs 'onta.e de sistemas de arc(ivos NFS.


<ara montar sistemas de arc!i"os tipo ?5' se utili,a el mandato mount con la si$uiente sinta@is%

mount E-o o-cionesF servi/or2//irectorio /-unto/monta;e


<ara !acer permanentes los puntos de monta#e, se aaden entradas en el arc!i"o /etc/fstab, utili,ando el si$uiente (ormato%

servi/or2//irectorio o-ciones ' '

/-unto/monta;e

nfs7

.as posibles opciones para ambos arc!i"os, son las si$uientes% rsize% De(ine el tamao del b (er para lectura. 4l "alor predeterminado es 1024 bytes. 'i se incrementa a 6192 bytes, me#ora considerablemente el rendimiento del ser"idor ?5' al !acer la lectura de datos desde el cliente. 4#emplo% mount -o rsi,eL6192 ser"idor%=directorio =mnt=ser"idor .size% De(ine el tamao del b (er para escrituras. 4l "alor predeterminado es 1024 bytes. 'i se incrementa a 6192 bytes, me#ora considerablemente el rendimiento del ser"idor ?5' al !acer la escritura de datos desde el cliente. 4#emplo% mount -o 2si,eL6192 ser"idor%=directorio =mnt=ser"idor

1ard y soft% 4l primero !ace -ue las aplicaciones -ue est*n utili,ando el sistema de arc!i"os remoto entren en pausa cuando (alle o se interrumpa la conecti"idad con el ser"idor ?5', pudiendo utili,arse en combinaci)n con la opci)n intr para poder interrumpir las aplicaciones pausadas. 4l se$undo permite, despu*s de un tiempo -ue se de(ine con la opci)n timeo, descartar las cone@iones (allidas o interrumpidas !acia un ser"idor ?5'. intr% <ermite interrumpir las aplicaciones y=o los procesos -ue !ayan sido pausados tras la (alla o interrupci)n de conecti"idad con un ser"idor ?5'. timeo% 'e utili,a para establecer el l/mite de tiempo en d*cimas de se$undo usado antes de la primera retransmisi)n despu*s de -ue !a (allado o se !a interrumpido una cone@i)n a un ser"idor ?5'. 4l "alor por omisi)n es M d*cimas de se$undo, tras lo cual se duplica por cada e@piraci)n B<;, !asta un m0@imo de N0 se$undos. 'e recomienda aumentar el "alor en redes con muc!a con$esti)n. auto y noauto% 4l primero de(ine si el sistema de arc!i"os remoto se montar0 autom0ticamente #unto con el inicio del sistema. 4l se$undo impide -ue se monte autom0ticamente el sistema de arc!i"os remoto. 4l "alor predeterminado es auto. user% permite a los usuarios re$ulares poder montar un sistema de arc!i"os ?5'. +utom0ticamente aade las opcionesnoe:ec, nosuid y nodev 1pro!ibido e#ecutar arc!i"os de este sistema de arc!i"os, pro!ibido utili,ar 'U9D, pro!ibido el uso de dispositi"os de blo-ue, respecti"amente&.

4l manual -ue detalla las opciones de montado para ?5' para el arc!i"o /etc/fstab y -ue tambi*n son utili,adas por el mandato mount, pueden consultarse e#ecutando lo si$uiente%

man " nfs 'odulo nfs de /aS0 en openS#SE y S#SE !inu" Enterprise.
<ara con(i$urar los sistemas de arc!i"os remotos para ser montados en el sistema de arc!i"os local, el m*todo pre(erido es utili,ar el m)dulo nfs de Ha':. 4#ecute lo si$uiente%

yast nfs
De(ina los ser"idores, directorios remotos, puntos de monta#e y opciones a utili,ar y apli-ue los cambios.

7)dulo de n(s de Ha':, en modo te@to.

E.ercicios.
Compartir un volumen NFS para acceso p2,lico.
'i acaso (uese ine@istente, $enere el directorio local /var/ftp/pub%

test -/ /var/ft-/-u. GG mk/ir -- /var/ft-/-u.


;opie cual-uier contenido de acceso p blico dentro de este directorio. <ara compartir el directorio local /var/ftp/pub en modo de s lo lectura 1ro&, edite el arc!i"o /etc/e:ports%

vi /etc/eD-orts
+sumiendo -ue se trata del directorio p blico de el ser"idor 5:< del sistema, -ue *ste se compartir0 en modo de s lo lectura1opci)n ro& con"irtiendo todos los U9D y O9D de los clientes al usuario an)nimo de ?5' 1opci)n all0s#uas1&, a toda la red de 0rea local y -ue *sta corresponde a 122.134.56.6/27, aada el si$uiente contenido%

/var/ft-/-u. 5)215( 1!'1'/2"=ro6all_s3uas0>


'i utili,a ;ent8', 5edora o Bed Cat 4nterprise .inu@, e#ecute lo si$uiente para aplicar los cambios%

service nfs restart


'i utili,a open'U'4 o 'U'4 .inu@ 4nterprise 'er"er, e#ecute lo si$uiente para aplicar los cambios%

rcnfsserver restart
3cceso desde los clientes NFS.
;omo root, desde el an(itri)n cliente, e#ecute el mandato s1o.mount con la opci)n -e para consultar los "ol menes e@portados por el ser"idor ?5'%

s0o4mount -e 5)215( 1!'12


.a salida debe ser similar a la si$uiente%

9D-ort list for 5)215( 1!'122 /var/ft-/-u. 5)215( 1!'1'/2"

'i acaso (uese ine@istente, $enere el directorio local /var/ftp/pub%

test -/ /var/ft-/-u. GG mk/ir -- /var/ft-/-u.


7onte el directorio remoto 122.134.56.2;/var/ftp/pub en el directorio local /var/ftp/pub;

mount -o 0ar/6intr6ro 5)215( 1!'122/var/ft-/-u. /var/ft-/-u.


Jeri(i-ue con el mandato df -ue se !a montado con *@ito el directorio remoto.

/f -0
<ara con(i$urar permanentemente el directorio remoto, edite el arc!i"o /etc/fstab%

vi /etc/fsta.
+ada el si$uiente contenido%
5)215( 1!'122/var/ft-/-u. /var/ft-/-u. nfs7 0ar/6intr6ro ' '

Beinicie el sistema y "eri(i-ue -ue el directorio remoto mont) e@itosamente.

<ontar un servidor N$%


<ublicado el octubre 1, 2006 por "nanoc3

NFS (Network File System , es un protocolo de capa de aplicaci)n -ue nos proporciona un m*todo r0pido y e(ica, de compartir arc!i"os y espacio entre distintos ordenadores de una red -ue soporte este sistema. ?os permite compartir carpetas entre di(erentes sistemas operati"os con di(erentes sistemas de arc!i"os. 4sto es posible $racias a -ue ?5' nos pro"ee de una capa abstracta del sistema de (ic!eros real, permiti*ndonos montarlo en otros sistemas remotamente. 4ste sistema de compartici)n es til y (0cil de usar pero es apodado como #No $ile !ecurit"%. 4sto es debido a -ue no usa un sistema de contraseas, s)lo una lista de control de acceso determinada por direcciones 9< o nombres de m0-uina. Configurando el %ervidor de N$%.

+ntes de poder usar ?5', como ser"idor o cliente, debemos ase$urarnos de -ue nuestro n cleo ten$a incluido el soporte ?5' compilado. <ara poder comprobarlo !acemos% & cat /proc/$iles"stems 4n una de las l/neas nos deber0 de aparecer ?5'. Una "e, comprobado -ue nuestro n cleo soporta ?5' deberemos instalar portmap y el pa-uete n(s 1n(s-utils&. <ortmap nos permitir0 reali,ar cone@iones B<; al ser"idor y ser0 el encar$ado de permitir o no el acceso al ser"idor a los e-uipos -ue especi(i-uemos. <ara comprobar si est0 instalado en debian % & ps au' (grep portmap <ara comprobar si tenemos instaldo lo necesario en en un red-!at podemos !acer% & rpm )* n$s)utils portmap 'i detectamos -ue nos (alta al$ n pa-uete deberemos proceder a instalarlo. ) Debian: + aptitude install n$s)kernel)ser,er portmap - 4n red-!at% + rpm )-,h pa*uete.rpm Una "e, instalado , pasamos a le"antar los ser"icios% Debian % + /etc/init.d/portmap start + /etc/init.d/n$s)common start P =etc=init.d=n(s-3ernel-ser"er start Bed Cat% + !er,ice portmap start + !er,ice n$s start <odemos reali,ar una consulta a portmap para comprobar -ue esta (uncionando correctamente y -ue ser"icios tiene corriendo% & rpcin$o )p <ara parar o reiniciar los ser"icios bastar0 con usar las opciones stop=restart respecti"amente. Una "e, arrancados los ser"icios podemos empe,ar a compartir, para ello deberemos editar el arc!i"o /etc/e'ports. <ara compartir una carpeta deberemos se$uir la si$uiente notaci)n%

1. 2.

Directorio -ue deseamos compartir. 4l cliente puede ser un nombre ) 9< !osts , $rupo de red ?9', red o subred 1192.1N6.0.0=2GG.2GG.0.0& 1192.1N6.0.0=1N&, patrones 1Q,R&, etc.. <ermisos -ue le estamos dando al cliente autori,ado. <or e#emplo ro=r2. <ermitimos o no -ue se realicen modi(icaciones en el directorio e@portado desde el cliente. noKaccess 1<odemos dar acceso al directorio principal, pero a lo me#or no -ueremos -ue to-uen otros subdirectorios, para ello !ay -ue aadir este par0metro en cada l/nea de los subdirectorios -ue no se -uiera permitir "er&. +-ui podemos encontrar "arias opciones%

F.

4.

Async!sync" <ro"oca -ue todas las escrituras a disco sean s/ncronas, y por tanto o(rece mayor se$uridad ante ca/das del sistema.

Secure!insecure. Cace -ue las peticiones de cone@i)n ten$an -ue pro"enir obli$atoriamente de un puerto in(erior a 1024.

No#root#s$uas%" ?ormalmente cuando el usario, de la m0-uina cliente, -ue !ace una petici)n para montar una partici)n es el root, sus permisos sobre la partici)n montada ser0n de usuario nobody. 'i aadimos esta opci)n, sus permitiremos -ue el usuario root de la m0-uina cliente tambi*n ten$a acceso root a la m0-uina ser"idor.

Root#s$uas%" 4speci(ica #ustamente lo contrario -ue el anterior, -ue se mapeen los uid de root a nobody.

o o

All#s$uas%" 4speci(ica -ue se mapeen los uid de cual-uier usuario a nobody. Anouid y anondi&. 4speci(ica los uid y $id -ue -ueremos -ue (i$uren en la peticiones an)nimas.

4#emplos% ="ar=tmp Q1ro,sync& ="ar=tmp 192.1N6.1.11r2,sync& ="ar=tmp Q.localKdomain1ro,insecure,allKs-us!& Una "e, modi(icado el arc!i"o deberemos reiniciar el ser"icio ?5' o e#ecutar e#ecutar e'port$s )ra. <ara comprobar -ue directorios est0n siendo e@portados bastara con e#ecutar% e'port$s. <odemos !acer otra serie de comprobaciones como las si$uientes% ;lientes -ue est0n conectados a nuestro ser"idor ?5'% & cat /,ar/lib/n$s/rmtab.

Sue puertos se est0n utili,ando% & rpcin$o 1?ormalmente F2MM1, 111, 2049 &. 4n Bed Cat podemos "er en -ue ni"eles correr0 el ser"idor ?5' mediante % + chkcon$ig .list n$s y modi(icarlo mediante +chkcon$ig .le,el /0123 on/o$$ n$s.

%ecurizando el servidor N$%. <ara con(i$urar el ni"el de se$uridad deberemos editar los (ic!eros /etc/hosts.allow y/etc/hosts.den". 4n estos (ic!eros deberemos especi(icar -ue direcciones 9< o ran$o de direcciones 9< pueden acceder a los ser"icios y -uienes no pueden !acerlo. .a documentaci)n de ?5' recomienda las si$uientes entradas% T /etc/hosts.den" portmap% +.. loc3d% +.. mountd%+.. r-uotad% +.. statd% +.. 4n el arc!i"o =etc=!osts.allo2 daremos permisos a los usuarios o ran$os -ue -ueramos, por e#emplo% T /etc/hosts.allow portmap%192.1N6.1.0=2GG.2GG.2GG.0 loc3d%192.1N6.1.0=2GG.2GG.2GG.0 mountd%192.1N6.1.0=2GG.2GG.2GG.0 r-uotad%192.1N6.1.0=2GG.2GG.2GG.0 statd%192.1N6.1.0=2GG.2GG.2GG.0 <ara -ue todos estos cambios !a$an e(ecto deberemos reiniciar los ser"icios -ue !ayamos alterado. Configuraci n del Cliente. +!ora pasemos a e@plicar un poco la parte del cliente. 'i no lo esta, iniciamos el cliente% + etc/init.d/n$s)common start

;reamos una carpeta donde "amos a montar la carpeta del ser"idor remote% &mkdir /media/ser,idor4remoto. 7ontamos la carpeta -ue -ueremos con la si$uiente sinta@is% + mount $ileser,er:/ruta4remota /ruta4local. ;on esto ya deber/amos poder accede a la carpeta remota. 'i -ueremos -ue est0 carpeta se nos monte por de(ecto al arrancar el ordenador podemos incluir la ruta de monta#e en el (stab. ileser,er:/ruta4remota /ruta4local n$s rsi5e67/809wsi5e67/809 timeo6/29 intr. Nsi5e " wsi5e. 4speci(ican el tamao de data$rama usado por los clientes de ?5' en las peticiones de lectura y escritura respec- ti"amente. 4l tamao predeterminado depende de la "ersi)n del n cleo, pero normalmente es de 1024 bytes.

timeo. 4s el tiempo -ue el cliente de ?5' espera para la respuesta de una petici)n. <ara el ltimo par0metro tenemos F opciones%

o o o

Card. 7arca este "olumen como montado (/sicamente. 4s el "alor predeterminado. 'o(t. 7onta l)$icamente el controlador. 9ntr. <ermite una seal para interrumpir una llamada a ?5'. Util para abortar cuando el ser"idor no responde.

Usualmente el demonio rpc.mount rastrea -ue directorios !an sido montados por -ue an(itriones. 4sta in(ormaci)n puede mostrarse usando la orden s!o2mount. + showmount .e :; .ista de e@portaci)n para el an(itri)n local. P s!o2mount Vd 9< Directorios en el an(itri)n local. P s!o2mount Va :odos los puntos de monta#e para el an(itri)n local. <ara terminar "amos a !ablar un poco del comandoe'port$s. ;uando el ser"icio n(s inicia el comando =usr=bin=e@port(s se lan,a y lee el arc!i"o =etc=e@ports -ue es donde se de(inen los directorios -ue se "an a e@portar. Una "e, le/do el arc!i"o se le pasa el control a proceso de montado, rpc.mount. 4ntonces rpc.n(sd entra en (uncionamiento !aciendo "isibles las carpetas para los usuarios remotos. 4@port(s se usa para mantener la lista actual de directorios e@portados. :iene "arios modi(icadores -ue nos pueden !acer la "ida m0s (0cil. -r Becar$a el arc!i"o =etc=e@ports con las nue"as modi(i- caciones -ue !ayamos introducido. + la "e, pro"ocamos la actuali,aci)n de =etc=lib=n(s=@tab.

-a

<ro"oca -ue todos los directorios o nin$uno sean e@portados. ?os permite e@portar un directorio -ue no esta en =etc=e@ports. ?os permite usar las

-o (ile-systems opciones.

Un e#emplo puede ser% e'port$s .o as"nc ser,er:/usr/tmp - u De#a de e@portar todas las carpetas. .as opciones por de(ecto de e@portaci)n son % sync, ro, rootKs-uas!, 2delay. 'i no le pasamos par0metros nos muestra la lista de directorios e@portados.