Full Transcript

Integración de Sistemas Unidad Trabajo nº 6 David García Fernández Objetivos de la Unidad Trabajo Identificar los escenarios heterogéneos dentro de una red empresarial Conocer el Sistema NFS. Conocer el protocolo de compartición de archivos en red SMB y CIFS Conocer Samba como herramienta de gestión...

Integración de Sistemas Unidad Trabajo nº 6 David García Fernández Objetivos de la Unidad Trabajo Identificar los escenarios heterogéneos dentro de una red empresarial Conocer el Sistema NFS. Conocer el protocolo de compartición de archivos en red SMB y CIFS Conocer Samba como herramienta de gestión cliente para protocolo SMB en GNU/Linux. 2 Escenarios Heterogéneos Importancia de conectar redes mixtas entre sistemas basados en Unix/GNU-Linux y Windows. La comunicación entre redes exige: Un lenguaje común, que son los protocolos (TCP, IP, SMB, etc) Un nombre o dirección que identifique cada extremo de la comunicación. Es función del protocolo utilizado. Ejemplos: Puerto TCP: 2049 Dirección IP: 192.168.1.1 Dirección física o MAC: F8-64-02-49-2A-3B Nombre NetBIOS: CLIENTEWIN01 Nombre de host (hostname): clientewindows FQDN (fully qualified domain name): clientewindows.asir.com Implica un problema de resolución de nombres. 3 Escenarios Heterogéneos Opciones tecnológicas para la resolución de nombres: NetBIOS: API para el registro y verificación de nombres. NetBEUI: Protocolo resolución de nombres. NetBIOS sobre TCP/IP: permite la conexión entre capas NetBIOS de redes diferentes. WINS: Servicio de nombres propio de Windows. Basado en netbios. Archivo Lmhosts DNS 4 NFS. Introducción NFS: Network File System. Sistema de Ficheros en red. Es un sistema de archivos distribuidos en red. Permite montar un sistema de archivos en un equipo remoto como si estuviera en el equipo real. Es un estándar abierto. Ventajas: El administrador puede centralizar recursos en la red, evitando redundancias. Usuarios que cambian con frecuencia de terminal pueden tener su carpeta personal en una sola ubicación Sencillez del protocolo. 5 NFS. RPC Remote Procedure Call RPC (Remote Procedure Call - Llamada de procedimiento remoto), consiste en el envío de mensajes de comunicación entre procesos, gracias a la ejecución de fragmentos de código en máquinas remotas y en consecuencia acceso a espacios de memoria en máquinas diferentes. Actualmente se denomina: Open Network Computing Remote Procedure Call (ONC RPC) El componente fundamental de RPC es el servicio port mapper (asociación de puertos). Port mapper asocia servicios RPC a los puertos por los que escuchan. Aparece como rpc.portmap o portmap en versiones anteriores, actualmente (versión 4) aparece como rpcbind 6 NFS. Servicios Servicios Fundamentales: Portmap gestiona las reservas de puertos del resto de servicios RPC (NFSv4 no utiliza portmapper ya que tiene su puerto bien:2049 e implementa el resto de las Funciones) nfs: inicia el servidor NFS y los procesos requeridos para gestionar las peticiones. nfslock: permite bloquear archivos en el servidor. Servicios que ayudan al funcionamiento: mountd: atiende las peticiones de montaje de clientes NFS y verifica si el sistema de archivos solicitado está siendo compartido (NFSv4 tampoco necesita este servicio) rquotad permite que los usuarios remotos estén sujetos a cuotas de disco 7 NFS. Versión 4 Las características de la versión actual NFSv4 son: Protocolo con estado: el servidor sabe qué archivos o carpetas han sido accedidas por qué cliente Escucha en el puerto bien conocido 2049 Integra protocolos para gestionar el montaje y bloqueo de archivos Ya no necesita demonios rpc.mountd, rpc.lockd y rpc.statd No requiere interactuar con el demonio portmapper Es más fácil de proteger mediante cortafuegos. Permite utilizar el protocolo Kerberos para autenticación Permite usar listas de control de acceso (ACL) Prohíbe el uso de UDP. Ante una posible caída del servidor los clientes, al usar UDP los clientes no son notificados y saturarán la red con peticiones al servidor. 8 NFS. Versión 4 Protocolos de transporte: TCP vs UDP TCP garantiza la entrega de los mensajes, y detecta cualquier incidente. El coste son mayores cabeceras en los mensajes, y la existencia de mensajes de control UDP envía el mensaje sin esperar confirmación. Sus cabeceras son mucho más pequeñas y no hay mensajes de control 9 Práctica. Práctica 1 - Instalación y configuración de NFS en Debian Práctica 2 - Montaje de sistemas de archivos NFS en Ubuntu Práctica 3 - Montaje de carpetas NFS en Windows 7 con el cliente integrado 10 Compartición Recursos entre Windows y GNU/Linux SMB: Server Message Block. Protocolo de compartición de archivos en red. Desarrollado por IBM en la década de 1980. Fue ampliamente modificado por Microsoft. Funciona según el modelo Cliente-Servidor, donde el servidor publica sus recursos compartidos: Archivos, impresoras, puertos serie, etc. CIFS (Common Internet File System) es un dialecto desarrollado por Microsoft en 1996 Se llama dialecto al conjunto de paquetes de mensajes que define una versión particular del protocolo SMB. Posteriormente, tanto SMB y CIFS han desarrollado versiones independientes. 11 SMB Inicialmente SMB necesitaba NetBIOS, pero dada las limitaciones de NetBIOS para la interacción de redes, se optó por utilizar NetBIOS sobre TCP/IP. NBT La versión actual de SMB permite eliminar la capa de NetBIOS y trabajar directamente sobre TCP/IP (puerto 445 TCP y UDP), consiguiendo importantes ventajas: Se simplifica el transporte de tráfico SMB. Se elimina la difusión de WINS y NetBIOS como medio para resolver nombres Se normaliza así la resolución mediante DNS. 12 SMB. SAMBA Samba es una suite de programas que permite a un equipo proporcionar servicios de archivos e impresión a clientes SMB/CIFS. Es una implementación del protocolo SMB. Tiene licencia de software libre. Creado por Andrew Tridgell en 1992. Su archivo de configuración es: /etc/samba/smb.conf 13 SMB. SAMBA El servicio Samba está formado por 3 demonios: smbd: Ofrece los servicios de compartición de archivos e impresoras. Gestiona la autenticación. nmbd: Resuelve peticiones de nombres NetBIOS. winbindd: Resuelve información de usuarios y grupos Windows. Utiliza llamadas RPC. 14 SAMBA. Servicio. Arranque y parada manual. Samba, al igual que todos los servicios, dispone de un script de arranque y parada en la carpeta /etc/init.d. Si deseamos iniciar o reiniciar el servidor samba, debemos ejecutar: // Iniciar o reiniciar el servidor samba sudo /etc/init.d/samba restart Este comando reiniciará los dos demonios (procesos residentes) necesarios que necesita samba para su funcionamiento: nmbd y smbd. Si deseamos detener el servidor samba, debemos ejecutar: // Parada del servidor samba sudo /etc/init.d/samba stop 15 SAMBA. Instalación. La 'suite' completa de samba se compone de varios paquetes. Se pueden localizar en http://packages.ubuntu.com buscando 'samba'. Destacamos los más importantes: samba - Servidor de archivos e impresoras tipo LanManager para Unix. samba-common - Archivos comunes de samba utilizados para clientes y servidores. smbclient - Cliente simple tipo LanManager para Unix. swat - Herramienta de administración de Samba via web samba-doc - Documentación de Samba. smbfs - Comandos para montar y desmontar unidades de red samba winbind - Servicio para resolver información de usuarios y grupos de servidores Windows NT Instalaremos los paquetes necesarios para disfrutar del servicio. Para ello ejecutaremos: sudo apt-get install samba samba-common smbclient samba-doc smbfs 16 SAMBA. Configuración. Toda la configuración de Samba se encuentra en un solo archivo: smb.conf Está organizado en secciones que contienen reglas [global] Configuración general del servidor. [homes] Condiciones de compartición de las carpetas personales de usuario [printers] Configuración de compartición de impresoras. Además existirá una sección para cada recurso compartido, por ejemplo [datos] o [cdrom] Ejemplo: fichero ejempo_smb_conf.txt Los símbolos # y ; indican comentario. En los ejemplos que vienen incluidos en la instalación, # indica que es el valor por defecto y ; indica que es un valor diferente. El archivo no distingue entre mayúsculas y minúsculas: ni en los nombres de sección, ni en los parámetros, ni en sus valores. Si un mismo parámetro aparece en la sección global (que se aplicará a todos los recursos) y en una sección en particular, y sus valores son diferentes, en dicha sección predominará el valor propio sobre el global. 17 SAMBA. Configuración. Variables. Uso de variables en smb.conf: %m: nombre NetBIOS del cliente %a: la arquitectura de la máquina cliente %d: identificador de proceso del servidor %S: nombre del recurso compartido o share %h: el nombre de Internet de nuestro servidor %L: nombre NetBIOS de nuestro servidor %U: el nombre de usuario con el que solicita iniciar sesión el cliente %u: nombre de usuario del servicio actual una vez conectado %G: el grupo principal de %U %n: nueva contraseña del usuario 18 SAMBA. Configuración. En la sección [global] se configuran los parámetros que determinarán el modo de comportamiento general del servidor samba. Todos los parámetros que se omitan tomarán el valor predefinido por defecto. Existen unos 300 parámetros que se pueden configurar en ésta sección. A continuación exponemos los parámetros más significativos y ejemplo de valor: workgroup = WORKGROUP: Grupo de trabajo al que pertenecerá el equipo. netbios name: no definido. Por defecto se utiliza el primer componente del nombre DNS server string = %h server (Samba, Ubuntu) Mensaje que aparecerá junto al nombre de equipo, equivalente al campo “Descripción” en Windows. syslog = 0 Por defecto: 1. Indica el umbral para enviar mensajes al registro syslog Sólo se envían mensajes de nivel de depuración menor que el indicado 0 : errores (LOG_ERR) 1: avisos (LOG_WARNING) 2: observaciones (LOG_NOTICE) 3: información (LOG_INFO) log file = /var/log/samba/log.%m 19 SAMBA. Configuración. Parámetros más significativos Sección [global] : Security: Niveles de seguridad y modos de seguridad: En SMB sólo hay dos niveles de seguridad: User: nivel de usuario. Gestiona los permisos por usuario. Share: nivel de recurso compartido. significa compartir los recursos con contraseña (como W95, 98,...) (Obsoleto) Samba añade tres niveles de seguridad a los anteriores: Domain: gestiona los permisos por dominio. Todas las peticiones de autenticación pasan por el controlador de dominio. Server: indica que los permisos son gestionados por otro servidor. Poco seguro. ADS: hace que samba se comporte como un miembro de un dominio Active Directory y por lo tanto requiere un servidor W2000 Server o W2003 Server. El servidor Samba tendrá que tener un sistema Kerberos instalado y configurado. Ejemplo: security = ADS realm = servidor.KERBEROS password server = mi.servidor.kerberos Nota: Parámetros más significativos Sección global.docx 20 SAMBA. Configuración. Parámetros de configuración de recursos: Sección [homes] En esta sección se configuran los parámetros para compartir la carpeta home (carpeta donde se almacena el perfil y todos los documentos) de cada usuario. Esta sección es opcional. Si no existe, no se compartirán las carpetas home de cada usuario. Se utiliza cuando se desean crear perfiles móviles de forma que cuando se identifique el usuario en cualquiera de los PCs de la red, se mapee de forma automática su perfil. Sección [printers] En esta sección se configuran los parámetros para compartir las impresoras o colas de impresión disponibles en el servidor. 21 SAMBA. Configuración. Parámetros de configuración de recursos: Una sección por cada carpeta compartida Cada vez que se comparte una carpeta, hay que crear una sección con el nombre del recurso compartido. Ejemplo, si deseamos compartir la carpeta /home/samba/alumnos crearemos una sección [alumnos] donde se configurará dicho recurso compartido con los parámetros específicos para dicho recurso. Parámetros destacables: Path = /…./…/… Ruta de directorio del recuros. browseable = yes Indica si el recurso compartido será visible cuando se escanea la red, por ejemplo haciendo clic en 'Mis sitios de red' en Windows create mask = 0770 Establece la máscara de creación de archivos, igual con directory mask para la creación de carpetas guest ok = yes Indica que cualquier usuario sin contraseña tiene permiso de acceso valid users = pepe, juan Indica qué usuarios pueden acceder al recurso 22 SAMBA. Entorno Gráfico. SWAT: Samba Web Administration Tool 23 Práctica. Práctica 4 - Instalación de Samba en Ubuntu Práctica 5 - Configuración de un servidor de archivos anónimo con Samba en Ubuntu Práctica 6 - Configuración de un servidor seguro de archivos con Samba en Ubuntu 24 Bibliografía. SMB: https://www.samba.org/cifs/docs/what-is-smb.html SMB y NetBIOS: http://www.jacco2.dds.nl/samba/smb.html http://www.techrepublic.com/article/how-netbios-nameresolution-really-works/ NbtStat http://technet.microsoft.com/eses/library/ff961511(v=ws.10).aspx http://technet.microsoft.com/en-us/library/cc961857.aspx Samba www.samba.org/samba/docs/SambaIntro.html wiki.ubuntu.com/ComprehensiveSambaGuide Opciones del archivo de configuración www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html 25

Use Quizgecko on...
Browser
Browser