Tema 9. Gestión de las comunicaciones Administración de Sistemas Operativos Administración de Sistemas Operativos y Periféricos Ma Pilar González Férez Tema 9. Gestión de las comunicaciones – p. 1/17 Índice 1. Conceptos básicos 2. NFS: Network File System 3. NIS: Network Information Service Tema 9. Gestión de las comunicaciones – p. 2/17 Conceptos básicos Tareas Manejo de red Monitorizar el tráfico Añadir nuevos hosts Montar discos remotos o exportar los discos locales: NFS Servicio de información mediante red: usuarios, grupos, etc., NIS Configurar y administrar otros servicios de red (web, correo, etc.) Problemas de seguridad, etc. Entender las opciones de red más importantes Ser capaces de evaluar la configuración actual de la red, y, en caso necesario, planear una estrategia de crecimiento viable Tema 9. Gestión de las comunicaciones – p. 3/17 Conceptos básicos (ii) Demonios xinetd ⇒ maneja otros demonios, a los que inicializa cuando hay trabajo para ellos, p.ej.: cups-lpd, ftp, telnet, pop, etc. /etc/xinetd.conf ⇒ fichero de configuración de xinetd directorio /etc/xinetd.d/ ⇒ ficheros de configuración de los demonios gestionados por xinetd Por ejemplo, el fichero /etc/xinetd.d/cups-lpd: service printer { disable = yes socket_type = stream protocol = tcp wait = no user = lp server = /usr/lib/cups/daemon/cups-lpd } # chkconfig cups-lpd on //Para activarlo Tema 9. Gestión de las comunicaciones – p. 4/17 Conceptos básicos (iii) Demonios (continúa . . . ) /etc/init.d/network ⇒ script que activa la red en tiempo de arranque ntpd ⇒ demonio encargado de sincronizar la hora del sistema named ⇒ demonio encargado del servidor de Domain Name System (sólo es necesario si el ordenador hace de DNS) sendmail ⇒ demonio encargado del correo electrónico sshd ⇒ demonio que permite que al ordenador se pueda acceder con la orden ssh, que habilita una conexión de telnet segura httpd ⇒ Servidor Web in.telnetd, in.fingerd, ipop3d, in.rlogind, in.talkd smbd ⇒ proporcionan servicios de compartición de ficheros con clientes Windows nmbd ⇒ para resolución de nombres NetBIOS sobre IP Tema 9. Gestión de las comunicaciones – p. 5/17 NFS - Network File System Posibilita que un Sistema de Ficheros, que físicamente reside en un host remoto, sea usado por otros ordenadores, vía red, como si fuese un sistema de ficheros local En el equipo servidor se indica: Qué sistemas de ficheros se exportan ⇒ Se puede exportar un sistema de ficheros completo o sólo un directorio concreto (y sus subdirectorios) A qué ordenadores se exportan (se permite acceder) ⇒ un equipo concreto o a todos los equipos de una red Se establecen las condiciones para la exportación Los equipos cliente montan el sistema de ficheros remoto con la orden mount y acceden a los datos como si fuesen locales Al exportar un fichero se exporta su nodo-i y sus bloques de datos ⇒ su propietario y grupo propietario son los indicados en el nodo-i. ¿Qué pasa si en el equipo cliente no existen ese usuario o ese grupo propietario? Un equipo puede ser servidor y cliente NFS al mismo tiempo Tema 9. Gestión de las comunicaciones – p. 6/17 NFS (ii) En el servidor /etc/exports ⇒ Fichero en el que se indica qué SF’s se exportan, bajo qué condiciones se realiza la exportación y a qué ordenadores /usr/sbin/exportfs ⇒ Actualiza la información de los SF’s exportados y muestra un listado con dicha información (Realiza un “restart” de los demonios rpc.nfsd y rpc.mount) -a ⇒ exporta o deja de exportar los directorios indicados en /etc/exports -r ⇒ re-exporta los directorios indicados en /etc/exports -u ⇒ deja de exportar los directorios -v ⇒ muestra los directorios exportados y las opciones de exportación /usr/sbin/showmount ⇒ Información en un servidor NFS -a ⇒ lista los nombres de los clientes y los directorios que hay montados -d ⇒ listado de los directorios montados -e ⇒ muestra la lista de los directorios exportados Tema 9. Gestión de las comunicaciones – p. 7/17 NFS (iii) Demonios en el servidor: rpcbind ⇒ Facilita la conexión entre el cliente y el servidor mediante las llamadas RPC (Remote Procedure Call). Tiene que estar lanzado para que NFS funcione, después no hay que relanzarlo. (Antes se llamaba portmap) rpc.nfsd ⇒ Implementa en el nivel de usuario los servicios NFS. La principal funcionalidad está implementada por el módulo del kernel nfsd.ko. El fichero rpc.nfsd inicializa los threads del kernel (al ejecutar ps aux aparece como [nfsd]) rpc.mountd ⇒ Maneja peticiones de montaje de directorios de los clientes, comprobando la petición con la lista de sistemas de ficheros exportados rpc.statd ⇒ Maneja caídas y recuperación del servicio /etc/init.d/nfs ⇒ Lanza rpc.mountd y rpc.nfsd /etc/init.d/nfslockd ⇒ Lanza rpc.statd Tema 9. Gestión de las comunicaciones – p. 8/17 NFS (iv) Opciones en el servidor /etc/exports ⇒ Para configurar qué “directorios” se exportan y bajo qué condiciones y a qué equipos. Su formato es: ruta dirección(opción) ruta es el nombre del directorio a exportar vía NFS dirección a quien es exportado (IP, dirección de red, etc.) opción especifica el tipo de acceso al directorio: rw ó ro ⇒ Modo lectura-escritura ó sólo lectura root_squash ⇒ Mapea los uid/gid 0 a los uid/gid anónimo (nobody o nfsnobody). Las peticiones de lectura/escritura hechas por el root cliente sobre los datos “importados” es como si los realizase el usuario anónimo no_root_squash ⇒ No mapea el usuario root. E.d., el root del cliente, al trabajar con los datos “importados” sigue actuando como root all_squash ⇒ Mapea todos los usuarios al usuario anónimo anonuid ó anongid ⇒ Establecer el uid ó el gid del usuario al que realizar el mapeo, distinto del usuario anónimo Tema 9. Gestión de las comunicaciones – p. 9/17 NFS (v) En el cliente El montaje del sistema de ficheros remoto se realiza con la orden mount: # mount -t nfs -o opciones_nfs 191.168.6.10:/home /datos -t nfs ⇒ tipo de sistema de ficheros 191.168.6.10:/home ⇒ servidor y directorio a montar Si en el fichero /etc/fstab se indica el listado de los sistemas de ficheros remotos a montar, el punto de montaje y las opciones, el montaje se realizará en tiempo de arranque: 191.168.6.10:/home /datos nfs defaults,opciones_nfs 0 0 /etc/init.d/netfs ⇒ En tiempo de arranque realiza el montaje de todos los sistemas de ficheros vía NFS indicados en el fichero /etc/fstab Tema 9. Gestión de las comunicaciones – p. 10/17 NFS (vi) Opciones del cliente para el montaje (y para el fichero /etc/fstab) soft ⇒ Permite al núcleo finalizar una petición si el servidor NFS falla durante un tiempo (aconsejable sólo cuando se importó en modo de sólo lectura) hard ⇒ Si un proceso está realizando una operación de E/S con un fichero vía NFS y el servidor NFS no responde, el proceso no puede ser interrumpido o matado (no acepta la señal KILL) salvo que se especifique la opción intr. (La opción hard es aconsejable cuando se importa en modo de lectura-escritura para no dejar el SF remoto inconsistente) intr ⇒ Se permite señales de interrupción para los procesos bloqueados en una operación de E/S en un servidor NFS bg ⇒ Si el montaje del SF remoto falla, que siga intentándolo en background, hasta que lo consiga o desista porque se han hecho “retry” intentos retry=n ⇒ No de intentos que se deben hacer para montar el SF remoto, antes de desistir si la conexión falla timeo=n ⇒ Tiempo a esperar entre cada intento de montaje si la conexión falla rsize=8192 ó wsize=8192 ⇒ Tamaño de los buffers de lectura o escritura Tema 9. Gestión de las comunicaciones – p. 11/17 NFS (vii) Ejemplos en el servidor en el fichero /etc/exports: /home 191.168.6.15(rw,root_squash) 191.168.6.16(rw,no_root_squash) /import 191.168.8.20(rw,all_squash) /tools 191.168.6.0/24(ro,all_squash,anonuid=500,anongid=100) Ejemplos en el cliente: En el fichero /etc/fstab: julieta:/home /home nfs julieta:/import /nfs/import nfs 191.168.6.10:/tools /nfs/tools nfs defaults,rw,bg,hard,intr 0 0 defaults,rw,bg,hard,intr 0 0 defaults,ro,bg,soft 0 0 También se puede realizar el montaje de forma manual: # # # # # mount mount mount mount mount /home (configurado /etc/fstab) /nfs/import (configurado /etc/fstab) -t nfs -o rw,bg,hard,intr julieta:/home /home -t nfs -o rw,bg,hard,intr julieta:/import /nfs/import -t nfs -o ro,soft,bg 191.168.6.10:/tools /nfs/tools Tema 9. Gestión de las comunicaciones – p. 12/17 NIS - Network Information Service Network Information Service (NIS) proporciona un servicio de red que consiste en compartir unas bases de datos Los ficheros de las bases de datos están en el equipo servidor y contienen información como: “login names” / passwords / “home directories” ⇒ /etc/passwd “group information” ⇒ /etc/group El equipo servidor distribuye esta información a los equipos cliente Dominio NIS ⇒ una clave que los equipos cliente usan para poder localizar al servidor Ejemplos de nombres de dominio NIS son: aso.inf.um.es aso_nis # Este nombre no está registrado en el DNS Los ficheros de las bases de datos residen a partir del directorio /var/yp/ en un subdirectorio con el nombre del dominio Tema 9. Gestión de las comunicaciones – p. 13/17 NIS (ii) Existe la posibilidad de configurar varios servidores esclavos, que tendrán una copia de las bases de datos Un cliente puede atender a un único servidor o a varios servidores (cada uno con un dominio) Demonios rpcbind ⇒ Facilita la conexión entre el cliente y el servidor mediante las llamadas RPC. Tiene que estar en ejecución tanto en el servidor como en el cliente. (Antes se llamaba portmap) ypserv ⇒ Este demonio es el encargado de gestionar el servicio NIS. Tiene que estar en ejecución en el servidor rpc.yppasswdd ⇒ Permite la actualización de las contraseñas desde los equipos cliente. En ejecución en el servidor ypbind ⇒ Es el encargado de gestionar las peticiones. En el cliente. (En el servidor si se quiere que sea cliente de sí mismo) Tema 9. Gestión de las comunicaciones – p. 14/17 NIS (iii) Instalación del servidor -1. El demonio rpcbind tiene que estar en ejecución 0. Permitir la autenticación mediante NIS, con system-config-authentication 1. Activar el domainname: nisdomainname aso_nis 2. En el fichero /etc/sysconfig/network añadir la línea: (es necesaria para que en tiempo de arranque se active el servicio NIS) NISDOMAIN="aso_nis" 3. Añadir en el fichero de configuración, /etc/yp.conf, las líneas: domain aso_nis server 191.168.6.28 ypserver 191.168.6.28 4. Lanzar los demonios ypserv y rpc.yppasswdd 5. Entrar al directorio /var/yp/ y ejecutar la orden make para crear los mapas que NIS gestiona, con la información que “exporta” 6. Lanzar el demonio ypbind si queremos que sea cliente de sí mismo ⋆ Cada cambio en uno de los ficheros que NIS gestiona tiene que ser reflejado en los mapas, ejecutando “make” en /var/yp/ (p.e. al añadir un usuario) Tema 9. Gestión de las comunicaciones – p. 15/17 NIS (iv) Instalación del cliente -1. El demonio rpcbind tiene que estar en ejecución 0. Permitir la autenticación mediante NIS, con system-config-authentication 1. Ejecutar: nisdomainname aso_nis 2. En el fichero /etc/sysconfig/network añadir la línea: NISDOMAIN="aso_nis" 3. Añadir en el fichero de configuración, /etc/yp.conf, la línea: domain aso_nis server 191.168.6.28 4. Arrancar el demonio ypbind 5. Tiene que existir el directorio: /var/yp/ (NO hay que crear los mapas, sólo tiene que existir ese directorio) En algunas versiones es necesario añadir la línea +:*:0:0::: en el fichero /etc/passwd, y la línea +:*:0: en /etc/group Tema 9. Gestión de las comunicaciones – p. 16/17 NIS (v) Seguridad: En el fichero /var/yp/securenets se pueden indicar las redes o equipos que tienen el acceso permitido al dominio NIS Formato: netmask network (ó “host IP”) 255.255.255.0 192.168.6.0 host 192.168.8.5 Es necesario dar permiso de acceso local (255.0.0.0 127.0.0.0) Si no existe el fichero, o está vacío, no hay ninguna restricción yppasswd: Permite que los usuarios puedan cambiar su contraseña en el servidor NIS. (En el servidor⇒ en ejecución el demonio rpc.yppasswdd) ypchsh: Permite cambiar el shell del usuario en el servidor NIS ypchfn: Cambia el campo gecos del usuario en el servidor NIS ypcat: Permite conocer el contenido de un mapa NIS. Por ejemplo: ypcat passwd ⇒ visualiza el fichero de passwords ypcat ypservers ⇒ muestra los servidores disponibles ypwich: Devuelve el nombre del servidor NIS Tema 9. Gestión de las comunicaciones – p. 17/17