Servidor NFS “NETWORK FILE SYSTEM” INTRODUCCIÓN E l S iste m a d e A rch iv o s e n R e d ó N e tw o rk F ile S y ste m (N F S ) fu e d e sarro llad o p ara p e rm itir a o rd e n ad o re s co m p artir re cu rso s re m o tam e n te co m o si fu e ra lo calm e n te . P e ro e sto e s p e lig ro so , p o r q u e g e n te n o d e se ad a tie n e acce so al d isco d u ro d e l se rv id o r d e la re d y m an ip u lar in d e b id am e n te lo s arch iv o s. P ara e v itar e sto , se h a d e to m ar cie rtas p re c au cio n e s, p o r e je m p lo , re strin g ir e l ran g o d e Ip s au to riza d as al acce so . CARACTERÍSTICAS DEL NFS Permite concentrar archivos de gran tamaño en una máquina dentro de una red, ahorrando gran cantidad de recursos en cada máquina. Se puede tener un archivo actualizado frecuentemente sin necesidad de actualizarlo mediante soportes físicos. Se tiene la sensación de estar trabajando con archivos localmente, estando éstos en una máquina remota. Hay que tener en cuenta que este servicio no es muy seguro, al no contar de un sistema de login y password como samba. Este servicio no es posible en máquinas MsDos. DESCRIPCIÓN DE LOS ARCHIVOS DE CONFIGURACIÓN /etc/exports: /etc/hosts.allow: /etc/hosts.deny: /etc/hosts: /etc/services: En este archivo se especifica los recursos a compartir, y los permisos pertinentes para manejar éstos. En este archivo es donde es especifican las direcciones IP individuales o rango de direcciones IP a permitir el acceso. Por contra en éste archivo es donde se puede denegar la entrada a direcciones IP no permitidas o no deseadas. En este archivo se pueden asociar direcciones IP a un nombre, para así facilitar el aprendizaje de nombre de clientes. Aquí te has de fijar que el servicio NFS no esté desactivado(con un # al principio de la línea) por defecto en el 2049. INSTALACIÓN Configurando el servidor NFS Para que funcione el NFS hace falta tener instalados el nfs-utils, nfs-utilsclients y el portmap. Por esto le preguntaremos a la máquina con el comando rpm: rpm -q nfs-utils portmap nfs-utils-clients Lo que debe responder algo así: nfs-utils-0.3.1-7mdk portmap-4.0-17mdk (Según la version instalada). nfs-utils-clients-0.3.1-7mdk En caso de que falten algunos de estos paquetes, inserte el CD de instalación en la unidad correspondiente, y ejecute: mount /mnt/cdrom/ rpm -Uvh /mnt/cdrom/Mandrake/RPMS/paquete_faltante Creamos la carpeta a compartir, por ejemplo: mkdir /usr/local /etc/exports En este archivo se especifican los recusos a compartir y los permisos sobre estos. Por ejemplo: /usr/local 192.168.1.111(ro) Esto significa que, compartimos el archivo /usr/local a la direccion IP 192.168.1.111 y con el permiso de (ro) solo escritura. También acepta rango de direcciones, por ejemplo para compartir el directorio /usr/local a direcciones IP entre 192.168.1.0 y 192.168.1.255 habría que introducir en este archivo: /usr/local 192.168.1.0/255.255.255.0(ro) *El espacio entre la ruta y las direcciones IPs debe de ser un tabulador. Nivel de seguridad para portmap /etc/hosts.allow: En este archivo podemos determinar la dirección o rango de direcciones IP que queremos permitir el acceso al servicio NFS. Por ejemplo: portmap:192.168.1.0/255.255.255.0 Esto es la dirección IP de una red completa y su máscara de subred. También se pueden especificar direcciones IP individuales sin necesidad de escribir la máscara de subred. Por ejemplo: portmap:192.168.20.25 portmap:216.200.152.96 portmap:148.240.28.171 portmap:192.168.30.2 /etc/hosts.deny Una vez establecidas las direcciones IP a las que le será permitido el acceso, falta determinar las direcciones IP a las que le será denegado el acceso, es decir a todas las que no se le ha permitido en el archivo /etc/hosts.allow, y esto se hace añadiendo la siguiente línea: portmap:ALL También se puede denegar el acceso a cada uno de los demonios a fin de evitar malas intenciones, por ejemplo: lockd:ALL mount:ALL rquotad :ALL statd :ALL ATENCIÓN: Si se intenta conectar una dirección IP que no está determinada en /etc/hosts.allow ni en /etc/hosts.deny “SE LE PERMITIRÁ EL ACCESO.” /etc/hosts En este archivo se pueden asociar las direcciones IP de una red a unos nombre que faciliten la gestión de la red. El formato de este archivo es: 127.0.0.1 192.168.1.2 192.168.1. 3 192.168.1. 4 192.168.1. 5 192.168.1. 6 192.168.1. 7 192.168.1. 8 .................... localhosts.localdomain localhost servidor.paocmolla.edu servidor cliente1.pacomolla.edu cliente1 cliente2.pacomolla.edu cliente2 cliente3.pacomolla.edu cliente3 cliente4.pacomolla.edu cliente4 cliente5.pacomolla.edu cliente5 cliente6.pacomolla.edu cliente6 ..................................... ............ ARRANCANDO LOS SERVICIOS Una vez configurado portmap, debe reiniciarse el servicio de portmap y el servicio de nfs: /sbin/service portmap restart /sbin/service nfs restart se carga el demonio rpc.mountd Así como unos demonios adicionales: En /sbin: ./rpc.statd y ./rpc.lockd en /usr/sbin: ./exportfs y ./rpc.nfsd Para comprobar que nuestro servidor de NFS esta funcionando correctamente, basta con hacer un listado de los procesos (ps –aux ó ps -e) y ver si realmente se han lanzado bien los demonios. Configurando los clientes Para que el servicio NFS pueda establecerse correctamente, deben estar definidos los clientes mediante su IP en el archivo /etc/hosts del servidor. A continuación desde cualquier cliente se crea un punto de montaje, por ejemplo: mkdir /mnt/servidornfs Para comenzar a usar una máquina como cliente de NFS solamente deberemos tener funcionando el portmapper, el statd y el lockd, por lo que podemos arrancarlos igual que hemos hecho antes en la parte del servidor: /sbin/service portmap restart En caso de que no esté se procede a instalar como en el servidor. /sbin/./rpc.lockd /sbin/./rpc.statd Para comprobar que los demonios lanzados estan funcionando, basta con hacer un listado de los procesos (ps –aux ó ps –e). Utilizaremos este comando para montar el volumen remoto: mount -t nfs servidor.pacomolla.edu:/usr/local /mnt/servidornfs En caso de que el servidor no esté asociado a un nombre en el archivo /etc/hosts, sería de la siguiente manera: mount -t nfs 192.168.1.2:/usr/local /mnt/servidornfs Y por último, se puede acceder al directorio compartido tecleando: cd /mnt/servidornfs