Buscar en
Linux Para Todos
F o r o d e s o p o r t e
C a p a c i t a c i ó n
I n t r o d u c c i ó n a L i n u x
Manuales Linux
P r o d u c t o s y S e r v i c i o s
C o p y r i g h t
S e a r c h t h e W e b .
Cómo configurar un servidor NFS. V . 1 . 1 . 3
Actualizado el Jueves 14/11/2001, 05:29:46 GMT -0600.
Joel Barrios Dueñas
[email protected]
http://www.linuxparatodos.com/
C o p y r i g h t .
© 2001 Linux Para Todos. Se permite la libre distribución y modificación de este documento por cualquier medio y formato mientras esta leyenda permanezca intacta con el documento y la distribución y modificación se hagan de
de acuerdo con los términos de la Licencia Pública General G N U publicada por la Free Software Fundation; sea la versión 2 de la licencia o (a su elección) cualquier otra posterior. La información contenida en este documento y
los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
Introducción.
NFS, acrónimo de N etwork File System, es un popular protocolo utilizado para compartir volúmenes entre máquinas dentro de una red de manera trasparente, más comúnmente
utilizado entre sistemas basados sobre UNIX®. Es útil y fácil de utilizar, sin embargo no en vano es apodado cariñosamente como "No File Security". NFS no utiliza un sistema de
contraseñas como el que tiene SAMBA, solo una lista de control de acceso determinada por direcciones IP o nombres. Es por esto que es importante que el administrador de la red
local o usuario entienda que un servidor NFS puede ser un verdadero e inmenso agujero de seguridad si este no es configurado apropiadamente e implementado detrás de un
contrafuegos o firewall.
para compartir sistemas de archivos a través de Internet. Al no contar con un sistema de autentificación por contraseñas, es un servicio suceptible del ataque de algún cracker. SAMBA es un mucho mejor y
Personalmente, solo recomiendo utilizar NFS dentro de una red local detrás de un contrafuegos o firewall que permita el accesos solo a las máquinas que integren la red local, nunca
más seguro protocolo para compartir sistemas de archivos.
Procedimientos.
Teniendo en cuenta los aspectos de seguridad mencionados, es importante que siga los procedimientos descritos a continuación al pie de la letra, y que posteriormente se comprometa también consultar a
detalle la documentación incluida en el paquete nfs-utils, ya que este le proporcionará información adicional y completa sobre aspectos avanzados de configuración y utilización.
Configurando el servidor NFS.
Se requiere tener instalados nfs-utils y portmap. Preguntaremos al sistema si estos están instalados con la siguiente línea de comando:
rpm -q nfs-utils portmap
Lo cual debe de regresarle algo como lo siguiente:
nfs-utils-0.3.1-13.7.2.1
portmap-4.0-38
En caso de que falte alguno de estos paquetes, inserte el CD de instalación en la unidad correspondiente, abra una terminal o consola y ejecute lo siguiente:
mount /mnt/cdrom/
rpm -Uvh /mnt/cdrom/RedHat/RPMS/paquete_faltante
Cabe mencionar que lo mejor será siempre utilizar la versiones de nfs-utils y portmap más actuales. Salvo por RedHat® Linux 7.1 o LinuxPPP 7.x, el resto de las versiones anteriores de RedHat® y
LinuxPPP® incluyen paquetes de nfs-utils y portmap con serios agujeros de seguridad. Visite el servidor ftp de la distribución utilizada y descargue los paquetes actualizados, que seguramente incluirán los
parches de seguridad necesarios:
ftp://updates.redhat.com/6.0/en/os/i386/, si posee alguna distribución basada sobre RedHat® Linux 6.0
ftp://updates.redhat.com/6.1/en/os/i386/, si posee alguna distribución basada sobre RedHat® Linux 6.1
ftp://updates.redhat.com/6.2/en/os/i386/, si posee alguna distribución basada sobre RedHat® Linux 6.2 -como serían LinuxPPP® 6.2, 6.3 y 6.4-
ftp://updates.redhat.com/7.0/en/os/i386/, si posee alguna distribución basada sobre RedHat® Linux 7.0
ftp://updates.redhat.com/7.1/en/os/i386/, si posee alguna distribución basada sobre RedHat® Linux 7.1
ftp://updates.redhat.com/7.2/en/os/i386/, si posee alguna distribución basada sobre RedHat® Linux 7.1
Si utiliza Redhat 6.x o LinuxPPP 6.x, la más reciente versión de nfs-utils, que corresponde a la 0.3.1, requerirá además que actualice el paquete mount a su versión 2.10r o superior, y que también podrá
encontrar en el mismo directorio del servidor ftp.
Lo siguiente será configurar un nivel de seguridad para portmap. Esto se consigue editando los ficheros /etc/hosts.allow y /etc/hosts.deny. Debemos especificar que direcciones IP o rango de direcciones IP
pueden acceder a los servicios de portmap y quienes no pueden hacerlo. Podemos entonces determinar en /etc/hosts.allow como rango de direcciones IP permitidas los siguiente:
portmap:192.168.1.0/255.255.255.0
Esto corresponde a la dirección IP de la red completa y la máscara de la subred. Adicionalmente podemos especificar direcciones IP individuales sin necesidad de establecer una máscara. Esto es de utilidad
cuando se desea compartir volúmenes con otras máquinas en otras redes a través de Internet. Ejemplo:
portmap:192.168.1.0/255.255.255.0
portmap:192.168.20.25
portmap:192.168.30.2
portmap:216.200.152.96
portmap:148.240.28.171
Una vez determinado que direcciones IP pueden acceder a portmap, solo resta determinar quienes no pueden hacerlo. Evidentemente nos referimos al resto del mundo, y esto se hace agregando la
portmap:192.168.30.2
portmap:216.200.152.96
portmap:148.240.28.171
Una vez determinado que direcciones IP pueden acceder a portmap, solo resta determinar quienes no pueden hacerlo. Evidentemente nos referimos al resto del mundo, y esto se hace agregando la
siguiente línea:
portmap:ALL
Es importante destacar que la línea anterior es INDISPENSABLE y NECESARIA si quiere tener un nivel de seguridad decente. De manera predeterminada las versiones más recientes de nfs-utils no
permitirán iniciar el servicio si esta línea no se encuentra presente en /etc/hosts.deny.
Una vez configurado portmap, debe reiniciarse el servicio de portmap:
/etc/rc.d/init.d/portmap restart
Si tiene un DNS, de de alta las direcciones IP asociadas a un nombre o bien edite /etc/hosts y agregue las direcciones IP asociadas con un nombre. Esto nos servirá como listas de control de accesos.
Ejemplo del fichero /etc/hosts:
127.0.0.1 localhost.localdomain localhost
192.168.1.254 servidor.mi-red-local.org servidor
192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
192.168.1.6 como_sea.mi-red-local.org como_sea
192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea
Procederemos a determinar que directorio se va a compartir. Puede crear también uno nuevo:
mkdir /home/nfs/
Una vez hecho esto, necesitaremos establecer que directorios en el sistema serán compartidos con el resto de las máquinas de la red, o bien a que máquinas, de acuerdo al DNS o /etc/hosts se permitirá el
accesos. Esto deberemos agregarlos en /etc/exports determinado con que máquinas y en que modo lo haremos. Se puede especificar una dirección IP o bien nombre de alguna máquina, o bien un patrón
común con comodín para definir que máquinas pueden acceder. De tal modo podemos utilizar el siguiente ejemplo (la separación de espacios se hace con un tabulador):
/home/nfs *.mi-red-local.org(ro)
En el ejemplo anterior se esta definiendo que se compartirá /home/nfs/ a todas las máquinas cuyo nombre, de acuerdo al DNS o /etc/hosts, tiene como patrón común mi-red-local.org, en modo de lectura
escritura. Se utilizó un asterisco (*) como comodín, seguido de un punto y el nombre del dominio. Esto permitirá que como_se_llame.mi-red-local.org, como_sea.mi-red-local.org,
lo_que_sea.mi-red-local.org, etc., podrán acceder al volumen /home/nfs/ en modo solo lectura. Si queremos que el accesos a este directorio sea en modo de lectura y escritura, cambiamos (ro) por (rw):
/home/nfs *.mi-red-local.org(rw)
Ya que se definieron los volúmenes a compartir, solo resta iniciar o reinciar el servicio nfs. Utilice cualquiera de las dos líneas dependiendo el caso:
/etc/rc.d/init.d/nfs start
/etc/rc.d/init.d/nfs restart
A fin de asegurarnos de que el servicio de nfs esté habilitado la siguiente vez que se encienda el equipo, debemos ejecutar lo siguiente:
/sbin/chkconfig --level 345 nfs on
El comando anterior hace que se habilite nfs en los niveles de corrida 3, 4 y 5.
Como medida de seguridad adicional, si tiene un contrafuegos o firewall implementado, cierre, para todo aquello que no sea parte de su red local, los puertos tcp y udp 2049, ya que estos son utilizados por
NFS para escuchar peticiones.
Configurando las máquinas clientes.
Para probar la configuración, es necesario que las máquinas clientes se encuentren definidas en el DNS o en el fichero /etc/hosts del servidor. Si no hay un DNS configurado en la red, deberán definirse los
nombres y direcciones IP corespondientes en el fichero /etc/hosts de todas las máquinas que integran la red local. A continuación creamos, como root, desde cualquier otra máquina de la red local un punto
de montaje:
mkdir /mnt/servidornfs
Y para proceder a montar el volumen remoto, utilizaremos la siguiente línea de comando :
mount -t nfs servidor.mi-red-local.org:/home/nfs /mnt/servidornfs
Si por alguna razón en el DNS de la red local, o el fichero /etc/hosts de la máquina cliente, decidio no asociar el nombre de la máquina que funjirá como servidor NFS a su correspodiente dirección IP, puede
especificar ésta en lugar del nombre. Ejemplo:
mount -t nfs 192.168.1.254:/home/nfs /mnt/servidornfs
Podremos acceder entonces a dicho volumen remoto con solo cambiar al directorio local definido c
Comentarios de: Cómo configurar un servidor NFS (0)
No hay comentarios