NFS y Samba

30
NFS Por: KTC

Transcript of NFS y Samba

Page 1: NFS y Samba

NFS

Por: KTC

Page 2: NFS y Samba

¿Qué es NFS?

NFS (Network File System), desarrollado porSUN Microsystems en 1984. Permite en unared que un equipo Unix pueda montar ytrabajar con un sistema de archivos de otroequipo de la red como si fuera local.Protocolo de capa de aplicación.

Page 3: NFS y Samba

Versiones

La versión 2 de NFS (NFSv2), es la más antigua y está ampliamente

soportada por muchos sistemas operativos. RFC 1094.

La versión 3 de NFS (NFSv3) tiene más características, incluyendo

manejo de archivos de tamaño variable y mejores facilidades de

informes de errores, pero no es completamente compatible con los

clientes NFSv2. RFC 1813.

NFS versión 4 (NFSv4) incluye seguridad Kerberos, trabaja con

cortafuegos, permite ACLs y utiliza operaciones con descripción

del estado. RFC 3530.

Page 4: NFS y Samba

Versiones

Todas las versiones de NFS pueden utilizar el Protocolo de

Control de Transmisiones (TCP) ejecutándose sobre una

red IP. En el caso de NFSv4, éste lo requiere.

NFSv2 y NFSv3 pueden utilizar el Protocolo de datagrama

de usuarios (UDP) sobre una red IP para proporcionar

conexiones de red sin supervisión (stateless) entre el

cliente y el servidor.

Page 5: NFS y Samba

Versiones

NFSv2 o NFSv3 con UDP, se minimiza el tráfico de la red, ya que el

servidor NFS envía un cookie al cliente después que este tiene

acceso al volumen compartido. Esta cookie es un valor aleatorio

guardado en el lado del servidor y es pasado junto con las

peticiones RPC desde el cliente.

El servidor NFS puede ser reiniciado sin afectar a los clientes y las

cookies permanecen intactas. Sin embargo, si el servidor se cae,

los clientes UDP continúan saturando la red con peticiones para el

servidor. Por esta razón, TCP es el protocolo preferido cuando se

conecte a un servidor NFS.

Page 6: NFS y Samba

Cuando se autentifica utilizando NFSv4, se crea una

conexión atenta y, de forma opcional, está disponible la

autenticación de usuarios y grupos con Kerberos.

NFSv4 no tiene interacción con portmapper, rpc.mountd,

rpc.lockd y rpc.statd, pues estos han sido incorporados

en el kernel. NFSv4 escucha en el puerto TCP 2049.

Page 7: NFS y Samba

La única vez que NFS lleva a cabo la autentificación es

cuando el cliente intenta montar un recurso compartido

NFS. Para limitar el acceso al servicio NFS, se utilizan

envolturas TCP (TCP wrappers). Los TCP wrappers leen los

archivos /etc/hosts.allow y /etc/hosts.deny para

determinar si a un cliente particular o red tiene acceso o

no al servicio NFS.

Page 8: NFS y Samba
Page 9: NFS y Samba

Después de que al cliente se le permite acceso gracias a

un TCP wrapper, el servidor NFS recurre a su archivo de

configuración, /etc/exports, para determinar si el cliente

tiene suficientes privilegios para acceder a los sistemas

de archivos exportados. Una vez otorgado el acceso,

todas las operaciones de archivos y de directorios están

disponibles para el usuario.

Page 10: NFS y Samba

Opciones /etc/exports

ro: solo lectura

rw: lectura y escritura

no_root_squash: si se habilita el cliente tendrá los mismos privilegios que el servidor

no_subtree_check: si se exporta todo un volumen si se deshabilita las transferencias serán

más rápidas

sync: sincronización asíncrona por defecto.

Page 11: NFS y Samba

Los servicios RPC bajo Linux son controlados por el servicio portmap.

Para compartir o montar sistemas de archivos NFS, los siguientes

servicios funcionan juntos:

nfs — Inicia los procesos RPC para servir peticiones para los sistemas de

archivos compartidos NFS.

nfslock — Servicio opcional que inicia los procesos RPC adecuados parapermitir que clientes NFS bloqueen archivos en el servidor.

portmap — El servicio RPC para Linux; responde a las peticiones para servicios

RPC y configura las conexiones al servicio RPC solicitado. No se utiliza con

NFSv4.

Page 12: NFS y Samba

Procesos RPC

rpc.mountd — recibe las peticiones de montaje desde clientes NFS y

verifica que el sistema de archivos solicitado esté actualmente

exportado. Inicia automáticamente por el servicio nfs. No se utiliza con

NFSv4.

rpc.nfsd — servidor NFS. Trabaja con el kernel Linux para satisfacer las

demandas dinámicas de clientes NFS, tales como proporcionar hilos del

servidor cada vez que se conecta un cliente NFS. Servicio nfs.

rpc.lockd — (opcional) permite a los clientes NFS bloquear archivos en el

servidor. Esto corresponde al servicio nfslock. No se utiliza con NFSv4.

Page 13: NFS y Samba

Procesos RPC

rpc.statd —implementa el protocolo RPC Network Status Monitor (NSM) el cual

notifica a los clientes NFS cuando un servidor NFS es reiniciado luego de haber

sido apagado abruptamente. Este proceso es iniciado automáticamente por el

servicio nfslock y no requiere configuración por parte del usuario. No se utiliza

con NFSv4.

rpc.rquotad — Proporciona información de cuotas de usuario para los usuarios

remotos. Este proceso se inicia automáticamente por el servicio nfs y no requiereconfiguración por parte del usuario.

rpc.gssd — Este proceso proporciona al cliente los mecanismos de transporte

para el proceso de autenticación (Kerberos versión 5). Se requiere este servicio

para su uso con NFSv4.

Page 14: NFS y Samba

Procesos RPC

rpc.idmapd — Este proceso proporciona al cliente y servidor NFSv4

llamadas ascendentes (upcalls) que hacen corresponder los

nombres NFSv4 (cadenas en la forma usuario@dominio) y los UIDs y

GIDs locales. Para que idmapd funcione con NFSv4, el

/etc/idmapd.conf debe estar configurado. Se requiere para NFSv4.

rpc.svcgssd — Este proceso proporciona al servidor los mecanismos

de transporte para el proceso de autenticación (Kerberos versión

5) con NFSv4. Se requiere para NFSv4.

Page 15: NFS y Samba

RPC

Page 16: NFS y Samba

NFS

Page 17: NFS y Samba

Procedimientos V2

NULL: no hace nada, pero sirve para hacer ping al server y medir tiempos.

CREATE: crea un nuevo archivo.

LOOKUP: busca un fichero en el directorio actual y si lo encuentra, devuelve un descriptor aese fichero más información sobre los atributos del fichero.

READ y WRITE: primitivas básicas para acceder el fichero.

RENAME: renombra un fichero.

REMOVE: borra un fichero.

MKDIR y RMDIR: creación/borrado de subdirectorios.

READDIR: para leer la lista de directorios.

GETATTR y SETATTR: devuelve conjuntos de atributos de ficheros.

Page 18: NFS y Samba

Procedimientos V2

LINK: crea un archivo, el cual es un enlace a un archivo en un directorio, especificado.

SYMLINK y READLINK: para la creación y lectura, respectivamente, de enlaces simbólicos

(en un "string") a un archivo en un directorio.

STATFS: devuelve información del sistema de archivos.

ROOT, para ir a la raíz (obsoleta en la versión 2).

WRITECACHE: reservado para un uso futuro.

Page 19: NFS y Samba

Procedimientos V3

En la versión 3 del protocolo se eliminan los comandos se STATFS, ROOT y WRITECACHE; y seagregaron los siguientes:

ACCESS: Para verificar permisos de acceso.

MKNOD: Crea un dispositivo especial.

READDIRPLUS: una versión mejorada de READDIR.

FSSTAT: devuelve información del sistema de archivos en forma dinámica.

FSINFO: devuelve información del sistema de archivos en forma estática.

PATHCONF: Recupera información POSIX.

COMMIT: Enviar datos de caché sobre un servidor un sistema de almacenamientoestable.

Page 20: NFS y Samba

Samba

Page 21: NFS y Samba

¿Qué es?

Samba es una suite de aplicaciones Unix que habla el protocolo

SMB (Server Message Block). Muchos sistemas operativos, incluidos

Windows y OS/2, usan SMB para operaciones de red

cliente−servidor.

Mediante el soporte de este protocolo, Samba permite a los

servidores Unix entrar en acción, comunicando con el mismo

protocolo de red que los productos de Microsoft Windows. De este

modo, una máquina Unix con Samba puede enmascararse como

servidor en tu red Microsoft.

Page 22: NFS y Samba

Samba es la idea de Andrew Tridgell. El proyecto nació

en 1991 cuando Andrew creó un programa servidor de

ficheros para su red local, que soportaba un raro

protocolo DEC de Digital Pathworks.

Samba implica a un par de demonios que proporcionan

recursos compartidos a clientes SMB sobre la red (las

comparticiones son denominadas a veces también

como servicios).

Page 23: NFS y Samba

Demonios

Smbd : Un demonio que permite compartición de archivos e impresorassobre una red SMB y proporciona, Autentificación y autorización deacceso para clientes SMB. Los puertos predeterminados en los cuales elservidor escucha por tráfico SMB, son los puertos TCP 139 y 445.

Nmbd : Entiende y responde a las peticiones de servicio de nombresNetBIOS tales como aquellas producidas por SMB/CIFS en sistemasbasados en Windows. Estos sistemas incluyen clientes 95/98/ME, WindowsNT, Windows 2000, Windows XP y LanManager. También participa en losprotocolos de navegación que forman la vista Entorno de red deWindows. El puerto predeterminado en el que el servidor escucha portráfico NMB es el puerto UDP 137. Es controlado por el servicio smb.

Page 24: NFS y Samba

Demonios

Winbindd: Resuelve la información de usuarios y grupos en un

servidor Windows NT y lo hace entendible para las plataformas

UNIX. Permite que usuarios del dominio Windows NT aparezcan y

operen como usuarios UNIX en un máquina UNIX. Se controla

separadamente de smb. El servicio winbind controla al demonio

winbindd y no requiere que el servicio smb arranque para poder

funcionar.

Page 25: NFS y Samba

Samba V3

La habilidad para unirse a un dominio Active Directory a través de LDAP y Kerberos

Soporte incorporado de Unicode para la internacionalización

Soporte para las conexiones de clientes Microsoft Windows XP Professional a servidores

Samba sin la necesidad de hacer hacking del registro local

Dos documentos desarrollados por el equipo de desarrollo Samba.org el cual incluye un

manual de referencia de más de 400 páginas y un manual de implementación e

integración de más de 300 páginas.

Page 26: NFS y Samba

Características

Lo que Samba puede hacer:

Sirve árboles de directorios e impresoras a clientes Linux, UNIX y Windows

Asiste en la navegación de la red (con o sin NetBIOS)

Autentifica las conexiones a dominios Windows

Proporciona resolución de nombres de Windows Internet Name Service (WINS)

Actúa como un Controlador de Dominio Primario (Primary Domain Controller, PDC) estilo Windows NT®

Actúa como un Backup Domain Controller (BDC) para un PDC basado en Samba

Actúa como un miembro servidor de dominio de Active Directory

Une un Windows NT/2000/2003 PDC

Page 27: NFS y Samba

Características

Lo que Samba no puede hacer:

Actúa como un BDC para un Windows PDC (y viceversa)

Actúa como un controlador de dominio de Active Directory

Page 28: NFS y Samba

Archivo /etc/samba/smb.conf

Secciones

La sección principal es la sección [global] que nos permite

configurar los parámetros generales del servicio.

La sección [homes] nos permitirá compartir las carpetas home de

cada usuario, para que cada usuario pueda acceder a su carpeta

home por la red.

La sección [printers] nos permitirá compartir impresoras

Page 29: NFS y Samba

Niveles de Seguridad

Seguridad a nivel de recursos (Share): contraseña

Seguridad a nivel de usuario (user): determinados usuarios

Seguridad a nivel de servidor (server): el servidor Samba usa

un servidor SMB para validad usuarios y contraseñas.

Seguridad a nivel de dominio (domain): Samba se convierte

en un miembro de un dominio Windows y se valida primero al

usuario en el dominio para darle acceso.

Page 30: NFS y Samba

Referencias

http://www.cs.cf.ac.uk/Dave/C/node33.html

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-tcpwrappers.html

http://www.read.cs.ucla.edu/111/2007fall/notes/lec17

http://www.dbms-notes.com/2010/10/network-file-system-nfs.html

http://es.wikipedia.org/wiki/Network_File_System

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-nfs-server-export.html

http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba.pdf

http://nfs.sourceforge.net/nfs-howto/ar01s03.html