mestre servidor servidor es

481
Guía del Servidor Editado por Conectiva S.A.

Upload: gredhy-valdivia

Post on 06-Aug-2015

123 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Mestre Servidor Servidor Es

Guía del Servidor

Editado por

Conectiva S.A.

Page 2: Mestre Servidor Servidor Es
Page 3: Mestre Servidor Servidor Es

Guía del Servidor

Editado por Conectiva S.A.

2.0 Edición

Publicado en noviembre de 2000

Copyright © 2000 por Conectiva S.A. (http://es.conectiva.com)

Por Equipo Conectiva

Equipo Conectiva

Coordinación del equipo de portugués:Márcia Gawlak

Autores: Roberto Teixeira y Carlos Daniel Mercer.

Coordinación del equipo de traducciónIvone Böhler

Traducción Andrea Mara Pimenta Alonso e Irene Haydeé Costas Stridsberg

RevisiónRoberto M. Lamela Roca, Jorge Carrasquilla Soares

Imágenes:Artur T. Hara

Cyro Mendes de Moraes Neto

Page 4: Mestre Servidor Servidor Es

Maurício Marconssin dos Santos

Desarrollo/Diagramación:Jorge Luiz Godoy Filho

Cyro Mendes de Moraes Neto

José Eloi de Carvalho Júnior

Copyright 2000 -Conectiva S.A.

Linux es una marca registrada y concedida por Linus Torvalds, su creador y cedente.

Windows, Windows NT e Internet Explorer son marcas registradas de Microsoft Corporation.

Netware es una marca registrada de Novell, Inc.

Macintosh y Appletalk son marcas registradas de Apple Computers.

Netscape Communicator es una marca registrada de Netscape Communications Corporation.

Todas las demás marcas registradas son de uso y derecho de sus respectivos propietarios. Las marcas

registradas son de propiedad de sus autores.

La presente publicación fue producida con todo cuidado y esmero posibles. El editor, no obstante, no asume la

responsabilidad sobre eventuales errores de interpretación, omisiones o daños resultantes del uso de la

información descrita aquí, por terceros, de buena o mala fe.

Page 5: Mestre Servidor Servidor Es

A los autores les gustaría que se les avisara sobre la introducción de modificaciones, traducciones y versiones

impresas.

Agradecemos a todos los que han participado activamente en el desarrollo de los trabajos de traducción,

internacionalización, divulgación y adaptación de Linux a la realidad latinoamericana, ya que gran parte de

nuestro esfuerzo y trabajo se basa en la participación de dicha comunidad.

Esperamos que esta guía sea útil para todos los que busquen una herramienta de ayuda para sus actividades

diarias, y que pueda enriquecer sus conocimientos y facilitar su trabajo.

Datos Internacionales de Catalogación en la Publicación (CIP)

(Câmara Brasileira do Livro, SP, Brasil)

ISBN 85-87118-32-3

1. Linux (Sistema operativo de computador)

2. Equipo Conectiva.

Conectiva S.A.

Rua Tocantins, 89 - Cristo Rei - Curitiba - Paraná - Brasil

CEP 80.050.430

http://www.es.conectiva.com

Page 6: Mestre Servidor Servidor Es
Page 7: Mestre Servidor Servidor Es

Tabla de contenidosPrefacio.......................................................................................................................... 29

Convenciones Tipográficas.................................................................................... 32

1. Linuxconf ................................................................................................................... 35

Visión general........................................................................................................ 35

Interfaces de Linuxconf......................................................................................... 36

Uso de Linuxconf.................................................................................................. 38

Habilitación del acceso a Linuxconf vía red................................................ 43

Ayuda de Linuxconf.............................................................................................. 48

Activación de las configuraciones......................................................................... 48

Activar o desactivar módulos................................................................................ 50

Permiso y propiedad de archivos........................................................................... 51

Archivos de configuración..................................................................................... 57

Comandos y programas residentes........................................................................ 60

Controla servicios activos...................................................................................... 63

Más funcionalidades de Linuxconf....................................................................... 65

Logs de Linuxconf................................................................................................ 67

7

Page 8: Mestre Servidor Servidor Es

2. LVM ............................................................................................................................ 69

El concepto de LVM.............................................................................................. 70

Terminología......................................................................................................... 71

El medio físico............................................................................................. 71

Volumen Físico (PV)................................................................................... 72

Extensiones Físicas (PE).............................................................................. 72

Grupo de Volúmenes (VG).......................................................................... 72

Volumen Lógico (LV).................................................................................. 73

Sistema de Archivos.................................................................................... 73

Creando un Volumen Lógico....................................................................... 76

Cambiando el tamaño a un Volumen Lógico........................................................ 87

Aumentando un Volumen Lógico................................................................ 87

Aumentando un sistema de archivos........................................................... 88

Disminuyendo un sistema de archivos......................................................... 90

Disminuyendo un Volumen Lógico............................................................. 91

Redundancia y rendimiento................................................................................... 93

Ventajas de una stripe.................................................................................. 94

Desventajas.................................................................................................. 95

8

Page 9: Mestre Servidor Servidor Es

Striping nativo del LVM.............................................................................. 95

3. RAID .......................................................................................................................... 99

RAID vía hardware y vía software........................................................................ 99

RAID vía hardware.................................................................................... 100

DPT.................................................................................................. 101

Controladoras soportadas....................................................... 101

Controladoras DPT....................................................... 102

Controladoras ICP Vortex............................................. 102

Tipos de hardware................................................................... 102

Tipo controladora.......................................................... 103

Tipo encapsulado.......................................................... 103

RAID vía software..................................................................................... 103

El controlador de múltiples dispositivos (MD)................................ 104

Niveles de RAID................................................................................................. 106

RAID-lineal ............................................................................................... 107

RAID-0 ...................................................................................................... 108

RAID-1 ...................................................................................................... 110

RAID-2 y RAID-3 ..................................................................................... 112

9

Page 10: Mestre Servidor Servidor Es

RAID-4 ...................................................................................................... 114

RAID-5 ...................................................................................................... 115

Tipos híbridos............................................................................................ 117

Rendimiento de RAID......................................................................................... 119

Rendimiento en el MD RAID-0 y en el MD RAID-lineal........................ 119

Rendimiento de lectura en el MD RAID-1................................................ 120

Rendimiento de escritura en el MD RAID-1............................................. 120

Rendimiento de lectura en el MD RAID-4/5............................................. 121

Rendimiento de escritura en el MD RAID-4/5.......................................... 121

Comparación de los niveles de RAID........................................................ 122

Configuración de RAID...................................................................................... 124

Modo lineal................................................................................................ 125

RAID-0 ...................................................................................................... 128

RAID-1 ...................................................................................................... 130

RAID-4 ...................................................................................................... 132

RAID-5 ...................................................................................................... 136

Uso de RAID para obtener alta disponibilidad................................................... 138

4. LDAP........................................................................................................................ 143

10

Page 11: Mestre Servidor Servidor Es

Introducción y conceptos.................................................................................... 143

Servicio de directorio................................................................................. 144

Tipo de información................................................................................... 147

Organizando la información...................................................................... 147

Clases de objetos........................................................................................ 149

Registrando la información........................................................................ 149

Accediendo a la información..................................................................... 150

Protección contra accesos no autorizados.................................................. 151

Funcionamiento de LDAP......................................................................... 151

Concepto y utilización delslapd............................................................... 152

LDAP y el X.500....................................................................................... 154

Duplicación................................................................................................ 155

Instalando y configurando LDAP........................................................................ 156

Instalando los paquetes.............................................................................. 156

Creando el Directorio................................................................................ 158

Ejecutando el script migrate_all_offline.sh............................................... 159

Editando el archivo/etc/openldap/ldap.conf ............................................. 160

Iniciando el servidor LDAP....................................................................... 160

11

Page 12: Mestre Servidor Servidor Es

Utilizando LDAP................................................................................................. 161

Haciendo búsquedas en la línea de comando............................................ 162

Configurando Netscape Communicator..................................................... 166

Accediendo al servidor LDAP vía URLs.................................................. 168

Autenticación y NSS con LDAP......................................................................... 169

Autenticación en el LDAP y el NSS.......................................................... 170

Configurando PAM para utilizar el LDAP................................................. 171

Probando la autenticación y el NSS........................................................... 173

Agregando y eliminando usuarios vía LDAP............................................ 173

Agregando el log del LDAP...................................................................... 174

Herramientas gráficas para LDAP....................................................................... 174

El cliente de LDAP GQ............................................................................. 175

Acceso móvil....................................................................................................... 177

Implementando el acceso móvil................................................................ 178

Alterando el archivo de atributos..................................................... 178

Alterando el archivoobjectclass ...................................................... 179

Personalizando elslapd.conf ............................................................ 180

Alterando el archivo LDIF............................................................... 181

12

Page 13: Mestre Servidor Servidor Es

Reiniciando el servidor LDAP......................................................... 182

Configurando Netscape.................................................................... 183

5. DNS........................................................................................................................... 187

Introducción y Conceptos.................................................................................... 187

Funcionamiento de DNS..................................................................................... 188

Espacio de nombres de dominio................................................................ 188

Nombres de dominio.................................................................................. 189

Dominios.................................................................................................... 189

El espacio de nombres de dominios de Internet........................................ 191

Dominios de primer nivel.......................................................................... 191

Delegación................................................................................................. 193

Servidores de Nombres.............................................................................. 193

Máquina de resolución de nombres................................................. 195

Resolución de nombres.................................................................... 196

Cache................................................................................................ 196

Instalación y configuración de DNS.......................................................... 197

Instalación de los Paquetes............................................................... 197

Configuración del Servidor DNS..................................................... 197

13

Page 14: Mestre Servidor Servidor Es

Configuración de Mapas de IPs Inversos................................ 203

Configuración de un Servidor Secundario.............................. 205

Forward Zones........................................................................ 207

Repetidores............................................................................. 209

Funcionalidades...................................................................... 211

Asignación de bandas de IP.................................................... 212

Iniciando el servicio......................................................................... 214

Archivos de Configuración de BIND.................................................................. 216

El archivo/etc/named.conf ......................................................................... 217

El archivo/var/named/nombre-de-dominio ................................................... 218

El archivo/var/named/named.local ............................................................. 220

El archivo/var/named/named.ca .................................................................. 220

Configuración de los Clientes............................................................................. 222

Configuración a través de Linuxconf......................................................... 223

El archivo/etc/resolv.conf ....................................................................... 225

Consideraciones finales....................................................................................... 226

6. Servidor Internet..................................................................................................... 227

ServidorWeb....................................................................................................... 227

14

Page 15: Mestre Servidor Servidor Es

Introducción y Conceptos.......................................................................... 227

El Hipertexto.................................................................................... 227

El Protocolo HTTP........................................................................... 228

Apache............................................................................................. 230

Instalación de Apache...................................................................... 231

Configuración de Apache................................................................. 231

Servidor FTP....................................................................................................... 242

WU-FTPD.................................................................................................. 243

Instalación y Configuración................................................................................ 243

Accesos Anónimos.................................................................................... 249

Permitiendo el envío de archivos............................................................... 251

Archivos de Mensajes y deBienvenida..................................................... 255

Archivo deBienvenida..................................................................... 255

El Archivo .mensaje .......................................................................... 256

ServidorProxy..................................................................................................... 259

Caching...................................................................................................... 259

Squid.......................................................................................................... 260

Instalación y configuración................................................................................. 261

15

Page 16: Mestre Servidor Servidor Es

Memoria paraCache.................................................................................. 262

Archivos deCache..................................................................................... 264

Control de Acceso...................................................................................... 265

7. Correo electrónico................................................................................................... 267

Introducción........................................................................................................ 267

La teoría............................................................................................................... 267

Cómo funciona el intercambio de mensajes electrónicos.......................... 268

Protocolos involucrados en el intercambio de mensajes............................ 269

SMTP............................................................................................... 269

POP.................................................................................................. 273

IMAP................................................................................................ 276

La práctica................................................................................................. 291

Configuración del POP y del IMAP................................................. 292

Configuración del SMTP................................................................. 292

8. Seguridad en el Servidor........................................................................................ 297

Visión general sobre seguridad............................................................................ 297

Deshabilitando servicios innecesarios................................................................. 300

ServiciosStandalone................................................................................. 300

16

Page 17: Mestre Servidor Servidor Es

Servicios ejecutados mediante inetd.......................................................... 302

Utilización de TCP_Wrappers............................................................................ 307

Firewall mediante el filtro de paquetes................................................................ 316

Configuración del filtro de paquetes por Linuxconf.................................. 319

Verificando la integridad del sistema................................................................... 344

Configuración de AIDE............................................................................. 347

Utilización de AIDE.................................................................................. 353

9. Alta Disponibilidad ................................................................................................. 357

Introducción........................................................................................................ 357

Definición.................................................................................................. 357

Disponibilidad básica....................................................................... 358

Alta disponibilidad........................................................................... 358

Disponibilidad continua................................................................... 358

Objetivos.................................................................................................... 359

Cálculo de la Disponibilidad..................................................................... 360

Conceptos............................................................................................................ 361

Falla........................................................................................................... 362

Error........................................................................................................... 362

17

Page 18: Mestre Servidor Servidor Es

Defecto....................................................................................................... 362

Failover...................................................................................................... 363

Failback...................................................................................................... 364

Misión........................................................................................................ 365

La solución Conectiva para Alta disponibilidad................................................. 366

Administración de nodos........................................................................... 367

Duplicación de disco.................................................................................. 367

Sistema de archivos................................................................................... 368

Control de servicios................................................................................... 368

Configuración de DRBD..................................................................................... 369

Configuración vía Linuxconf..................................................................... 370

Configuración por el modo texto............................................................... 371

Sistema de archivos Reiserfs............................................................................... 374

Configuración de Heartbeat................................................................................. 375

Configuración mediante Linuxconf........................................................... 376

Configuración por el modo texto............................................................... 381

10. Redes Mixtas.......................................................................................................... 385

NFS...................................................................................................................... 385

18

Page 19: Mestre Servidor Servidor Es

Introducción y conceptos........................................................................... 385

Instalación de NFS........................................................................... 386

Instale el servidor NFS........................................................... 386

Configuración del Servidor NFS............................................ 387

Configurando un cliente NFS................................................. 390

Samba.................................................................................................................. 392

Configuración del Servidor Samba............................................................ 393

Instalación de Samba....................................................................... 393

Configuración................................................................................... 394

Contraseñas codificadas.......................................................... 394

Contraseñas decodificadas en Windows® 95............... 395

Contraseñas decodificadas en Windows® 98............... 396

Contraseñas decodificadas en Windows NT®.............. 397

Configuración Básica.............................................................. 398

Compartiendo un directorio.................................................... 399

Montando un volumen Samba................................................ 400

Iniciando Samba..................................................................... 400

Configuración del cliente........................................................ 401

19

Page 20: Mestre Servidor Servidor Es

Utilización de SWAT.............................................................. 402

Mars-NWE.......................................................................................................... 403

Introducción y conceptos........................................................................... 404

El protocolo IPX.............................................................................. 404

El objetoBindery............................................................................. 405

Scripts deLogon............................................................................... 405

Autenticación de Usuarios............................................................... 406

Utilidades DOS................................................................................ 409

Rendimiento..................................................................................... 410

Problemas conocidos........................................................................ 410

Configuración............................................................................................ 411

Volúmenes del Servidor................................................................... 412

Nombre del Servidor Netware®...................................................... 413

Red Interna....................................................................................... 413

Tarjetas de Red................................................................................. 414

Almacenamiento de Rutas............................................................... 415

Versión de Netware®....................................................................... 416

Tratamiento de Contraseñas............................................................. 417

20

Page 21: Mestre Servidor Servidor Es

Seguridad de Archivos durante el Proceso deLogin........................ 418

UsuarioInvitado............................................................................... 419

Usuarios con poder de supervisor.................................................... 420

Usuarios de Netware®..................................................................... 421

Registro automático de usuarios...................................................... 422

Creación de los directorios esenciales............................................. 423

Script deLoginEstándar.................................................................. 423

Desconexión delBannerde Impresión............................................ 424

Colas de Impresión........................................................................... 425

A. Appletalk.................................................................................................................. 427

Instalando Netatalk.............................................................................................. 428

Configurando Netatalk........................................................................................ 428

Exportando directorios............................................................................... 428

Configurando permisos de acceso............................................................. 430

Usuarios........................................................................................... 431

Permisos en el directorio de los volúmenes..................................... 431

En la estación............................................................................................. 432

Iniciando Netatalk...................................................................................... 433

21

Page 22: Mestre Servidor Servidor Es

B. Licencias generales................................................................................................. 435

Introducción........................................................................................................ 435

BSD Copyright.................................................................................................... 436

X Copyright......................................................................................................... 437

C. Licencia de Uso y Garantía del Producto............................................................ 441

General................................................................................................................ 441

Licencia limitada de productos........................................................................... 442

Antes de la instalación......................................................................................... 444

Garantía Limitada................................................................................................ 445

Limitación de Reparación y Responsabilidad..................................................... 446

General................................................................................................................ 446

D. Licencia Pública General GNU............................................................................. 449

Introducción........................................................................................................ 449

Términos y condiciones para copia, distribución y modificaciones.................... 451

¿Cómo aplicar estos términos a nuevos programas?........................................... 458

Índice............................................................................................................................ 461

22

Page 23: Mestre Servidor Servidor Es

Lista de tablas1. Convenciones.............................................................................................................. 32

3-1. Atributos de comparación de los varios niveles de RAID..................................... 122

10-1. Correspondencia entre Opciones de Linuxconf y de/etc/exports ...................... 390

Tabla de figuras1-1. Interfaz gráfica de Linuxconf.................................................................................. 39

1-2. Ejecutando Linuxconf en un Xterm......................................................................... 41

1-3. Configuración del Acceso a Linuxconf Vía Red..................................................... 43

1-4. InterfazWebde Linuxconf....................................................................................... 45

1-5. Estado del sistema................................................................................................... 48

1-6. Lista de módulos de Linuxconf............................................................................... 51

1-7. Previsión de modificación de Modo de archivos..................................................... 53

1-8. Filtrando la lista de archivos.................................................................................... 54

1-9. Permiso de archivos controlados por Linuxconf..................................................... 54

1-10. Definiciones de permisos de un archivo................................................................ 56

23

Page 24: Mestre Servidor Servidor Es

1-11. Lista de los archivos de configuración................................................................... 57

1-12. Lista de comandos y "daemons"............................................................................ 60

1-13. Cambio de configuración de comando.................................................................. 62

1-14. Control de servicios............................................................................................... 64

1-15. Configuración del serviciofinger.......................................................................... 65

2-1. Volumen Físico........................................................................................................ 74

2-2. Grupo de Volúmenes............................................................................................... 74

2-3. Grupo de Volúmenes expandido.............................................................................. 75

3-1. RAID-0.................................................................................................................. 108

3-2. Stripping................................................................................................................ 109

3-3. RAID-1.................................................................................................................. 111

3-4. RAID-2.................................................................................................................. 112

3-5. RAID-3.................................................................................................................. 114

3-6. RAID-4.................................................................................................................. 115

3-7. RAID-5.................................................................................................................. 116

4-1. Datos de directorio distribuidos en tres servidores................................................ 145

4-2. Árbol de Directorio LDAP.................................................................................... 148

4-3. Un servicio de directorio duplicado con datos distribuidos en tres servidores..... 155

24

Page 25: Mestre Servidor Servidor Es

4-5. Configuración de Autenticación............................................................................ 172

4-6. El cliente de LDAP GQ......................................................................................... 176

5-1. Zona vs. Dominio.................................................................................................. 194

5-2. Pantalla de Configuración del Servidor DNS........................................................ 198

5-3. Añadiendo un dominio.......................................................................................... 200

5-4. Añadiendo un Mapa de IP Inverso........................................................................ 204

5-5. Configuración de un Servidor Secundario............................................................. 206

5-6. Configuración de Forwarders................................................................................ 208

5-7. Configuración de repetidores................................................................................. 210

5-8. Funcionalidades del Servidor................................................................................ 212

5-9. Atribución de bandas de direcciones IP................................................................ 213

5-10. Configuración de named A través de ntsysv....................................................... 215

5-11. Añadiendo un dominio........................................................................................ 218

5-12. Especificación del servidor de nombres.............................................................. 223

6-1. Página Inicial deApache Conectiva Linux Vista en Netscape®............................ 231

6-2. Pantalla inicial de configuración de Apache.......................................................... 234

6-3. Configuración Básica de Apache........................................................................... 235

6-4. Alias de IP............................................................................................................. 238

25

Page 26: Mestre Servidor Servidor Es

6-5. Máquina Virtual de Apache................................................................................... 240

6-6. Pantalla inicial de configuración de WU-FTPD.................................................... 245

6-7. Configuración Básica del Servidor FTP................................................................ 245

6-8. Configuración de Control de Accesos................................................................... 247

6-9. Directorio con.mensaje Visto en Netscape............................................................ 257

8-1. Configuración de iniciación de servicios............................................................... 301

8-2. Configuración de/etc/services ............................................................................. 303

8-3. Deshabilitando un Servicio.................................................................................... 304

8-4. Servidor FTP sin tcp_wrappers............................................................................. 308

8-5. Servidor FTP Utilizando tcp_wrappers................................................................. 309

8-6. Configuración de reglas de entrada....................................................................... 320

8-7. Configuración de guías.......................................................................................... 322

8-8. Configuración de la GuíaOpciones....................................................................... 325

8-9. Ejemplo de uso de Forward firewalling................................................................. 328

8-10. Forward firewalling - Desde................................................................................ 331

8-11. Forward firewalling - Hacia................................................................................. 331

8-12. Forward firewalling - Opciones........................................................................... 333

8-13. Añadiendo una regla de origen del paquete......................................................... 335

26

Page 27: Mestre Servidor Servidor Es

8-14. Añadiendo una regla de destino del paquete....................................................... 335

8-15. Forward firewalling - Agregando una regla......................................................... 337

8-16. Ejemplo de uso de enmascaramiento de IP......................................................... 339

8-17. Configurando el enmascaramiento de IP............................................................. 341

8-18. Firewall - Enmascaramiento de IP....................................................................... 343

9-1. Configuración de DRBD....................................................................................... 370

9-2. Archivo de configuración...................................................................................... 370

9-3. Configuración de Heartbeat................................................................................... 376

9-4. Nodos..................................................................................................................... 377

9-5. IPs y Servicios....................................................................................................... 378

9-6. Claves de autenticación......................................................................................... 379

9-7. Lista de dispositivos.............................................................................................. 380

9-8. Configuraciones diversas....................................................................................... 380

10-1. Pantalla de configuración del servidor NFS........................................................ 387

10-2. Pantalla de acceso a volúmenes NFS................................................................... 392

10-3. Configuración de Samba...................................................................................... 393

10-4. Pantalla de configuración Global de Samba........................................................ 398

10-6. S W A T............................................................................................................... 403

27

Page 28: Mestre Servidor Servidor Es

Tabla de ejemplos4-1. Utilizando las URLs de Netscape Communicator................................................. 169

8-1. Ejemplo de Configuración de tcp_wrappers.......................................................... 312

8-2. Configuración de tcp_wrappers Menos Restrictiva............................................... 314

8-3. Archivo de Configuración de AIDE...................................................................... 351

28

Page 29: Mestre Servidor Servidor Es

Prefacio

El objetivo principal de esta guía es dar a conocer los servicios esenciales y másimportantes que Conectiva Linux presenta a los administradores de red y de sis-temas, así como las novedades de esta nueva edición Servidor. Está escrita en unlenguaje sencillo, pues de esta manera el administrador podrá tener una visióngeneral sobre cada servicio, bien como una explicación de la teoría y conceptosde los programas disponibles en el producto. Esta guía no pretende enseñar autilizar cada programa o paquete, ya que esto supondría escribir un nuevo libropara cada asunto. Además de la descripción general de los paquetes principales,el usuario puede encontrar ejemplos para su instalación y configuración.

Linuxconf fue clasificado como esencial o muy importante en una red, por lo queya es estándar en la distribución Conectiva Linux. En esta versión del servidornos gustaría resaltar los nuevos módulos que se han desarrollado especialmentepara Linuxconf. Antes de hablar de ellos explicaremos qué es Linuxconf. Se tratade un programa que centraliza la configuración de administración del sistema yde redes, y entre sus ventajas podemos mencionar una interfaz bastante amigable,que satisface a la mayoría de los usuarios; puede usarse en modo gráfico, textoe incluso llamada vía web. Conectiva procuró implementar nuevos módulos enel programa, así como también mejorar los que ya existían, dejándolo aún másestable. Con un equipo especializado y trabajando solamente en este proyecto, fueimplementado un módulo para la configuración de la solución deBootRemoto,Wine, un aumento de funcionalidades en la configuración de Samba, DNS, NFS ymuchos otros módulos que el propio programa presenta. Para terminar, la virtudprincipal de Linuxconf es la implementación constante realizada por el equipode Conectiva y también por la propia comunidad Linux. Acompañe en nuestro

29

Page 30: Mestre Servidor Servidor Es

Prefacio

sitio web (http://es.conectiva.com/actualizaciones/) su evolución y tenga siempreen su máquina la última versión. En el primer capítulo de esta guía se describeLinuxconf de manera más detallada.

Dando continuidad a la guía, se presenta el concepto y funcionamiento de unservidor de LDAP. Este servicio es un protocolo cliente-servidor, que se utilizapara acceder a un servicio de Directorio - una base de datos que se asemeja auna lista telefónica - que guarda toda la base de información de sus usuarios.Una facilidad interesante es que, usando el cliente Netscape®, el usuario puedeacceder remotamente a toda la configuración de su navegador.

Se describe el funcionamiento de RAID, una poderosa herramienta, rápida y con-fiable para crear un subsistema de unidades de disco, a través de unidades indivi-duales. No tiene como objetivo ser utilizado como un sustituto para hacerbackup,su función es proteger contra fallas en el disco. RAID es un servicio complejo quedebe utilizarse con cautela y por administradores con mucha experiencia.

Presentamos el buen y “viejo” DNS, el cual además de ser conocido por muchos,es de suma importancia para la configuración de una red. En este capítulo sepresenta una introducción de su concepto básico y configuración.

En Redes Mixtas, se demuestra el NFS y dos protocolos más para que Linux tra-baje con otros sistemas operativos - Samba y Mars-NWE. NFS es un protocoloimportante, dentro de Linux, para compartir archivos; ya Samba permite que má-quinas Linux “conversen” con máquinas Windows y Mars-NWE permite la co-municación entre máquinas o redes Linux y máquinas o redes Novell. Esta partede la guía es bastante importante e interesante para los que están migrando paraLinux y todavía no pueden abandonar definitivamente otros sistemas operativos.Linux muestra aquí que puede convivir amigablemente con todos.

30

Page 31: Mestre Servidor Servidor Es

Prefacio

Procuramos crear una secuencia de servicios para que el administrador monteun servidor básico de Internet. Presentamos Apache para un servidor web, WU-FTPD para un servidor de FTP y Squid para un servidor de proxy. Con estos tresservicios usted puede por ejemplo, montar un servidor base para su proveedorInternet.

En el capítulo - Correo Electrónico - presentamos el funcionamiento de Sendmailpara la configuración de un servidor de email. Utilice ese capítulo para mejorarsu servidor.

Cuando hablamos de Seguridad en el Servidor, presentamos algunas reglas paraaumentar la seguridad en su red y también describimos una manera muy clara yobjetiva de lo que debe hacer un administrador para deshabilitar los servicios queno se están utilizando, que es el primer paso que un buen administrador debe dar.Conocer la red es uno de los factores más importantes para brindar un mínimode seguridad; aunque el administrador no conozca conceptos de seguridad, debeconocer la red. Lea este capítulo con mucha atención.

Para terminar, tenemos el capítulo alta disponibilidad, que tiene como objetivopresentar conceptos y aplicaciones que permiten aumentar la disponibilidad deservidores Linux. Alta Disponibilidad viene a mostrar que no es sólo un programadentro de un producto, sino, una característica de un sistema de computadores.Conectiva Linux también viene abriendo las puertas para esa filosofía.

En el apéndice, tenemos un asunto importante:Appletalk. En este apéndice sedescribe el paqueteNetatalkque viene con Conectiva Linux, con él se puedencrear redes mixtas usando máquinas Macintosh® y Linux.

Para finalizar esta guía, se presentan las licencias de uso generales, GPL y lalicencia de uso del producto.

31

Page 32: Mestre Servidor Servidor Es

Prefacio

Esperamos que aproveche al máximo los conceptos y ejemplos que presentamosen este libro.

Convenciones Tipográficas

Durante la elaboración de esta guía, procuramos describir con uniformidad losdistintos términos utilizados. A continuación presentaremos las principales con-venciones utilizadas.

Tabla 1. Convenciones

Convención Descripción

Itálico Palabras en inglés.

Opciones de menús y submenús Letra en tamaño mayor que el cuerpodel texto; los submenús están separadospor flechas.

Letra courier (más delgada y con más

espacio)

Definida para nombres de archivos oextensiones de archivos.

Conectivaespera, con este material, suministrar una base para todos los que de-sean implantar soluciones avanzadas en un servidor, utilizando una plataforma

32

Page 33: Mestre Servidor Servidor Es

Prefacio

Linux.

Si encuentra algún error ortográfico o conceptual, por favor acceda al sitio web(http://es.conectiva.com/doc/errata) y llene el formulario correspondiente.

¡Conectivaagradece su interés en este producto y le desea muy buena suerte ensu labor!

33

Page 34: Mestre Servidor Servidor Es

Prefacio

34

Page 35: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

El propósito de este capítulo es presentar Linuxconf de tal manera que sea ca-paz de entender qué sucede cada vez que efectúa alguna modificación, o cuandosencillamente entra y sale de la aplicación. No presentaremos ni explicaremoscada uno de los módulos de Linuxconf, en vez de ello, expondremos lo que debehacerse para habilitar o deshabilitar estos módulos y cuáles son los archivos con-trolados por Linuxconf, entre otros puntos.

Visión general

Linuxconf es un avanzado sistema de administración para Linux. Centraliza ta-reas tales como configuración del sistema y control de los servicios existentesen la máquina. En verdad, Linuxconf está compuesto por un conjunto de módu-los, cada uno de ellos responsable por ejecutar una tarea específica. Por ejemplo,entre muchos otros, existen módulos para:

• Configuración del servidor Apache.

• Configuración de conexiones PPP.

• Configuración de reglas para el filtro de paquetes del kernel.

35

Page 36: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Considerando la manera como ha sido proyectado Linuxconf, para añadirle unafuncionalidad basta que alguien escriba un nuevo módulo para ejecutar la tareatratada. Con esto, tenemos una herramienta que puede centralizar la configura-ción de todo el sistema.

Una de lascomplicacionesde gran parte de los programas para Linux es su flexi-bilidad, pues tienen decenas (e incluso a veces centenas) de opciones de con-figuración. Linuxconf la facilita en estos programas, al presentar las opcionesde configuración existentes de una manera organizada y, en muchos casos, efec-tuando también la validación de los datos informados, por lo que disminuye laocurrencia de errores vulgares.

Cunado hace una modificación a través de un módulo y lo termina, se efectúan lasalteraciones en el sistema. Cuando salga de Linuxconf, se harán verificaciones parainspeccionar si el estado actual del sistema corresponde con la configuración deLinuxconf.

Interfaces de Linuxconf

De una forma contraria a otras herramientas de administración, Linuxconf cuentacon varias interfaces de usuario:

36

Page 37: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Interfaz texto

Interfaz indispensable, pues puede utilizarse en cualquier momento, ya sea vía con-sola o acceso remoto (telnet o ssh). Esta interfaz elimina la necesidad de mantenerinstalado un servidor gráfico X solamente para configurar la máquina. LaTabla 1-1muestra algunos atajos de teclado útiles para este modo de Linuxconf.

Tabla 1-1. Teclas de referencia rápida de Linuxconf

Teclas Descripción

F1 abre pantalla de ayuda

F3 sale de una sección/pantalla

Ctrl- X muestra lista emergente de la opción

Ctrl- A va para el comienzo de la línea (Inicio)

Ctrl- B vuelve a la página anterior (Re Pág)

Ctrl- D borra el carácter actual (Suprimir)

Ctrl- E va para el fin de la línea (Fin)

Ctrl- F va para la página posterior (Av Pág)

Ctrl- K borra el texto, desde el cursor hasta el fin de línea

37

Page 38: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Interfazweb

La posibilidad de configurar una máquina a través de una interfazwebes fantástica,pues basta tener acceso a un navegador. Con eso, es posible configurar una máquinaa través de, prácticamente, cualquier plataforma dehardwarey software, siendosuficiente que haya un navegador para ella.

Interfaz gráfica

Es útil para usuarios que prefieren configurar el sistema a través de una interfazgráfica, pues tienen a su disposición ventanas, cuadros de diálogo, botones, etc.. Estainterfaz debe ejecutarse en un servidor gráfico X, como XFree86 (servidor gráficoestándar de Linux).

Interfaz de línea de comando

Algunos módulos de Linuxconf pueden utilizarse por la línea de comando, lo que,entre otras posibilidades, permite su uso enscripts.

Usted podrá utilizar cualquier interfaz de éstas, dependerá solamente de su gustopersonal, o de lo que tiene disponible la máquina que está siendo administrada.

38

Page 39: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Uso de Linuxconf

Linuxconf puede ejecutarse en cualquier momento, a través de la línea de co-mando. Para iniciarlo basta teclearlinuxconf en la línea de comando, o pulsar enel ícono del ambiente gráfico del superusuario.

La configuración estándar de Conectiva Linux es permitir que sólo el superusua-rio acceda a Linuxconf. Esta política ha sido escogida por factores de seguridad,pues para que otros usuarios puedan ejecutarlo, es necesario que el programatenga el bitsuidhabilitado.

Cuando se ejecuta Linuxconf por primera vez, exhibe una pantalla de presentación,con algunas instrucciones de uso del programa.

Al ser iniciado, Linuxconf verifica si la X está activa. En caso afirmativo, empiezasu interfaz gráfica, como se ilustra en laFigura 1-1.

39

Page 40: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-1. Interfaz gráfica de Linuxconf

40

Page 41: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Como podemos observar en laFigura 1-1, Linuxconf tiene tres secciones: Confi-guración, Control y Estado. La secciónConfiguracióntrata básicamente de con-figuraciones del sistema y la secciónEstadopermite la vista delogse informa-ción general del sistema. Como el objetivo de este capítulo es entender el fun-cionamiento de Linuxconf, nos detendremos en la secciónControl, que permiteque visualicemos y modifiquemos las opciones predefinidas de Linuxconf.

Para utilizar la interfaz texto de Linuxconf, basta ejecutarlo en el modo texto, oentonces agregar la opción--text en la línea de comando:linuxconf --text.

La Figura 1-2muestra Linuxconf siendo ejecutado en un Xterm.

41

Page 42: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-2. Ejecutando Linuxconf en un Xterm

Note que la información presentada en la interfaz texto es la misma que se pre-senta en la interfaz gráfica, y vea que sólo la forma de presentación difiere entrelas dos interfaces.

A la interfazwebse puede acceder a través de la URLhttp://su_maquina:98/,pero, para eso, tiene que configurar primero Linuxconf, para que acepte conexio-nes vía red.

42

Page 43: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Habilitación del acceso a Linuxconf vía red

El primer paso para habilitar el acceso a Linuxconf vía red es ir hastaConfigu-ración → Configuración de Red → Misc → Acceso de red a Linuxconf ymarcar la opciónactiva acceso vía red.

Además de esta opción, es útil marcarAcceso de registro en/var/log/htmlaccess.log ,para que los accesos sean registrados en este archivo. Debajo de estas opciones,encontrará algunos campos para definir cuáles son las máquinas que pueden ac-ceder a Linuxconf vía red. Si ellos no son llenados, Linuxconf aceptará solamenteconexiones de la red local de la primera tarjeta de red detectada por el sistema, loque se considera un funcionamiento bastante seguro.

Si prefiere ser más específico, informe una máquina o una red y, como opción,una máscara de red. Sus opciones para especificar una máquina o una red son:

• Un nombre de máquina.

• Una dirección IP.

• Un par de direcciones IP y máscara de red.

• Un nombre de dispositivo (eth0, eth1, etc).

Observe el ejemplo de laFigura 1-3:

43

Page 44: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-3. Configuración del Acceso a Linuxconf Vía Red

Con esta configuración, será posible acceder a la interfazwebde Linuxconf através de la interfazloopback(127.0.0.1), de la red192.168.0.0/255.255.255.0y de la máquinahost.qwerty.com. Cuando se especifica una dirección IP o unnombre de máquina sin especificar una máscara de red, es asumida la máscara255.255.255.255.

Para configurar el acceso de Linuxconf vía web, tendrá que alterar como super-

44

Page 45: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

usuario el archivo/etc/xinetd.d/linuxconf-web :

# vi /etc/xinetd.d/linuxconf-web

# default: off

# description: The Linuxconf system can also be accessed via a web \

# browser. Enabling this service will allow connections to \

# Linuxconf running in web UI mode.

service linuxconf

{

disable = yes

socket_type = stream

wait = yes

user = root

server = /sbin/linuxconf

server_args = -http

}

Basta con sustituirdisable = yes por disable = no y se activará el sevicio.

Finalmente, para acceder a Linuxconf a través de su interfazweb, es suficienteapuntar su navegador para http://127.0.0.1:98/, o sea, si está accediendo desde lamáquina local. Si está accediendo a través de la red, reemplace127.0.0.1por elnombre o dirección IP de la máquina.

45

Page 46: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

La Figura 1-4muestra una página de la interfazwebde Linuxconf.

46

Page 47: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-4. Interfaz Webde Linuxconf 47

Page 48: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Ayuda de Linuxconf

Linuxconf tiene varias pantallas de ayuda, que le explican cómo utilizar algu-nas características del programa. Para acceder a ellas, debe seleccionar la opciónAyuda, que existe en todas las pantallas del programa.

Como Linuxconf es un proyecto en desarrollo, algunas pantallas de ayuda no hansido aún traducidas para la lengua española, y otras ni siquiera han sido escritas.Por lo tanto, no le parezca extraño si aparece alguna pantalla de ayuda en inglés, oincluso, si le sale algún mensaje diciendo que el archivo de ayuda no existe.

Activación de las configuraciones

Uno de los primeros puntos a conocer de Linuxconf es que muchas configura-ciones realizadas a través suyo causarán efecto solamente cuando sean activadasexplícitamente. Existen varias maneras para activar estos cambios. Una de ellases saliendo de Linuxconf. Al salir del programa, tras haber efectuado alguna mo-dificación en configuraciones, tendrá una pantalla semejante a la que se ilustra enla Figura 1-5.

48

Page 49: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-5. Estado del sistema

A no ser cuando sea explícitamente señalado, las pantallas y los procedimientosdescritos en este capítulo tienen como base la interfaz gráfica de Linuxconf. Ladiferencia de operación entre una interfaz y otra es mínima, por lo tanto no tendráproblema si utiliza alguna de las otras interfaces.

La ventana presenta un informe (Figura 1-5) de lo que será ejecutado, si deseaque se hagan las configuraciones.

Si abandona la idea de salir del programa, basta con que seleccione la opciónVolver a Linuxconf, esto hará con que usted vuelva a la pantalla principal de

49

Page 50: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Linuxconf. La opciónSalir permite que salga del programa sin efectuar las al-teraciones, al revés de la opciónActivar los cambios, mediante la cual sale delprograma confirmando todas las alteraciones necesarias.

Otra manera de activar los cambios en la configuración del sistema es al revés dela opciónControl→ Panel de Control→ Activa la configuración.

Si le gusta usar la línea de comando, puede encontrar dos comandos útiles. Veamos:el comandolinuxconf --status exhibe el informe de lo que necesita hac-erse para sincronizar la configuración del sistema, y el comandolinuxconf --update efectúa las alteraciones, como se ilustra a continuación.

# linuxconf --status

Lista de requisitos para activar la configuración actual

# linuxconf --update

Verificando la configuración básica

Verificando los módulos del kernel

Montando volúmenes locales

Verificando los permisos de archivos

Verificando LILO

Ejecutando algunos scripts de iniciación Sysv

Ejecutando: /etc/rc.d/rc5.d/S50inet restart

Configuración del firewall

50

Page 51: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Activar o desactivar módulos

Linuxconf está compuesto por varios módulos, cada uno de ellos con una funciónespecífica. Es posible desactivar módulos innecesarios o activar los existentes quese desean utilizar. Accediendo aControl → Controla archivos y sistemas →Configura módulos de Linuxconf. Linux tendrá acceso a laLista de módulos(Figura 1-6). Dicha lista muestra los módulos que existen, su descripción y unacheckboxque informa si el módulo está o no activo. Para confirmar cualquieralteración en esta pantalla, basta pulsar enAceptar.

51

Page 52: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-6. Lista de módulos de Linuxconf

Permiso y propiedad de archivos

52

Page 53: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Linuxconf mantiene una base de datos con permisos y propiedad de archivos ydirectorios importantes del sistema, evitando así que estas características seanaccidentalmente alteradas.

Por ejemplo, si modifica el modo del directorio/var/spool/mail para777, al ac-tivar la configuración Linuxconf lo configurará nuevamente con el modo775,como se ilustra en laFigura 1-7.

Figura 1-7. Previsión de modificación de Modo de archivos

En ciertas situaciones, es posible que necesite modificar permanentemente elmodo (o dueño, o grupo) de un archivo administrado por Linuxconf. En estecaso, es necesario alterar la información del archivo almacenada enControl →Controla archivos y sistemas→ Configura modos y pertenencia de archi-vos. Al acceder a esta opción, se presentará un cuadro de diálogo (Figura 1-8), enel que podrá especificar un prefijo para filtrar los archivos que serán relacionados,

53

Page 54: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

pues la lista es bastante grande. Si no pone un prefijo, se exhibirá la lista com-pleta. Dicha lista, filtrada o no, aparecerá en cuanto pulse en el botónAceptar.

Figura 1-8. Filtrando la lista de archivos

La Figura 1-9muestra un listado de los archivos del directorio/usr que son ad-ministrados por Linuxconf.

54

Page 55: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-9. Permiso de archivos controlados por Linuxconf

Este cuadro de diálogo tiene cinco columnas de información:

Ruta: exhibe el camino completo para el archivo o directorio.

Tipo: informa si es archivo, directorio, dispositivo carácter o dispositivo bloque.

Dueno: exhibe el dueno y el grupoestándardel archivo.

Permisos: informa los permisosestándardel archivo.

Mod: informa si la configuración estándar del archivo fue modificada.

Al seleccionar uno de los archivos de la lista, se presentará otro cuadro de diálogo,que va a permitirle que altere la configuración estándar del archivo. Usted podráalterar eldueño, el grupoy lospermisos.

55

Page 56: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Observe en laFigura 1-9que el archivo/usr/sbin/pppd tiene permisosrwsr-xr-x .Le puede interesar, por ejemplo, deshabilitar el bitsuid de este programa. Paraeso, desmarque la opciónIndicador de Setuiden el cuadro de diálogo de defini-ciones de permisos de un archivo (Figura 1-10).

Figura 1-10. Definiciones de permisos de un archivo

56

Page 57: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

La próxima vez queactive las configuraciones, esta alteración será automática-mente efectuada. Este tipo de alteración puede hacerse para cualquier archivocontrolado por Linuxconf.

Recuerde que, siempre que necesite alterar dueño, grupo o permisos de un archivocontrolado por Linuxconf, será necesario modificar la configuración del archivo eneste programa.

Archivos de configuración

Linuxconf usa, gestiona, prueba y genera varios archivos de configuración. Através de la opciónControl → Controla archivos y sistemas → Configurartodos los archivos de configuración (Figura 1-11) puede visualizar cuáles sondichos archivos.

57

Page 58: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-11. Lista de los archivos de configuración

Como puede ver, esta ventana contiene tres columnas:Ruta, Estadoy Subsis-tema.

La Rutadefine la ubicación del archivo administrado. La columnaEstadocon-tiene algunos identificadores, que pueden tener los valores siguientes:

58

Page 59: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

(en blanco): indica que el archivo es sólo leído por Linuxconf. Eso puede significar doscosas: o se trata de un archivo de referencia usado por Linuxconf o aún no sabe cómoadministrarlo, pero utiliza su contenido.

A: indica que el archivo se almacenará para un determinado perfil.

E: indica que el archivo será siempre borrado en la iniciación, por Linuxconf.

G: indica que el archivo es generado por Linuxconf. En este caso, Linuxconf utiliza otrosarchivos, como por ejemplo/etc/conf.linuxconf , para guardar la configuración relacio-nada al servicio en referencia. Generalmente esto significa que esos archivos no deben seralterados manualmente, pues Linuxconf sobrescribirá estas alteraciones. La excepción aeste caso se da cuando el archivo es también marcado conM, lo que no es común.

M: indica que el archivo es administrado completamente por Linuxconf. Esto significaque Linuxconf sabe como procesarlo y reescribirlo apropiadamente. Significa tambiénque puede modificar el archivo directamente, sin que Linuxconf pierda la habilidad degestionarlo. El archivo/etc/resolv.conf es un buen ejemplo.

O: indica que el archivo es optativo en un sistema Linux.

P: indica que Linuxconf sabe muy poco del archivo referido. El sólo verifica su existenciay su fecha de modificación. Con base en esto, Linuxconf decide si es necesario un servicioo si precisa ser reiniciado o senalizado undaemon.

V: Linuxconf utiliza archivos virtuales especiales, que generalmente hacen parte de unarchivo de configuración real.

*: Indica que la ruta del archivo de configuración fue alterada, y no tiene más el valororiginal conocido por Linuxconf.

59

Page 60: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

La columnaSubsistemasolamente presenta una división interna de Linuxconf,que informa a qué parte del sistema pertenece el archivo.

La única configuración que puede hacerse en esta ventana es la alteración de laruta del archivo, lo que no se recomienda, salvo que esté bien seguro de lo quehace.

Comandos y programas residentes

Linuxconf utiliza varios comandos y programas del sistema para realizar distin-tas tareas. Usted puede saberlos si accede aControl → Controla archivos ysistemas → Configurar todos los comandos y "daemons" (Figura 1-12).Además de visualizarlos, podrá modificarlos e incluso desactivarlos, como vere-mos a continuación.

60

Page 61: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-12. Lista de comandos y "daemons"

Como puede ver, la ventana ilustrada en laFigura 1-12tiene tres columnas:

Nombre: informa el nombre del comando.

Ruta: informa la localización del comando que se está utilizando.

61

Page 62: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Mod: informa si la configuración original de Linuxconf fue modificada.

Esta característica es bastante útil, pues le permite que personalice algunas fun-ciones de Linuxconf de manera simple. Por ejemplo, si necesita añadir usuariosen la base de datos del sistemay además en una base de datos SQL, basta reem-plazar el comando originalmente utilizado por Linuxconf por unscript o pro-grama especialmente creado para esto.

Al seleccionar uno de los comandos de la lista, será exhibida una ventana que lepermitirá:

• Deshabilitar el comando; cuando desmarque la opciónlinuxconf puede hacerse cargo.

• Modificar el comando que será ejecutado, alterando laRuta del comando.

• Añadir, suprimir o modificar los argumentos utilizados en la ejecución del comando.

La Figura 1-13ilustra una situación en la que ha sido alterado el comando paraagregar usuarios al sistema.

62

Page 63: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-13. Cambio de configuración de comando

Con esta configuración, el comando utilizado por Linuxconf para agregar usua-rios al sistema pasa a ser/usr/sbin/useradd-sql , que podrá ser unscript o pro-grama binario que ejecuta la tarea de añadir usuarios de manera personalizada.Note que este procedimientono va a modificar el módulo de adición de usuariosde Linuxconf. La diferencia está en que el comando utilizado por el módulo seráotro.

Si desactiva un comando, desmarcando la opciónlinuxconf puede hacerse cargo.Linuxconf estará impedido de efectuar cualquier tarea que dependa de este co-mando.

Estos procedimientos son válidos para cualquier comando utilizado por Linux-conf.

63

Page 64: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Controla servicios activos

El Controla servicios activosde Linuxconf sirve básicamente para configurarinetd. La gran mayoría de servicios son controlados mediante inetd, no obstante,otros como el propio Linuxconf y el servicio defirewall no están controlados pordicha aplicación.

Se puede acceder a esta configuración a través de la opciónControl→ Panel decontrol→ Controla servicios activos .

64

Page 65: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-14. Control de servicios

Para modificar la configuración de un servicio, debe primero pulsar sobre elmismo. Este procedimiento hará con que sea exhibida otra ventana, que permiteefectuar las modificaciones que desee. LaFigura 1-15ilustra la configuración delservicio finger. Para activar o desactivar un servicio se debe modificarEstadoparaActivadoo Desactivado, respectivamente.

65

Page 66: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Figura 1-15. Configuración del serviciofinger

66

Page 67: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Más funcionalidades de Linuxconf

En este capítulo, tratamos de la configuración del propio Linuxconf. En los demáscapítulos de este libro tendrá la oportunidad de conocer varios programas, que lepermitirán gestionar su máquina de una manera muy sencilla y segura.

A esta versión le fueron agregados módulos de Linuxconf, entre los que podemoscitar:

• Módulo para configuración de Wine, aplicación para ejecutar programas de Windows®.

• Módulo para configuración de Amanda, software para administración de backup.

• Módulo para configuración de Grub, bootloadercon más características que LILO.

• Módulo para configuración de Postfix, servidor de e-mail.

• Módulo para configuración de Portslave, aplicación usada para control de puertos.

• Módulo para configuración de LPRng, software para configuración y control de impre-soras.

67

Page 68: Mestre Servidor Servidor Es

Capítulo 1. Linuxconf

Logs de Linuxconf

Es importante tener siempre como referencia los logs del sistema antes, durantey después del uso de Linuxconf. Estos archivos pueden consultarse siempre en/var/log .

Podemos citar los siguientes archivos que se refieren sólo al uso de Linuxconf:

• /var/log/netconf.log - archivo principal de log de Linuxconf, registra operaciones deforma clara y específica de todos los pasos ejecutados por Linuxconf.

• /var/log/htmlaccess.log - log de acceso de Linuxconf vía WEB; si utiliza esta interfazuse este archivo como referencia.

68

Page 69: Mestre Servidor Servidor Es

Capítulo 2. LVM

El Administrador de Volúmenes Lógicos1(LVM) es un subsistema para gestiónactiva de almacenamiento en disco que se transformó en una forma estándar deadministración de almacenaje en sistemas UNIX.

El Administrador de Volúmenes Lógicos consiste en una capa adicional entre losdispositivos físicos y la interfaz de E/S en el kernel para suministrar una visiónlógica en el almacenamiento. Al contrario de los esquemas de particiones ac-tuales, en los que se dividen discos en particiones continuas de tamaño fijo, elLVM permite al usuario considerar discos, también conocidos como VolúmenesFísicos2 (PV), como un volumen de almacenamiento de datos, que tiene exten-siones con tamaños iguales.

Un sistema de LVM se compone de grupos arbitrarios de volúmenes físicos, or-ganizados en Grupos de Volúmenes3(VG). Un grupo de volumen puede consistiren uno o más volúmenes físicos. Puede haber más de un grupo de volumen en elsistema. Una vez creado, el grupo de volumen, no el disco, es la unidad básica dealmacenamiento de datos (un disco virtual que se compone de uno o más discosfísicos).

1. Logical Volume Manager

2. Physical Volumes

3. Volume Groups

69

Page 70: Mestre Servidor Servidor Es

Capítulo 2. LVM

La cantidad de espacio en disco, que se representa por un grupo de volumen,puede estar asignada en particiones virtuales, llamadas Volúmenes Lógicos4 (LV)de varios tamaños. Un volumen lógico puede contener un número de volúmenesfísicos o representar solamente una parte de un volumen físico. El tamaño de unvolumen lógico se determina por su número de extensiones. Una vez creados, losvolúmenes lógicos pueden utilizarse como particiones de disco regulares - paracrear un sistema de archivos o un dispositivo de intercambio.

LVM fue inicialmente desarrollado por IBM y luego adoptado por la OSF (ahoraOpenGroup (http://www.opengroup.org/)), para su sistema operativo OSF/1. Laversión OSF fue usada entonces como una base para implementación de LVM enlos sistemas operativos HP-UX y Digital UNIX. Otra implementación de LVMestá a disposición a través de Veritas (http://www.veritas.com) que funciona deuna forma diferente. La implementación de Linux es similar a la implementaciónde LVM de HP-UX.

El concepto de LVM

Tradicionalmente, el tamaño de una partición es definido en la instalación del sis-tema, y no puede ser alterado posteriormente. El cambio de tamaño de particionesestáticas puede realizarse con la aplicación parted. Para ello, es necesario que eladministrador haga un planeamiento previo de la cantidad máxima de datos quela partición podrá almacenar en el futuro. Cuando un usuario exceda el espacio de

4. Logical Volumes

70

Page 71: Mestre Servidor Servidor Es

Capítulo 2. LVM

una partición, tendrá que reparticionar (lo que puede involucrar una reinstalacióncompleta del sistema) o utilizar artificios, como enlaces simbólicos.

Por ejemplo, suponga que tenemos un disco de 1GB y creamos la partición/home

utilizando 600MB. Vamos a imaginar que necesitamos más espacio y descubri-mos que precisaremos 1GB en el/home . Utilizando la antigua noción de parti-ciones, precisaremos tener otra unidad con por lo menos 1GB de tamaño. Po-dremos entonces añadir el disco, crear el nuevo/home y copiar los datos que cor-respondan.

Sin embargo, con una configuración LVM, podemos simplemente agregar undisco de 400MB (o más grande) y añadir dicha unidad de almacenamiento enla partición/home . Otras herramientas permiten cambiar el tamaño a un sistemade archivos existente, o sea, podemos sencillamente poner la nueva dimensión,para tener la ventaja de una partición con mayor tamaño y volver al trabajo.

Terminología

LVM viene con varias jergas que necesitan entenderse para que no haya proble-mas con los sistemas de archivos. En esta sección veremos esta terminología quese utiliza en LVM.

71

Page 72: Mestre Servidor Servidor Es

Capítulo 2. LVM

El medio físico

Deberá usar la palabrafísicocon un poco de cuidado. De cualquier forma la en-tenderemos inicialmente como siendo un simple disco duro, o una partición. Porejemplo,/dev/hda , /dev/hda2 , /dev/sda . Podemos transformar cualquier númeroconsecutivo de bloques de un dispositivo de bloques en un Volumen Físico.

Volumen Físico (PV)

Un PV5 no es nada más que un medio físico con algunos datos administrativos aél agregados - una vez que hayamos agregado estos datos el LVM los reconocerácomo propietarios de las Extensiones Físicas.

Extensiones Físicas (PE)

Extensiones Físicas6 son como bloques de un sistema de archivos (regiones con-tinuas del disco) realmente grandes, muchas veces con un tamaño que llega a los

5. Physical Volume

6. Physical Extents

72

Page 73: Mestre Servidor Servidor Es

Capítulo 2. LVM

megabytes. Las PEs pueden atribuirse a un Grupo de Volúmenes.

Grupo de Volúmenes (VG)

Un VG7 está compuesto por un determinado número de Extensiones Físicas. Deeste Grupo de volúmenes, las PEs pueden atribuirse a un Volumen Lógico.

Volumen Lógico (LV)

Un Volumen Lógico es el resultado final de nuestro trabajo, y es aquí que sealmacena la información. Se trata de un dispositivo de bloque funcionalmenteequivalente a una partición.

Sobre el Volumen Lógico será creado un sistema de archivos.

7. Volume Group

73

Page 74: Mestre Servidor Servidor Es

Capítulo 2. LVM

Sistema de Archivos

El sistema de archivos puede ser: ext2 estándar, ReiserFS, etc... Para el usuario,no hay diferencia entre una partición regular y un Volumen Lógico.

A continuación se ponen algunos diagramas que le ayudarán a visualizar estosconceptos.

Un Volumen Físico, que contiene Extensiones Físicas.Figura 2-1.

Figura 2-1. Volumen Físico

Un Grupo de Volúmenes, que contienen dos Volúmenes Físicos (PVs) con seisExtensiones Físicas.Figura 2-2.

74

Page 75: Mestre Servidor Servidor Es

Capítulo 2. LVM

Figura 2-2. Grupo de Volúmenes

Ahora podemos expandir este grupo.Figura 2-3.

75

Page 76: Mestre Servidor Servidor Es

Capítulo 2. LVM

Figura 2-3. Grupo de Volúmenes expandido

Esto nos muestra dos sistemas de archivos, dividiendo dos discos. El sistema dearchivos/home contiene cuatro Extensiones Físicas, el sistema de archivos/var

dos.

76

Page 77: Mestre Servidor Servidor Es

Capítulo 2. LVM

Creando un Volumen Lógico

Presentaremos aquí un ejemplo comentado que muestra el proceso para la crea-ción de un Volumen Lógico. Utilizaremos dos particiones en un mismo discopara este ejemplo,/dev/hda5 e /dev/hda6 con 2GB y 1GB respectivamente. El usode LVM tiene más sentido con particiones en discos distintos, aunque aquí, so-lamente para fines didácticos, lo presentaremos en un solo disco, mientras queestas reglas se aplican a varios discos. Los datos de estas particiones se perderán.

Observe las figuras mostradas anteriormente en caso que tenga alguna duda.

Primero cambiaremos el tipo de las particiones/dev/hda5 y /dev/hda6 en 0x8e.

# fdisk /dev/hda

Comando (m para ayuda): p

Disco /dev/hda: 255 cabeças, 63 sectores, 784 cilindros

Unidades = cilindros de 16065 * 512 bytes

Dispositivo Boot Inicio Fin Bloques Id Sistema

/dev/hda1 1 17 136521 82 Linux swap

/dev/hda2 * 18 272 2048287+ 83 Linux

/dev/hda3 273 400 1028160 83 Linux

/dev/hda4 401 784 3084480 5 Extendida

77

Page 78: Mestre Servidor Servidor Es

Capítulo 2. LVM

/dev/hda5 401 655 2048256 83 Linux

/dev/hda6 656 783 1028128+ 83 Linux

/dev/hda7 784 784 8001 82 Linux swap

Comando (m para ayuda): t

Número de la partición (1-7): 5

Código hexadecimal (teclee L para listar los códigos): 8e

El tipo de la partición 5 fue alterado para 8e (Linux LVM)

Comando (m para ayuda): p

Disco /dev/hda: 255 cabezas, 63 sectores, 784 cilindros

Unidades = cilindros de 16065 * 512 bytes

Dispositivo Boot Inicio Fin Bloques Id Sistema

/dev/hda1 1 17 136521 82 Linux swap

/dev/hda2 * 18 272 2048287+ 83 Linux

/dev/hda3 273 400 1028160 83 Linux

/dev/hda4 401 784 3084480 5 Extendida

/dev/hda5 401 655 2048256 8e Linux LVM

/dev/hda6 656 783 1028128+ 83 Linux

/dev/hda7 784 784 8001 82 Linux swap

78

Page 79: Mestre Servidor Servidor Es

Capítulo 2. LVM

Comando (m para ayuda): t

Número de la partición (1-7): 6

Código hexadecimal (digite L para listar los códigos): 8e

El tipo de la partición 6 fue alterado para 8e (Linux LVM)

Comando (m para ayuda): p

Disco /dev/hda: 255 cabezas, 63 sectores, 784 cilindros

Unidades = cilindros de 16065 * 512 bytes

Dispositivo Boot Inicio Fin Bloques Id Sistema

/dev/hda1 1 17 136521 82 Linux swap

/dev/hda2 * 18 272 2048287+ 83 Linux

/dev/hda3 273 400 1028160 83 Linux

/dev/hda4 401 784 3084480 5 Extendida

/dev/hda5 401 655 2048256 8e Linux LVM

/dev/hda6 656 783 1028128+ 8e Linux LVM

/dev/hda7 784 784 8001 82 Linux swap

Comando (m para ayuda): w

¡La tabla de particiones fue alterada!

79

Page 80: Mestre Servidor Servidor Es

Capítulo 2. LVM

Llamando ioctl() para volver a leer la tabla de particiones.

Sincronizando discos.

Si el paquete de LVM no está instalado en su sistema, instálelo con el comando:

# rpm -ivh /mnt/cdrom/conectiva/RPMS/lvm*

Cargue el módulo de LVM:

# insmod lvm-mod

Using /lib/modules/2.2.16-17cl/block/lvm-mod.o

Para crear el archivo/etc/lvmtab vacío, ejecute el comando:

# vgscan

vgscan - reading all physical volumens (this may take a while...)

vgscan - "/etc/lvmtab" and "/etc/lvmtab.d" successfully created

Ahora podemos crear los Volúmenes Físicos utilizando el comandopvcreatepartición de esta forma:

# pvcreate /dev/hda5

pvcreate - reinitializing physical volume

80

Page 81: Mestre Servidor Servidor Es

Capítulo 2. LVM

pvcreate - physical volume "/dev/hda5" successfully created

# pvcreate /dev/hda6

pvcreate - reinitializing physical volume

pvcreate - physical volume "/dev/hda6" successfully created

Podemos agregar estos dos PVs a un Grupo de Volúmenes llamadotestcon elcomandovgcreatenombre_del_VG partición1 partición2 :

# vgcreate test /dev/hda5 /dev/hda6

vgcreate - INFO: using default physical extent size 4 MB

vgcreate - INFO: maximum logical volume size is 255.99 Gigabyte

vgcreate - doing automatic backup of volume group "test"

vgcreate - volume group "test" successfully created and activated

Para crear el archivo/etc/lvmtab , ejecute el comando:

# vgscan

vgscan - reading all physical volumes (this may take a while...)

vgscan - found active volume group "test"

vgscan - "/etc/lvmtab" and "/etc/lvmtab.d" successfully created

vgscan - WARNING: you may not have an actual VGDA backup of your volume group

81

Page 82: Mestre Servidor Servidor Es

Capítulo 2. LVM

En caso que los grupos de Volúmenes estén inactivos, utilice el comandovgchangecon el parámetro-ay para activar todos los VGs disponibles:

# vgchange -ay

vgchange - volume group "test" successfully activated

Ahora tenemos un Grupo de Volúmenes vacío; vamos a visualizarlo con el co-mandovgdisplay -verbose nombre_del_VG :

# vgdisplay -v test

-- Volume group --

VG Name test

VG Access read/write

VG Status available/resizable

VG # 0

MAX LV 256

Cur LV 0

Open LV 0

MAX LV Size 255.99 GB

Max PV 256

Cur PV 2

Act PV 2

VG Size 2.93 GB

PE Size 4 MB

82

Page 83: Mestre Servidor Servidor Es

Capítulo 2. LVM

Total PE 750

Alloc PE / Size 0 / 0

Free PE / Size 750 / 2.93 GB

-- No logical volumes defined in test --

-- Physical volumes --

PV Name (#) /dev/hda5 (1)

PV Status available / allocatable

Total PE / Free PE 500 / 500

PV Name (#) /dev/hda6 (2)

PV Status available / allocatable

Total PE / Free PE 250 / 250

Podemos observar que no hay Volúmenes Lógicos definidos; debemos crear unopara poder usarlo. También podemos ver con este comando el estado de los PVs,sus nombres y el número total de bloques asignados y disponibles. Vamos agenerar un volumen de 500MB llamadolv01en el Grupo de Volúmenestest:

# lvcreate -L 500M -n lv01 test

lvcreate - doing automatic backup of "test"

83

Page 84: Mestre Servidor Servidor Es

Capítulo 2. LVM

lvcreate - logical volume "/dev/teste/lv01" successfully created

Vamos a crear un sistema de archivos tipo ext2, ahora:

# mke2fs /dev/test/lv01

mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

128016 inodes, 512000 blocks

25600 blocks (5.00%) reserved for the super user

First data block=1

63 block groups

8192 blocks per group, 8192 fragments per group

2032 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

Podemos crear un directorio para montar este sistema de archivos y observar su

84

Page 85: Mestre Servidor Servidor Es

Capítulo 2. LVM

tamaño:

# mkdir /mnt/lvm

# mount /dev/test/lv01 /mnt/lvm

# df -h /dev/test/lv01

Filesystem Size Used Avail Use% Mounted on

/dev/test/lv01 484M 13k 459M 0% /mnt/lvm

Vamos a ver nuevamente el Grupo de Volúmenes y observar los cambios:

# vgdisplay -v test

-- Volume group --

VG Name test

VG Access read/write

VG Status available/resizable

VG # 0

MAX LV 256

Cur LV 1

Open LV 1

MAX LV Size 255.99 GB

Max PV 256

Cur PV 2

Act PV 2

85

Page 86: Mestre Servidor Servidor Es

Capítulo 2. LVM

VG Size 2.93 GB

PE Size 4 MB

Total PE 750

Alloc PE / Size 125 / 500 MB

Free PE / Size 625 / 2.44 GB

-- Logical volume --

LV Name /dev/test/lv01

VG Name test

LV Write Access read/write

LV Status available

LV # 1

# open 1

LV Size 500 MB

Current LE 125

Allocated LE 125

Allocation next free

Read ahead sectors 120

Block device 58:0

-- Physical volumes --

86

Page 87: Mestre Servidor Servidor Es

Capítulo 2. LVM

PV Name (#) /dev/hda5 (1)

PV Status available / allocatable

Total PE / Free PE 500 / 375

PV Name (#) /dev/hda6 (2)

PV Status available / allocatable

Total PE / Free PE 250 / 250

Tenemos toda la información del VG en la salida de este comando, su nombre,tipo de acceso, estado atual, parámetros de LV y PV y tamaños totales y asignadosdel PE. El/dev/hda6 está totalmente libre, mientras que el/dev/hda5 está con 125Extensiones Físicas en uso.

Cambiando el tamaño a un VolumenLógico

Examinaremos paso a paso el proceso de cambio de tamaño para tener una visióngeneral de la operación.

87

Page 88: Mestre Servidor Servidor Es

Capítulo 2. LVM

Aumentando un Volumen Lógico

El requisito para esta operación es que haya espacio libre en el Grupo de Volúme-nes. En el caso contrario tendríamos que agregar más PVs. La línea de comandosiguiente hace esta operación:

# lvextend -L+2000M /dev/test/lv01

lvextend - extending logical volume "/dev/test/lv01" to 2.44 GB

lvextend - doing automatic backup of volume group "test"

lvextend - logical volume "/dev/test/lv01" successfully extended

Aumentamos con esta operación el Volumen Lógico/dev/test/lv01 en 2000MB.Vea que aún no hemos cambiado el tamaño del sistema de archivos, por lo tanto:

# df -h /dev/test/lv01

Filesystem Size Used Avail Use% Mounted on

/dev/test/lv01 484M 13k 459M 0% /mnt/lvm

La partición presenta aún su tamaño original.

Aumentando un sistema de archivos

88

Page 89: Mestre Servidor Servidor Es

Capítulo 2. LVM

Primero vamos a desmontar nuestro sistema de archivos:

# umount /mnt/lvm

Antes de cambiar el tamaño fuerce la verificación del sistema de archivos con ele2fsck:

# e2fsck -f /dev/test/lv01

e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/test/lv01: 11/128016 files (0.0% non-contiguous), 16169/512000 blocks

Ahora sí podemos cambiar el tamaño del sistema de archivos con la herramientaresize2fs:

# resize2fs /dev/test/lv01

resize2fs 1.19 (13-Jul-2000)

The filesystem on /dev/test/lv01 is now 2560000 blocks long.

89

Page 90: Mestre Servidor Servidor Es

Capítulo 2. LVM

Podrá también usar el comandoresize_reiserfspara cambiar el tamaño de lossistemas de archivos ReiserFS.

Ya podemos montar nuevamente el sistema de archivos y verificar su nuevotamaño:

# mount /dev/test/lv01 /mnt/lvm/

[root@toy /root]# df -h /dev/test/lv01

Filesystem Size Used Avail Use% Mounted on

/dev/test/lv01 2.4G 13k 2.2G 0% /mnt/lvm

Disminuyendo un sistema de archivos

Vamos ahora a disminuir el sistema de archivos, para que después podamos dis-minuir también el Volumen Lógico.

Primero desmonte el sistema de archivos:

# umount /mnt/lvm/

Fuerce la verificación del sistema de archivos con el comando:

90

Page 91: Mestre Servidor Servidor Es

Capítulo 2. LVM

# e2fsck -f /dev/test/lv01

e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/test/lv01: 11/636016 files (9.1% non-contiguous), 80274/2560000 blocks

Cambie el tamaño del sistema de archivos para 500 mil bloques (500MB aproxi-madamente); por ejemplo:

# resize2fs /dev/test/lv01 500000

resize2fs 1.19 (13-Jul-2000)

The filesystem on /dev/test/lv01 is now 500000 blocks long.

Disminuyendo un Volumen Lógico

De forma similar al comando que fue usado para aumentar el Volumen Lógico,ahora no obstante con un valor negativo, podemos disminuirlo:

91

Page 92: Mestre Servidor Servidor Es

Capítulo 2. LVM

# lvreduce -L-2000M /dev/test/lv01

lvreduce - WARNING: reducing active logical volume to 500 MB

lvreduce - THIS MAY DESTROY YOUR DATA (filesystem etc.)

lvreduce - do you really want to reduce "/dev/test/lv01"? [y/n]: y

lvreduce - doing automatic backup of volume group "test"

lvreduce - logical volume "/dev/test/lv01" successfully reduced

Podemos también especificar un valor absoluto en bloques ,-L50 por ejemplo.Forzamos la verificación del sistema de archivos nuevamente:

# e2fsck -f /dev/test/lv01

e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/test/lv01: 11/123952 files (9.1% non-contiguous), 15657/499713

blocks

Cambiamos nuevamente el tamaño del sistema de archivos para aprovechar almáximo el tamaño del Volumen Lógico:

# resize2fs /dev/test/lv01

92

Page 93: Mestre Servidor Servidor Es

Capítulo 2. LVM

resize2fs 1.19 (13-Jul-2000)

The filesystem on /dev/test/lv01 is now 512000 blocks long.

Montamos otra vez el sistema de archivos y observamos su tamaño reducido:

# mount /dev/test/lv01 /mnt/lvm/

# df -h /dev/test/lv01

Filesystem Size Used Avail Use% Mounted on

/dev/test/lv01 484M 13k 469M 0% /mnt/lvm

Obtenemos un valor un poco distinto de los 500MB originales, por el hecho que500 mil bloques no corresponden exactamente a 500MB. Si fuera necesario tenerun valor exacto, tendríamos que hacer el cálculo con más precisión y especificarlos valores precisos en número de bloques.

Redundancia y rendimiento

Por una cuestión de rendimiento, es posible distribuir datos en discos múltiples.Esto significa que el bloque 1 está en el Volumen Físico A, y el bloque 2 está enel PV B, mientras que el bloque 3 puede estar en el PV A nuevamente. Podemos

93

Page 94: Mestre Servidor Servidor Es

Capítulo 2. LVM

también hacer stripes con más de dos discos.

Esa agrupación deja disponible un ancho de banda más amplio, debido al au-mento de "paralelismo" en el acceso a los datos.

Además de agregar rendimiento, es también posible tener los datos copiados endiscos múltiples. Esto se llama copia en espejo. Actualmente el LVM no tienesoporte nativo, pero hay varias maneras de realizar esta operación.

Ventajas de una stripe

El rendimiento de disco está influenciado por lo menos por tres factores. El másobvio es la velocidad en que se puede leer o escribir en secuencia cada dato en eldisco. Éste es el factor que limita cuando se está leyendo o grabando un archivogrande en un bus SCSI/IDE solamente con un disco.

Ancho de banda disponible para el disco. Si tenemos siete discos en una interfazSCSI, el límite de banda puede causar un impacto más grande que la velocidadde escritura para el propio disco. Con un presupuesto suficiente, podemos pre-venirnos y evitar que este estrechamiento se convierta en un problema.

La latencia es siempre un problema y para reducirla no podemos simplementeaumentar los costos para lograr una latencia menor. La mayoría de los discosaparentemente tienen una latencia cercana a los siete milisegundos. Existe la la-tencia de SCSI, que tiende a ser algo próximo a los 25 milisegundos.

¿Qué significa esto? La latencia combinada en un caso típico será alrededor de 30milisegundos. Podemos entonces efectuar, aproximadamente, solamente 33 ope-

94

Page 95: Mestre Servidor Servidor Es

Capítulo 2. LVM

raciones en disco por segundo. Si queremos capacidad para hacer varias centenasde solicitudes por segundo, y no tenemos un cache muy grande, no podremosrealizar esta tarea.

Si tenemos discos múltiples trabajando en paralelo, podemos tener comandosmúltiples en ejecución simultánea, que fácilmente solucionarán el problema dela latencia. Algunas aplicaciones, como un servidor de noticias muy grande, novan a funcionar sin striping u otras técnicas ágiles de ES8.

Es esto lo que puede hacer el striping. Si el bus tiene este soporte, cada lectura ocada escritura en secuencia podrá ser más rápida.

Desventajas

El striping sin medidas adicionales aumenta las posibilidades de fallas, desde elpunto de vista de losbits. Si falla algo en los discos, todo el Volumen Lógicofallará también. Si concatenamos datos, sólo una parte del sistema de archivos seperderá.

En último caso, podemos utilizar copias en espejo con stripes.

8. IO

95

Page 96: Mestre Servidor Servidor Es

Capítulo 2. LVM

Striping nativo del LVM

La configuración que especifica las stripes se hace cuando creamos el VolumenLógico con el comandolvcreate. Hay dos parámetros que se destacan. Con el-ile decimos al LVM cuántos Volúmenes Físicos se usarán. En realidad el stripingno se hace en una basebit-a-bit, sino en bloques. Con-I podemos especificar la"granulosidad" en kilobytes. Note que este valor debe ser una potencia de 2 (conexponente de 1 a 7) y que el mayor valor de granulosidad posible es 128KB. Porejemplo:

# lvcreate -n slv01 -i 2 -I 64 test -L 200M

lvcreate - doing automatic backup of "test"

lvcreate - logical volume "/dev/test/slv01" successfully created

Creando el sistema de archivos:

# mke2fs /dev/test/slv01

mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

51200 inodes, 204800 blocks

10240 blocks (5.00%) reserved for the super user

First data block=1

96

Page 97: Mestre Servidor Servidor Es

Capítulo 2. LVM

25 block groups

8192 blocks per group, 8192 fragments per group

2048 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

Efectuamos el montaje y verificamos el tamaño:

# mount /dev/test/slv01 /mnt/lvm/

# df -h /dev/test/slv01

Filesystem Size Used Avail Use% Mounted on

/dev/test/slv01 194M 13k 184M 0% /mnt/lvm

Noticias de rendimiento

La ganancia de rendimiento podrá ser muy negativa si colocamosmás de una partición del mismo disco en una stripe - esto debe evi-tarse. El striping con dos discos en una única interfaz IDE también sehace inviable - eso dependerá de si la tecnología IDE resuelve esteproblema.

97

Page 98: Mestre Servidor Servidor Es

Capítulo 2. LVM

Placas madre antiguas pueden tener dos interfaces IDE, pero el usode la segunda puede ser catastrófico, si se dedica a servir una unidadde CDROM lenta. Podemos efectuar benchmarks con varias herra-mientas; la más notable se llama Bonnie++, y puede encontrarseen (http://www.coker.com.au/bonnie++/), se puede usar para medirla eficiencia de los datos.

98

Page 99: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID es el acrónimo para Redundant Array of Inexpensive Disks1. Esta agru-pación se usa como un medio para crear un subsistema de unidad de disco, rápidoy confiable, a través de discos individuales.

A pesar de haber sido creado para mejorar la fiabilidad del sistema, medianteredundancia añadida, puede también llevar a una falsa sensación de seguridad yconfianza si se usa incorrectamente. Esta falsa confianza puede originar grandesdesastres. Particularmente, se usa RAID para proteger fallas en el disco, no paraproteger fallas de energía o errores del operador.

Las fallas de energía, bugs en el desarrollo del núcleo o errores de administrado-res y operadores pueden dañar los datos de una forma irrecuperable.RAID noes un sustituto apropiado como copia de seguridad del sistema. Sepa lo queestá haciendo, haga pruebas, sea conocedor y consciente de todos los detallespresentes en la implementación de RAID.

RAID permite que el computador gane en rendimiento con operaciones de accesoal disco y, al mismo tiempo, rápida recuperación en caso de pérdida de algúndisco. El tipo más común de agrupación de unidades es un sistema de disco duro,configuradas para que el sistema operativo trabaje como si tan sólo hubiese undisco instalado en el computador.

1. Agrupación redundante de discos independientes

99

Page 100: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID vía hardware y vía software

RAID se puede implementar vía hardware, por medio de controladoras especialesde disco o por software, como un módulo del núcleo que está dividido entre lacontroladora de disco, a bajo nivel, y el sistema de archivos por encima de él.

RAID vía hardware

RAID por hardware es siempre una controladora de disco, o sea, un disposi-tivo que puede conectar mediante un cable, los discos. Generalmente viene enforma de tarjeta adaptadora que se puede colocar en un slot ISA/EISA/PCI/S-Bus/MicroChannel. Sin embargo, algunas controladoras RAID vienen en formade caja, que se conecta a través de un cable entre el sistema controlador de discoy los dispositivos de disco.

RAIDs pequeños pueden ajustarse en los espacios para disco del propio com-putador; otros mayores se pueden colocar en un gabinete de almacenamiento consu propio espacio para disco y suministro de energía. El hardware más recientede RAID, usado con la más reciente y rápida CPU, suministrará generalmente elmejor rendimiento total, aunque su precio es significativo. Esto sucede porque lamayoría de las controladoras RAID vienen con procesadores especializados en latarjeta y memoria cache que puede eliminar una cantidad considerable de proce-sos en la CPU. Las controladoras RAID pueden también suministrar altas tasasde transferencia a través del cache de la controladora.

100

Page 101: Mestre Servidor Servidor Es

Capítulo 3. RAID

Un hardware de RAID antiguo puede actuar como un desacelerador, cuando seusa con una CPU más nueva: DSP2 y caché antiguos pueden actuar como unembudo, y este rendimiento puede ser frecuentemente superado por un RAID desoftware puro.

El RAID por hardware generalmente no es compatible entre diferentes tipos, fa-bricantes y modelos: si una controladora RAID falla, es mejor cambiarla porotra controladora del mismo tipo. Para poder usar una controladora de RAID víahardware en Linux, ésta necesita contar con utilidades de configuración y admi-nistración, hechos para este sistema operativo y proporcionados por el fabricantede la controladora.

DPT

Es posible configurar RAID vía hardware SCSI, contando con soporte en Linux ydocumentación de una forma general, a través de adaptadores basados en host dela DPT. La información para la instalación y configuración se puede obtener enel sitio web DPT-RAID (http://www.ram.org/computing/linux/dpt_raid.html).

Controladoras soportadas

Una controladora de RAID vía hardware basada en host y bien soportada es, unacontroladora con un driver para Linux, fabricada por DPT (http://www.dpt.com).

2. Digital Signal Processor

101

Page 102: Mestre Servidor Servidor Es

Capítulo 3. RAID

Sin embargo, existen otras controladoras basadas en host y SCSI que puedenfuncionar en Linux. Esto incluye algunas controladoras fabricadas por Syred(http://www.syred.com), ICP-Vortex ICP-Vortex (http://www.icp-vortex.com) yBusLogic (http://www.mylex.com). Para más información sobre este tema, veala página web Soluciones de RAID para Linux (http://linas.org/linux/raid.html).

Controladoras DPT

Entre las controladoras DPT, esencialmente, todas las controladoras SmartRAIDIV están soportadas.

Controladoras ICP Vortex

ICP Vortex tiene una línea completa de controladoras de agrupaciones de discoscon soporte a Linux. El driver ICP está en el núcleo de Linux desde la versión2.0.31. Todas las distribuciones principales de Linux tienen soporte a las con-troladoras ICP, como controladoras para boot e instalación. El sistema RAID sepuede configurar fácilmente con su propio ROMSETUP, o sea, no es necesarioutilizar otros sistemas operativos para hacer la configuración.

Con la utilidad de control GDTMON, es posible administrar por completo elsistema RAID ICP durante la operación. Es posible también verificar tasas detransferencia, configurar los parámetros de la controladora y de los discos duros,sustituir discos defectuosos, etc. Actualmente están disponibles varios modelos,para los más variados niveles de RAID que se utilicen.

102

Page 103: Mestre Servidor Servidor Es

Capítulo 3. RAID

Tipos de hardware

Tipo controladora

Al tener varias opciones de controladoras, es necesario pensar cuidadosamentesobre lo que se quiere hacer. Dependiendo de ello y del nivel de RAID que sevaya a usar, algunas controladoras pueden ser mejores que otras. AdaptadoresSCSI a SCSI pueden no ser tan buenos como adaptadores basados en host, porejemplo. Michael Neuffer <[email protected] >, el autor del driverEATA-DMA, tiene una buena discusión sobre este tema en su página: LinuxHigh Performance SCSI and RAID (http://www.uni-mainz.de/~neuffer/scsi/).

Tipo encapsulado

El tipo encapsulado está vinculado directamente a la habilidad de intercambio“sobre la marcha” de la unidad y a los sistemas de advertencia, o sea, muestrala indicación de la falla, falla de la unidad y qué tipo de tratamiento recibirá suunidad. Un ejemplo para esto puede ser la refrigeración redundante y el abasteci-miento de energía. Los encapsulamientos suministrados por la DPT, HP, IBM yCompaq trabajan muy bien, aunque su costo es muy alto.

103

Page 104: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID vía software

RAID vía software es una configuración de módulos del núcleo, juntamente conutilidades de administración que implementan RAID puramente por software, yno requiere un hardware extraordinario. Se puede utilizar el sistema de archivosext2fs, DOS-FAT u otro.

Este tipo de RAID se implementa a través de los módulos MD3 del núcleo deLinux y de las herramientas relacionadas.

RAID por software, por tener su naturaleza en el software, tiende a ser muchomás flexible que una solución por hardware. El lado negativo es que en gene-ral requiere más ciclos y potencia de CPU para funcionar bien, cuando se com-para a un sistema de hardware. Presenta una importante característica: trabaja so-bre cualquier dispositivo del bloque, pudiendo ser un disco entero (por ejemplo,/dev/sda ), una partición cualquiera (por ejemplo,/dev/hdb1 ), un dispositivo deloopback (por ejemplo,/dev/loop0 ) o cualquier otro dispositivo de bloque com-patible, para crear un único dispositivo RAID. Esto es un contraste para la mayo-ría de las soluciones de RAID vía hardware, donde cada grupo agrupa unidadesde disco enteras.

Comparando las dos soluciones, el RAID vía hardware es transparente para elsistema operativo, y esto tiende a simplificar la administración. Vía software, haymuchas más opciones de configuración, haciendo con que el asunto se vuelvamás complejo.

3. Multiple Devices

104

Page 105: Mestre Servidor Servidor Es

Capítulo 3. RAID

El controlador de múltiples dispositivos (MD)

Se usa el controlador MD para agrupar una colección de dispositivos de bloque,en un único y gran dispositivo de bloque. Normalmente, un conjunto de disposi-tivos SCSI y IDE se configuran en un único dispositivo MD. Como se encuentraen el núcleo de Linux 2.x, esto se hace a través de dos modos diferentes: Lineal(modo de concatenación) ystriping (modo RAID-0).

Las extensiones del controlador MD implementan RAID-0 (striping), RAID-1(replicando4), RAID-4 y RAID-5 por software. Esto quiere decir que, con MD, noes necesario hardware especial o controladoras de disco para obtener la mayoríade los beneficios de RAID.

La administración de RAID en Linux no es una tarea trivial, y está más volcada haciaadministradores de sistema con experiencia. La teoría de la operación es compleja.Las herramientas del sistema exigen modificaciones en los scripts de arranque, yrecuperarse de una falla en el disco no es una tarea simple, pues es factible deerrores humanos. RAID no es para inexpertos, y cualquier ventaja en búsqueda deconfiabilidad y rendimiento puede ser fácilmente acrecida de complejidad extra.

Seguramente, unidades de disco actualizadas son muy confiables, y controladoras yCPUs avanzadas son muy potentes. Se pueden obtener más fácilmente los nivelesde confiabilidad y rendimiento deseados, comprando hardware de alta calidad ypotencia.

4. mirroring

105

Page 106: Mestre Servidor Servidor Es

Capítulo 3. RAID

Imposible usar RAID vía software con sistema de archivos journalled , pues Linux2.2 no posee ningún mecanismo para pinning de buffers que están en la memoria.

Niveles de RAID

Las distintas maneras de combinar los discos en uno sólo, llamados deniveles deRAID 5, pueden suministrar una gran eficacia de almacenamiento o sencillamentesimetría, o pueden alterar el rendimiento de tiempo de acceso (latencia). Inclusopueden suministrar el rendimiento de la tasa de transferencia de datos para lecturay para escritura, mientras continúa manteniendo la redundancia. Un vez más, estoes ideal para prevenir fallas.

Los distintos niveles de RAID presentan distintos rendimientos, redundancia, ca-pacidad de almacenamiento, confiabilidad y características de costo. La mayoría,aunque no todos los niveles de RAID, ofrecen redundancia a falla de disco. Delos que ofrecen redundancia, RAID-1 y RAID-5 son los más populares. RAID-1ofrece mejor rendimiento, mientras que RAID-5 proporciona un uso más eficaz

5. RAID levels

106

Page 107: Mestre Servidor Servidor Es

Capítulo 3. RAID

del espacio disponible para el almacenamiento de los datos.

De cualquier modo, el ajuste de rendimiento es un asunto totalmente distinto. Elrendimiento depende de una gran variedad de factores como el tipo de aplicación,tamaños de los discos, bloques y archivos.

Existe una variedad de tipos diferentes e implementaciones de RAID, cada unacon sus ventajas y desventajas. Por ejemplo, para poner una copia de los mismosdatos en dos discos (llamado de duplicación de disco6 o RAID nivel 1), podemosagregar rendimiento de lectura, leyendo alternadamente cada disco de la réplica.Promedialmente, cada disco se usa menos, pues se utiliza solamente en la mitadde la lectura (para dos discos), o un tercio (para 3 discos), etc.. Además, unaréplica puede mejorar la confiabilidad: si un disco falla, el(los) otro(s) disco(s)tienen una copia de datos.

A continuación se describen los distintos niveles de RAID, en el contexto deimplementación de RAID por software en Linux:

RAID-lineal

Es una simple concatenación de particiones para crear una gran partición virtual.Esto es posible si hay varias unidades pequeñas, y se quiere crear una única ygran partición. Esta concatenación no ofrece redundancia, y de hecho disminuyela confiabilidad total: si cualquier disco falla, la partición combinada fallará.

6. disk mirroring

107

Page 108: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID-0

La gran mayoría de los niveles de RAID involucra una técnica de almacenamientollamada de segmentación de datos (data stripping). La implantación más básicade esa técnica se conoce como RAID-0 y es soportada por muchos fabricantes.Sin embargo, por el hecho que este nivel de agrupación no es tolerante a fallas,RAID-O no es verdaderamente RAID, al menos que se use en conjunto con otrosniveles de RAID.

Figura 3-1. RAID-0

Segmentación (stripping) es un método de registro de datos sobre el medio físicode una agrupación, que sirve para crear un gran dispositivo de almacenamiento.Los datos son subdivididos en segmentos consecutivos ostripes, escritos en ordeno a través de cada uno de los discos de una agrupación. Cada segmento tiene untamaño definido en bloques.

108

Page 109: Mestre Servidor Servidor Es

Capítulo 3. RAID

Por ejemplo, sabiendo que el tamaño de cada segmento está definido en 64 kbytes,y la agrupación de discos contiene 2 discos, cuando se graba un archivo de 128kbytes, los primeros 64 kbytes se grabarán en el primer disco, los últimos 64kbytes irán para el segundo disco, y como normalmente eso se hace en paralelo,aumenta considerablemente el rendimiento.

Una agrupación de ese tipo puede brindar un rendimiento mejor, cuando se com-para a un disco individual, si se ajusta el tamaño de cada segmento de acuerdocon la aplicación que utilizará la agrupación:

• En un ambiente con uso intensivo de E/S o en un ambiente de base de datos dondemúltiples solicitudes competentes son hechas para pequeños registros de datos, tienepreferencia un segmento de tamaño grande. Si el tamaño de segmento para un disco esgrande o suficiente para contener un registro entero, los discos de la agrupación puedenresponder independientemente a las solicitudes simultáneas de datos.

• En un ambiente donde se almacenan grandes registros de datos, segmentos de pequeñotamaño son más apropiados. Si un determinado registro de datos se extiende a través devarios discos de la agrupación, se puede leer el contenido del registro paralelamente,aumentando el rendimiento total del sistema.

109

Page 110: Mestre Servidor Servidor Es

Capítulo 3. RAID

Figura 3-2. Stripping

Agrupaciones RAID-0 pueden ofrecer alto rendimiento de escritura si se les com-para a verdaderos niveles de RAID pues no presentan sobrecarga7 asociada concálculos de paridad o con técnicas de recuperación de datos. Esta misma faltade previsión para reconstrucción de datos perdidos indica que ese tipo de agru-pación debe ser restricto al almacenamiento de datos no críticos y combinado coneficientes programas que hacen copia de seguridad.

7. overhead

110

Page 111: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID-1

La forma más sencilla de agrupación tolerante a fallas es el RAID-1. Basado en elconcepto de duplicación (mirroring), esta agrupación consiste en varios grupos dedatos almacenados en 2 ó más dispositivos. A pesar de que muchas implementa-ciones de RAID-1 involucran dos grupos de datos (de ahí el término réplica -mirror), se pueden crear tres o más grupos si se desea una alta confiabilidad.

Si ocurre una falla en un disco de una agrupación RAID-1, lecturas y grabacionessubsecuentes son direccionadas a el(los) disco(s) aún en operación. Los datosentonces son reconstruidos en un disco de reposición (spare disk) usando datosdel (de los) disco(s) supervivientes. El proceso de reconstrucción de la réplicatiene algún impacto sobre el rendimiento de E/S de la réplica, pues todos losdatos deberán ser leídos y copiados del (de los) disco(s) intacto(s) para el discode reposición (spare disk).

Figura 3-3. RAID-1

111

Page 112: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID-1 ofrece alta disponibilidad de datos, porque como mínimo se almacenan2 grupos completos. Conectando los discos primarios y los discos duplicados encontroladoras separadas, se puede aumentar la tolerancia a fallas por la elimi-nación de la controladora como punto único de falla.

Entre los no híbridos, este nivel tiene el mayor costo de almacenamiento porquerequiere capacidad suficiente para almacenar como mínimo 2 grupos de datos.Éste está mejor adaptado para servir pequeñas bases de datos o sistemas de pe-queña escala que necesiten confiabilidad.

RAID-2 y RAID-3

Raramente se usan, y en algún momento quedaron obsoletos por las nuevas tec-nologías de disco. RAID-2 es similar al RAID-4, pero almacena informaciónECC (error correcting code), que es la información de control de errores, en lu-gar de la paridad. Esto ofreció una pequeña protección adicional, visto que todaslas unidades de disco más nuevas incorporaron ECC internamente.

112

Page 113: Mestre Servidor Servidor Es

Capítulo 3. RAID

Figura 3-4. RAID-2

RAID-2 puede ofrecer más consistencia de los datos si ocurre un corte de energíadurante la escritura. Baterías de seguridad y apagar correctamente el computador,pueden ofrecer los mismos beneficios. RAID-3 es semejante al RAID-4, exceptoque usa el menor tamaño posible para lastripe. Como resultado, cualquier pedidode lectura invocará todos los discos, haciendo las solicitudes de sobreposición deE/S difíciles o imposibles.

Para evitar el retraso debido a la latencia rotatoria, el RAID-3 exige que todoslos ejes de las unidades de disco estén sincronizados. La mayoría de las unidadesde disco más recientes no poseen la habilidad de sincronización del eje, o sison capaces de esto, faltan conectores necesarios, cables y documentación delfabricante. Ni RAID-2 ni RAID-3 son soportados por los drivers de RAID porsoftware en Linux.

113

Page 114: Mestre Servidor Servidor Es

Capítulo 3. RAID

Figura 3-5. RAID-3

RAID-4

Éste es un tipo de agrupación segmentado, pero incorpora un método de pro-tección de datos más práctico. Él usa informaciones sobre paridad para la recu-peración de datos y los almacena en disco dedicado. Los demás discos, usadospara datos, se configuran para usar grandes (tamaño medido en bloques) segmen-tos de datos, suficientemente grandes para alojar un registro entero. Esto permitelecturas independientes de la información almacenada, haciendo de RAID-4 unaagrupación perfectamente ajustada para ambientes transaccionales que requierenmuchas lecturas pequeñas y simultáneas.

114

Page 115: Mestre Servidor Servidor Es

Capítulo 3. RAID

Agrupaciones RAID-4 y otras agrupaciones que utilizan paridad hacen uso deun proceso de recuperación de datos más amplia que agrupaciones duplicadas,como RAID-1. La funcióno exclusivo(XOR) de los datos e informaciones sobreparidad de los discos restantes se computa para reconstruir los datos del disco quefalló. Por el hecho de que todos los datos sobre paridad se escriban en un únicodisco, ese disco funciona como un embudo durante las operaciones de escritura,reduciendo el rendimiento durante estas operaciones (write bottleneck).

Figura 3-6. RAID-4

Siempre que se escriben los datos en la agrupación, normalmente se lee informa-ción sobre paridad y ella siempre se debe escribir para el disco de paridad antesde realizar la próxima solicitud de escritura. En consecuencia de estas dos ope-raciones de E/S, el disco de paridad es el factor limitativo del rendimiento totalde la agrupación. Por requerir solamente un disco adicional para protección de

115

Page 116: Mestre Servidor Servidor Es

Capítulo 3. RAID

datos, las agrupaciones RAID-4 son más baratas que las agrupaciones RAID-1.

RAID-5

Este tipo de RAID es muy usado, funciona en forma similar al RAID 4, perosupera algunos de los problemas más comunes sufridos por dicho tipo. La infor-mación sobre paridad para los datos de la agrupación son distribuidas a lo largo detodos los discos de la agrupación, en lugar de almacenarlas en un disco dedicado.

Esa idea de paridad distribuida reduce el embudo de escritura (write bottleneck)que era el único disco de un RAID-4, porque ahora las escrituras simultáneas nisiempre requieren acceso a la información sobre paridad en un disco dedicado.Sin embargo, el rendimiento de la escritura general aún sufre en consecuenciadel procesamiento adicional causado por la lectura, recálculo y actualización dela información sobre paridad.

116

Page 117: Mestre Servidor Servidor Es

Capítulo 3. RAID

Figura 3-7. RAID-5

Para aumentar el rendimiento de lectura de una agrupación RAID-5, se puedeoptimizar el tamaño de cada segmento en que los datos están divididos para laaplicación que esté usando la agrupación. El rendimiento general de una agru-pación RAID-5 es equivalente al de una RAID-4, excepto en el caso de lecturassecuenciales, que reducen la eficacia de los algoritmos de lectura en consecuenciade la distribución de la información sobre paridad.

Como en otras agrupaciones basadas en paridad, la recuperación de datos en unaagrupación RAID-5 se hace calculando la función XOR de las informaciones delos discos restantes de la agrupación. En razón de que la información sobre pari-dad se distribuye a lo largo de todos los discos, la pérdida de cualquier disco re-duce la disponibilidad de ambos datos e información sobre paridad, hasta la recu-peración del disco que ha fallado. Esto puede causar degradación del rendimiento

117

Page 118: Mestre Servidor Servidor Es

Capítulo 3. RAID

de lectura y de escritura.

Tipos híbridos

Para suplir las deficiencias de un nivel u otro de RAID, es posible usar un nivelde RAID sobre otro, aprovechando por ejemplo, el excelente rendimiento de undeterminado nivel y la confiabilidad de otro. Todo esto, obviamente, pagándoseel precio de una mayor cantidad de material.

Un ejemplo es el RAID-10. Como ya dice su nombre, es la combinación de discosduplicados (RAID-1) con la segmentación de datos (data stripping) (RAID-0).

El método de creación de una agrupación RAID-10 es diversificado. En una im-plementación RAID-0+1, los datos son segmentados a través de grupos de discosduplicados, o sea, los datos primero son segmentados y para cada segmento sehace una réplica. Ya en un RAID-1+0, los datos son primeramente duplicados, ypara cada réplica existe una segmentación sobre varios discos.

RAID-10 ofrece las ventajas de la transferencia de datos rápida de una agrupaciónduplicada, y las características de accesibilidad de las agrupaciones duplicadas.El rendimiento del sistema durante la reconstrucción de un disco es mejor que enlas agrupaciones basadas en paridad, pues los datos son solamente copiados deldispositivo superviviente.

RAID-50 es una agrupación híbrida que usa las técnicas de RAID con paridaden conjunción con la segmentación de datos. Una agrupación RAID-50, es esen-

118

Page 119: Mestre Servidor Servidor Es

Capítulo 3. RAID

cialmente una agrupación con la información segmentada a través de dos o másagrupaciones RAID-5.

Dependiendo del tamaño de cada segmento establecido durante la configuraciónde la agrupación, estas agrupaciones híbridas pueden brindar los beneficios deacceso paralelo de las agrupaciones con paridad (alta velocidad en la transferen-cia de datos) o de acceso independiente de las agrupaciones con paridad (grancantidad). Como en otras agrupaciones RAID con paridad, la reconstrucción deun disco fallado genera un impacto en el rendimiento del programa usando laagrupación.

Rendimiento de RAID

Utilizando RAID por software (MD), la posibilidad de aumentar la velocidady evaluar el rendimiento depende mucho de la configuración que se está usando.Para ello, en esta sección, se hace un análisis de algunas de estas configuraciones.

Rendimiento en el MD RAID-0 y en el MDRAID-lineal

119

Page 120: Mestre Servidor Servidor Es

Capítulo 3. RAID

Si se carga el sistema con muchas operaciones de E/S (entrada y salida), es-tadísticamente, algunas operaciones van para un disco, y algunas para los demásdiscos. Así, el rendimiento va a mejorar en un único disco grande. La mejora realdepende mucho de los datos reales, del tamaño de lasbandas, y de otros factores.En un sistema con una baja utilización de E/S, el rendimiento es igual al de unúnico disco.

Rendimiento de lectura en el MD RAID-1

El MD implementa balanceo de lectura, es decir, el código RAID-1 va a alternarentre cada uno (dos o más) de los discos en la réplica, haciendo lecturas alternadaspara cada uno. En una situación de baja E/S, esto no podrá alterar el rendimientototal: será necesario esperar por un disco para completar la lectura. Sin embargo,con dos discos en un ambiente de alta E/S, esto podría aumentar dos veces elrendimiento de lectura, desde que se puedan emitir las lecturas para cada uno delos discos en paralelo. Para N discos en la réplica, la mejoría del rendimientopuede ser de 2N.

120

Page 121: Mestre Servidor Servidor Es

Capítulo 3. RAID

Rendimiento de escritura en el MD RAID-1

Es recomendable esperar que ocurra la escritura para todos los discos en la ré-plica. Esto porque se debe escribir una copia de los datos para cada uno de losdiscos de réplica. Así, el rendimiento será aproximadamente igual al rendimientode escritura para un único disco.

Rendimiento de lectura en el MD RAID-4/5

Estadísticamente, un bloque puede estar en cualquier unidad de disco, y así elrendimiento de lectura del RAID-4/5 es semejante con el del RAID-0. Esto vaa depender de los datos, del tamaño de labanday de la aplicación. No será tanbueno como el rendimiento de lectura de una agrupación duplicada.

Rendimiento de escritura en el MD RAID-4/5

En general será considerablemente más lento que el rendimiento para un único

121

Page 122: Mestre Servidor Servidor Es

Capítulo 3. RAID

disco. Esto porque se debe escribir la paridad en un disco, así como los datos enotro. Sin embargo, para procesar la nueva paridad, es necesario leer primeramentela paridad y los datos antiguos. Se deben comparar todos los datos antiguos, losnuevos datos y la paridad antigua al mismo tiempo, a través de la operación lógicaXOR, para determinar la nueva paridad: esto requiere considerables ciclos deCPU además de los numerosos accesos al disco.

Comparación de los niveles de RAID

Podemos hacer una comparación entre los varios niveles de RAID, de acuerdocon el rendimiento (lectura, grabación y reconstrucción), disponibilidad de datosy el número mínimo de unidades requeridas. Observe en la tabla la descripciónde estos atributos para comparar los niveles de RAID.

Tabla 3-1. Atributos de comparación de los varios niveles de RAID

Nivel deRAID

Disponibili-dad de losdatos

Rendimientode lectura

Rendimientode grabación

Rendimientode recons-trucción

Númeromínimo deunidadesrequeridas

RAID 0 Ninguna Muy bueno Muy bueno Nodisponible

N

122

Page 123: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID 1 Excelente Muy bueno Bueno Bueno 2N

RAID 4 Buena E/Ssecuencial:buena E/Stransac-cional: buena

E/Ssecuencial:muy buenaE/S transac-cional: mala

SatisfactoriaN + 1 (Ncomomínimo 2)

RAID 5 Buena E/Ssecuencial:buena E/Stransac-cional: muybuena

Satisfactoria(a menos quese use elcachewrite-back)

Mala N + 1 (N porlo menos 2)

RAID 10 Excelente Muy buena SatisfactoriaBuena 2N

RAID 50 Excelente Muy buena SatisfactoriaSatisfactoriaN+2

El número N es el requisito de espacio para almacenamiento de datos del nivel deRAID. Ejemplo: si el requisito mínimo es tener 6GB de espacio para una agrupaciónRAID-5, se debe entonces tener al menos 2 discos de 3GB cada uno y otro discode 3GB, siendo 6GB (2 discos) + 3GB (1 disco).

123

Page 124: Mestre Servidor Servidor Es

Capítulo 3. RAID

Configuración de RAID

Antes de configurar cualquier nivel de RAID, siga estos procedimientos:

• Instale las herramientas para RAID:

# rpm -ivh raidtools*

raidtools ############################## #

• Observe el contenido del archivo/proc/mdstat :

# cat /proc/mdstat

Personalities : read_ahead not set

unused devices: <none > #

Este archivo se verificará siempre para inspeccionar la configuración de RAID.Observe que ningún dispositivo de RAID está actualmente activo.

• Cree las particiones que desea incluir en la configuración de RAID, por ejemplo:

# fdisk /dev/hda

Comando (teclee m para obtener ayuda): n

124

Page 125: Mestre Servidor Servidor Es

Capítulo 3. RAID

• El próximo paso dependerá del nivel de RAID que se eligió; veremos a continuacióncada una de estas configuraciones.

Modo lineal

Si hay dos o más particiones que no son necesariamente del mismo tamaño. Sepodrá concatenar una con la otra.

Cree el archivo/etc/raidtab para describir su configuración. Una raidtab parados discos en modo lineal, tendrá una apariencia semejante a ésta:

raiddev /dev/md0

raid-level lineal

nr-raid-disks 2

chunk-size 32

persistent-superblock 1

device /dev/hda6

raid-disk 0

device /dev/hda7

raid-disk 1

125

Page 126: Mestre Servidor Servidor Es

Capítulo 3. RAID

En los ejemplos utilizaremos dos o tres particiones de aproximadamente 1GB,siendo ellashda5 , hda6 y hda7 , dependiendo de la configuración de RAID. Nose soportan discos de reserva aquí. Si un disco falla, la agrupación va a fallarjuntamente con él. No hay información que pueda ponerse en un disco de reserva.

Para crear la agrupación ejecute el comando:

# mkraid /dev/md0

handling MD device /dev/md0

analyzing super-block

disk 0: /dev/hda6, 1028128kB, raid superblock at 1028032kB

disk 1: /dev/hda7, 1028128kB, raid superblock at 1028032kB #

Esto va a iniciar la agrupación, escribir los bloques persistentes y dejar lista parael uso. Verificando el archivo/proc/mdstat será posible ver que la agrupación estáfuncionando:

# cat /proc/mdstat

Personalities : [linear]

read_ahead 1024 sectors

md0 : active linear hda7[1] hda6[0] 2056064 blocks 32k rounding

unused devices: <none >

#

Ahora ya es posible crear un sistema de archivos, como si fuera en un dispositivo

126

Page 127: Mestre Servidor Servidor Es

Capítulo 3. RAID

normal:

# mke2fs /dev/md0

mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

257024 inodes, 514016 blocks

25700 blocks (5.00%) reserved for the super user

First data block=0

16 block groups

32768 blocks per group, 32768 fragments per group

16064 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

Crear un punto de montaje y montar el dispositivo:

# mkdir /mnt/md0

127

Page 128: Mestre Servidor Servidor Es

Capítulo 3. RAID

# mount /dev/md0 /mnt/md0

# df

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/md0 2023760 20 1920940 0% /mnt/md0 #

Observe que el tamaño total es de aproximadamente 2GB, por haber hecho unaconcatenación de dos unidades, cada una con aproximadamente 1GB.

RAID-0

Teniendo dos o más dispositivos aproximadamente del mismo tamaño, es posiblecombinar sus capacidades de almacenamiento, así como su rendimiento, a travésdel acceso en paralelo.

Modifique o cree el archivo/etc/raidtab para describir su configuración. Observeel ejemplo:

raiddev /dev/md0

raid-level 0

nr-raid-disks 2

persistent-superblock 1

chunk-size 4

device /dev/hda6

128

Page 129: Mestre Servidor Servidor Es

Capítulo 3. RAID

raid-disk 0

device /dev/hda7

raid-disk 1

Como en el modo lineal no hay soporte para discos reservas. RAID-0 no ofreceredundancia: si un disco falla todo el conjunto va a fallar.

Si ya existe un dispositivo de RAID, ejecute el comando para interrumpirlo yforzar la construcción. Cree el dispositivo de RAID a través de los comandos:

# raidstop /dev/md0

# mkraid -force /dev/md0

DESTROYING the contents of /dev/md0 in 5 seconds, Ctrl-C if unsure!

handling MD device /dev/md0

analyzing super-block

disk 0: /dev/hda6, 1028128kB, raid superblock at 1028032kB

disk 1: /dev/hda7, 1028128kB, raid superblock at 1028032kB

#

Esto iniciará los superbloques y el dispositivo raid. Observando el archivo/proc/mdstat

tenemos:

# cat /proc/mdstat

Personalities : [raid0]

read_ahead 1024 sectors

129

Page 130: Mestre Servidor Servidor Es

Capítulo 3. RAID

md0 : active raid0 hda7[1] hda6[0] 2056064 blocks 4k chunks

unused devices: <none >

#

Ahora el dispositivo/dev/md0 ya está listo. Se puede crear un sistema de archivosque será montado para uso.

RAID-1

Con dos dispositivos aproximadamente del mismo tamaño, es posible hacer conque uno sea réplica del otro. Si existen más dispositivos, estos podrán usarsecomo un sistema de discos extras; esto se hará automáticamente por una parte dela réplica si uno de los dispositivos operantes presenta fallas.

Para esto, configure el archivo/etc/raidtab de la siguiente manera:

raiddev /dev/md0

raid-level 1

nr-raid-disks 2

nr-spare-disks 0

chunk-size 4

persistent-superblock 1

device /dev/hda6

130

Page 131: Mestre Servidor Servidor Es

Capítulo 3. RAID

raid-disk 0

device /dev/hda7

raid-disk 1

Si se usan discos extras, añada al final de la especificación del dispositivo losiguiente:

device /dev/hdb1

spare-disk 0

Donde/dev/hdb1 es un disco extra. Configure el número de entrada de los discosextras, siempre en forma proporcional.

Con todo listo para iniciar el RAID, se podrá construir la réplica. Entonces, losíndices (no en el caso de dispositivos sin formato) de los dos dispositivos sesincronizarán. Ejecute:

# mkraid /dev/md0

En este momento vea el comando que hará la iniciación de la réplica. Observeahora el archivo/proc/mdstat ; le va a mostrar que el dispositivo/dev/md0 se ini-ció, que se empezó a construir la réplica, y cuánto falta para que se complete lareconstrucción:

# cat /proc/mdstat

Personalities : [raid1]

131

Page 132: Mestre Servidor Servidor Es

Capítulo 3. RAID

read_ahead 1024 sectors

md0 : active raid1 hda7[1] hda6[0] 1028032 blocks [2/2]

[UU] resync=63% finish=2.5min

unused devices: <none > #

El proceso de reconstrucción es transparente: se podrán usar normalmente losdispositivos durante la ejecución de este proceso. Es posible incluso darle formatoal dispositivo mientras se está ejecutando la reconstrucción. También se podránmontar y desmontar las unidades en este período (solamente si un disco falla estaacción será perjudicada).

Ahora ya es posible montar y visualizar el tamaño del dispositivo final:

# mount /dev/md0 /mnt/md0

# df

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/md0 1011928 20 960504 0% /mnt/md0

#

Observe que el tamaño del dispositivo corresponde al tamaño de un único dispo-sitivo, por tratarse de una réplica de discos.

132

Page 133: Mestre Servidor Servidor Es

Capítulo 3. RAID

RAID-4

Con tres o más dispositivos aproximadamente del mismo tamaño, siendo unode ellos significativamente más rápido que los demás, es posible combinarlos enun único dispositivo grande, manteniendo aún la información de redundancia.Eventualmente se podrán poner algunos dispositivos para que sean usados comodiscos extras.

Un ejemplo de configuración para el archivo/etc/raidtab :

raiddev /dev/md0

raid-level 4

nr-raid-disks 3

nr-spare-disks 0

persistent-superblock 1

chunk-size 32

device dev/hda5

raid-disk 0

device /dev/hda6

raid-disk 1

device /dev/hda7

raid-disk 2

En el caso de haber discos extras, será necesario configurar de la misma manera,siguiendo las especificaciones del disco raid. Vea el ejemplo:

133

Page 134: Mestre Servidor Servidor Es

Capítulo 3. RAID

device /dev/hdb1

spare-disk 0

Se crea el disco extra de forma similar en todos los niveles de RAID. Inicialice elRAID-4 con el comando:

# mkraid /dev/md0

handling MD device /dev/md0

analyzing super-block

disk 0: /dev/hda5, 1028128kB, raid superblock at 1028032kB

disk 1: /dev/hda6, 1028128kB, raid superblock at 1028032kB

disk 2: /dev/hda7, 1028128kB, raid superblock at 1028032kB #

Es posible acompañar la marcha de la construcción del RAID a través del archivo/proc/mdstat :

# cat /proc/mdstat

Personalities : [raid5]

read_ahead 1024 sectors

md0 : active raid5 hda7[2] hda6[1] hda5[0] 2056064 blocks level 4,

32k chunk, algorithm 0 [3/3] [UUU] resync=59% finish=4.6min

unused devices: <none >

#

134

Page 135: Mestre Servidor Servidor Es

Capítulo 3. RAID

Para dar formato al RAID-4, use las siguientes opciones especiales (-R stride=8 )delmke2fs:

# mke2fs -b 4096 -R stride=8 /dev/md0

mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

257024 inodes, 514016 blocks

25700 blocks (5.00%) reserved for the super user

First data block=0

16 block groups 32768 blocks per group,

32768 fragments per group 16064 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

Writing inode tables: done

Writing superblocks and filesystem accounting information: done #

Basta montar el RAID para uso. El tamaño total será de N-1, o sea, el tamañototal de todos los dispositivos menos uno, reservado para la paridad:

# df

135

Page 136: Mestre Servidor Servidor Es

Capítulo 3. RAID

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/md0 2023760 20 1920940 0% /mnt/md0 #

Perciba que el RAID-4 carga el MD del RAID-5, porque son de niveles similaresde RAID.

RAID-5

Similar al RAID-4, pero se implementa a través de tres o más dispositivos detamaño aproximado, combinados en un dispositivo mayor. Aún mantiene un gradode redundancia para proteger los datos. Se pueden usar discos extras, tomandoparte de otros discos automáticamente en el caso de falla.

Si se está usando N dispositivos donde el menor tiene un tamaño S, el tamañototal de la agrupación será (N-1)*S. Esta pérdida de espacio se utiliza para laparidad (redundancia) de la información. Así, si algún disco falla, todos los datosseguirán intactos. Sin embargo, si ocurren fallas en dos discos, todos los datos seperderán.

Configure el archivo/etc/raidtab en forma similar a ésta:

raiddev /dev/md0

raid-level 5

nr-raid-disks 3

136

Page 137: Mestre Servidor Servidor Es

Capítulo 3. RAID

nr-spare-disks 0

persistent-superblock 1

parity-algorithm left-symmetric c

chunk-size 32

device /dev/hda5

raid-disk 0

device /dev/hda6

raid-disk 1

device /dev/hda7

raid-disk 2

Si hay algún disco extra, es posible insertarlo de una manera similar, siguiendolas especificaciones de disco raid. Por ejemplo:

device /dev/hdb1

spare-disk 0

Un tamaño del pedazo (chunk size) de 32 KB es un valor normal para sistemasde archivos con una finalidad genérica de este tamaño. La agrupación en la queel raidtab anterior se usa es de (n-1)*s = (3-1)*2 = 2 GB de dispositivo. Estoprevé un sistema de archivos ext2 con un bloque de 4 KB de tamaño. Se podráaumentar, juntamente con la agrupación, el tamaño del pedazo y el tamaño delbloque del sistema de archivos si el sistema de archivos es mucho más grande, osi se quieren usar archivos muy grandes.

137

Page 138: Mestre Servidor Servidor Es

Capítulo 3. RAID

Ejecute el comandomkraid para el dispositivo/dev/md0 . Esto empezará la re-construcción de la agrupación. Observe el archivo/proc/mdstat para poder hacerun seguimiento del proceso:

# cat /proc/mdstat

Personalities : [raid5]

read_ahead 1024 sectors

md0 : active raid5 hda7[2] hda6[1] hda5[0] 2056064 blocks level 5,

32k chunk, algorithm 2 [3/3] [UUU] resync=29% finish=11.4min

unused devices: <none >

#

Si la creación del dispositivo tiene éxito, la reconstrucción se inicia. La agru-pación no estará consistente hasta que haya sido completada la fase de reconstruc-ción. Sin embargo, la agrupación es totalmente funcional (excepto para cambio dedispositivos que fallan en el proceso); se puede dar formato y usar la agrupaciónmientras ocurre la reconstrucción de éste.

Dele formato con el comandomke2fs -b 4096 -R stride=8 /dev/md0. Cuandohaya un dispositivo RAID ejecutando, es posible parar o reiniciar usando loscomandos:raidstop /dev/md0ó raidstart /dev/md0.

Más información y detalles del proceso de creación de RAID en RAID Solutionsfor Linux (http://linas.org/linux/raid.html).

138

Page 139: Mestre Servidor Servidor Es

Capítulo 3. RAID

Uso de RAID para obtener altadisponibilidad

Alta disponibilidad es difícil y cara. Cuanto más arduamente se intenta hacer unsistema tolerante a fallas, más éste pasa a ser dispendioso y difícil de implemen-tar. Las siguientes sugerencias, consejos, ideas y suposiciones podrán ayudar conrespecto a este asunto:

• Los discos IDE pueden fallar de tal manera que el disco que ha fallado en un cable delIDE pueda también impedir que un disco bueno, en el mismo cable, conteste, dando asíuna impresión de que los dos discos fallaron. A pesar que RAID no ofrece proteccióncontra fallas en dos discos, se debe colocar sólo un disco en un cable IDE, o si hay dosdiscos, deben pertenecer a configuraciones diferentes de RAID.

• Discos SCSI pueden fallar de tal manera que el disco que falle en una cadena puedeimpedir el acceso a todos los demás dispositivos de la serie. El modo de falla afectala posición del cabezal de lectura de dispositivo común (compartido); a pesar de estarcompartido, ninguna arbitrariedad puede ocurrir hasta que la posición esté desconec-tada. Así, dos discos SCSI en la misma cadena no deben pertenecer a la misma agru-pación RAID.

• Observaciones semejantes son aplicadas a las controladoras de disco. No sobrecarguelos canales en una controladora; utilice controladoras múltiples.

• No utilice el mismo tipo o número de modelo para todos los discos. Es frecuente en

139

Page 140: Mestre Servidor Servidor Es

Capítulo 3. RAID

variaciones eléctricas bruscas perder dos o más discos, incluso con el uso de supresores- que todavía no son perfectos. El calor y la ventilación pobre del compartimiento dedisco son otras causas de las pérdidas de disco. Discos baratos generalmente funcionancalientes. Utilizar diferentes tipos de discos y controladoras disminuye la probabilidadde dañar un disco (calor, choque físico, vibración, choque eléctrico).

• Para proteger contra fallas de controladora o de CPU, se puede compartir un discoSCSI que tenga cables pareados, o sea, conectado a dos computadores. Un computadorva a montar el sistema de archivos para lectura y escritura, mientras el otro va a montarel sistema de archivos solamente para lectura, y actuar como un computador reservaactivo. Cuando el computador reserva es capaz de determinar que el maestro falló(por ejemplo, a través de un adaptadorwatchdog), cortará la energía del computadormaestro (para estar seguro de que éste está realmente apagado), y entonces hacer laverificación con el fsck y remontar el sistema para lectura y escritura.

• Utilice siempre unno-break, y apague correctamente los computadores. Aunque apa-gar incorrectamente el computador no pueda dañar los discos, ejecutar elckraid encualquier agrupación pequeña es muy lento. Se debe evitar la ejecución delckraidsiempre que sea posible, o puede colocar un hack en el núcleo y empezar la recons-trucción del código verificando errores.

• Cables SCSI son conocidos por ser muy vulnerables a fallas, y pueden causar todo tipode problemas. Utilice el cableado de más alta calidad que se pueda encontrar. Utilicepor ejemplo elbubble-wrappara estar seguro de que los cables cinta no estarán muycerca uno del otro y delcross-talk. Observe rigurosamente las restricciones sobre lalongitud del cable.

• Vea en SSI (arquitectura de almacenamiento serie). Aunque sea muy caro, parece ser

140

Page 141: Mestre Servidor Servidor Es

Capítulo 3. RAID

menos vulnerable a los tipos de fallas que el SCSI presenta.

141

Page 142: Mestre Servidor Servidor Es

Capítulo 3. RAID

142

Page 143: Mestre Servidor Servidor Es

Capítulo 4. LDAP

En este capítulo se presentan informaciones sobre instalación, configuración, eje-cución y administración de un servidor LDAP (Lightweight Directory AccessProtocol) en un computador con Linux. Aprenderá cómo recuperar informaciónde suDirectorio, utilizando los clientes y utilidades de LDAP. Trataremos decomomigrar su base de usuarios para una base de datos LDAP, cuál informaciónseráimportada, de qué modo efectuar la autenticación y acceso remoto a travésde LDAP. Mostraremos también cómo usar el Libro de direcciones de NetscapeCommunicator, envío de e-mails y la navegación a través de URLs, haciendo usode los recursos de LDAP.

La versión 2.0 de OpenLDAP está en el CD 2 de la distribución de Conectiva Linux.Por no estar implementado totalmente y con la documentación aún incompleta, nodocumentaremos esta versión. Apenas mostraremos las diferencias principales en-tre la versión 1.0 (que trataremos en este capítulo) y la nueva versión 2.0. Consultemás información en 1 OpenLDAP 2.0 Administrator’s Guide.

Introducción y conceptos1. http://www.openldap.org/doc/admin/

143

Page 144: Mestre Servidor Servidor Es

Capítulo 4. LDAP

LDAP es un protocolo (ejecutado sobre el TCP/IP) cliente-servidor, utilizadopara acceder a un servicio de Directorio. Fue inicialmente usado como una in-terfaz para el X.500, pero también se puede usar con autonomía y con otros tiposde servidores de Directorio. Actualmente está pasando a ser estándar, diferentesprogramas ya tienen soporte a LDAP. Libros de direcciones, autenticación, alma-cenamiento de certificados digitales (S/MIME) y de claves públicas (PGP), sonalgunos de los ejemplos donde el LDAP ya es ampliamente utilizado.

Servicio de directorio

Un Directorio es como una base de datos, pero tiende a contener más informa-ción descriptiva, basada en atributo y no está organizado en forma de tabla, sinode árbol. La información en un Directorio es generalmente más leída que escrita.Como consecuencia, los Directorios normalmente no son usados para implemen-tar transacciones complejas, o esquemas de consultas regulares en bases de datosque se usan para hacer un gran volumen de actualizaciones complejas. Actualiza-ciones en Directorios son típicamente simples o ni siquiera son hechas.

Se preparan los Directorios para dar una respuesta rápida a un gran volumen deconsultas u operaciones de búsqueda, y también pueden tener la habilidad dehacer réplicas de la información de forma extensa. Esto se usa para aumentar ladisponibilidad y confiabilidad, mientras se reduce el tiempo de respuesta.

Existen varias maneras distintas para dejar disponible un servicio de Directorio.

144

Page 145: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Métodos diferentes permiten almacenar en un Directorio varios tipos de informa-ción, colocando solicitudes sobre cómo esa información podrá ser indicada, re-querida y actualizada, cómo protegerla de accesos no autorizados, etc.. Algunosservicios de Directorio son locales, suministrando el servicio para un contextorestricto (ej.: el servicio finger en una máquina aislada). Otros servicios son glo-bales, transformando el servicio para un contexto mayor (por ejemplo, la propiaInternet).

Se distribuyen normalmente los servicios globales (Figura 4-1), o sea, cada servi-dor es responsable solamente por una parte. El DNS (Domain Name System) esun ejemplo, pues se trata de un tipo de servicio de Directorio, aunque bastanteespecializado.

145

Page 146: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Figura 4-1. Datos de directorio distribuidos en tres servidores146

Page 147: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Tipo de información

El modelo de servicio del Directorio LDAP está basado enentradas. Una entradaes un conjunto deatributos y es indicada a través de unnombre distinto2. El DNse usa para indicar una entrada en forma no ambigua. Cada uno de los atributosde entrada tiene untipo y uno o másvalores. Estos tipos son generalmente pala-bras mnemónicas, comocn para nombre común, omail para dirección de correoelectrónico; existenRFCs(Request For Comments) que determinan estas pala-bras. Los valores dependen del tipo de atributo. Por ejemplo, un atributomail

puede contener el valor <[email protected] >. Un atributofotoJpeg va a conteneruna fotografía.

Organizando la información

En LDAP, entradas de Directorio se organizan en una jerarquía de árbol invertido,semejante en algunos aspectos a la organización del DNS. La estructura de esteárbol generalmente refleja límites políticos, geográficos o de organización. El

2. distinguished name (DN).

147

Page 148: Mestre Servidor Servidor Es

Capítulo 4. LDAP

nodo más alto (root) es típicamente el componente nombre de dominiodc3 de unaempresa, estado u organización. Abajo están las entradas representando estados yorganizaciones nacionales. En seguida ellas pueden ser entradas que representana personas, unidades de organización, impresoras, documentos o cualquier otracosa que se pueda imaginar. LaFigura 4-2muestra un ejemplo de un DirectorioLDAP en un árbol.

Figura 4-2. Árbol de Directorio LDAP

A pesar de haber entradas para países, el Directorio no posee una entidad regla-mentadora o centralizadora como, por ejemplo, elroot serversdel DNS. La sepa-ración por países, por ejemplo, puede ser útil para empresas multinacionales. LaFigura 4-2también muestra otra ventaja de un servicio de Directorio. Lasramasdel árbol pueden estar en máquinas distintas. En el caso de laFigura 4-2, la en-

3. domain component

148

Page 149: Mestre Servidor Servidor Es

Capítulo 4. LDAP

tradao=España Ltda está en otro computador. Observamos que esta característicatambién es típica del DNS.

Clases de objetos

Ya se han visto algunos tipos de atributos usados en las entradas en un serviciode Directorios:mail , cn , telephoneNumber y otros. Podemos crear cualquier tipode atributo, pero esto no es recomendable. En LDAP existen diversas clases deobjetos, y cada clase contiene una lista de atributos obligatorios y optativos. Sedefine esta lista en una RFC.

Por ejemplo, se define la clasepersonde la siguiente manera:

objetclass person requires objectClass sn, cn allows

description, seeAlso, telephoneNumber, userPassword

Se puede configurar el servidor LDAP para verificar las clases (a través de laopciónschemacheck ) y forzar el uso correcto de los atributos. Esto general-mente es una buena idea; con el chequeo activado, por ejemplo, será obligatoriala inserción de los atributosobjectClass , sn y cn . Cuando se define que una en-trada del Directorio es de la claseperson, un atributodescriptionserá opcional.Las entradas en Directorios pueden tener varias clases diferentes, basta apenasobservar los requisitos de atributos de cada clase.

149

Page 150: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Registrando la información

Se registra una entrada por su nombre distinto DN. El DN es único y en su cons-trucción utiliza elcaminoentero, desde la entrada hasta el tope del Directorio.Por ejemplo, en laFigura 4-2, DN = "cn = Maria A Silva, o = U de M, c = BR".Las entradas también pueden ser registradas a través de un RDN (Relative Dis-tinguished Name). Aún en este ejemplo el RDN es cn = Maria A. Silva. Podemoshacer una comparación conhostname (RDN) y FQDN (DN).

Accediendo a la información

El LDAP define operaciones para consultar y actualizar el Directorio. Se sumi-nistran operaciones para adición y eliminación de una entrada del Directorio,modificación de una entrada existente y alteración del nombre de una entrada.La operación LDAP de búsqueda puede abarcar el todo el árbol o solamente unarama, sinbajar o subir para los demás. Además de especificar con filtros quéentradas se desean encontrar, también es posible especificar cuáles atributos deesta entrada se están buscando. Si no se especifican los atributos, todos seránretornados.

Por ejemplo, en laFigura 4-2se puede querer buscar en todo el sub-árbol de Di-rectorio abajo de la Universidad Politécnica de Madrid , buscando por personascon el nombre de Teodoro Pérez, recuperando la dirección de correo electrónicopara cada entrada encontrada. El LDAP permite realizar esta tarea fácilmente.O también se puede querer buscar las entradas directamente abajo delc=ES, en-

150

Page 151: Mestre Servidor Servidor Es

Capítulo 4. LDAP

trada para organizaciones con la palabra “España” en su nombre, y que tenganun número de teléfono. El LDAP permite que se haga esto también. La próximasección describe con más detalles lo que se puede hacer con LDAP y cómo estopodrá ser útil.

Protección contra accesos no autorizados

Algunos servicios de Directorio no dan protección, permitiendo que cualquierapueda ver la información. El LDAP proporciona un método para autenticación deun cliente, o prueba su identidad para un servidor de Directorio, pavimentandoel camino para un gran control de acceso, protegiendo la información que estáen el servidor. La sugerencia de Conectiva para el archivo de configuración delservidor contiene un ejemplo de lista de control de acceso ACL.

Funcionamiento de LDAP

El servicio de Directorio LDAP se basa en un modelocliente-servidor. Uno o másservidores LDAP contienen los datos creando el árbol de Directorio LDAP. Uncliente LDAP se conecta a un servidor y hace la solicitud. El servidor respondecon la solicitud, o muestra una indicación hacia dónde el cliente puede conseguir

151

Page 152: Mestre Servidor Servidor Es

Capítulo 4. LDAP

la información (típicamente, otro servidor LDAP). Podemos hacer nuevamenteuna comparación con el DNS, la diferencia es que el servidor LDAP no hacebúsquedas recursivas, o sea, en nombre del cliente. El cliente está encargado debuscar por el servidor hasta encontrar la información deseada.

Concepto y utilización del slapd

El slapdes un servidor de Directorio LDAP que se puede ejecutar en distintasplataformas Linux. El usuario puede utilizarlo para obtener su propio servicio deDirectorio. Ese Directorio puede contener todo lo que se quiera poner, es posibleconectarlo a un servicio de Directorio LDAP global, o ejecutar el servicio para elpropio usuario. Algunas de las características y potencialidades más interesantesdelslapdincluyen:

Elección de la base de datos: El slapd viene con tres tipos diferentes de base dedatos. Son ellas: LDBM, una base de datos basada en disco de alto rendimiento, SHELL,una interfaz de base de datos para comandos arbitrarios de Linux oscriptsde línea decomando y PASSWD, una base de datos simple de un archivo de contrasenas.

Múltiples instancias de las bases de datos: El slapdproporciona una gran faci-lidad en el control de acceso, permitiendo que se controle el acceso a la información enla(s) base(s) de datos. Es posible controlar el acceso a las entradas basadas en informaciónde autenticación LDAP, dirección IP, nombre del dominio y otros criterios.

152

Page 153: Mestre Servidor Servidor Es

Capítulo 4. LDAP

API genérica de la base de datos: El slapd utiliza varios procesos para tener unalto rendimiento. Un único subprocesoslapd maneja todas las solicitudes que llegan,reduciendo la cantidad de recursos necesarios. Elslapdseleccionará automáticamente elmejor soporte a varios procesos para el tipo de plataforma.

Control de acceso: Se puede configurarslapd para usar réplicas. Este esquema deduplicación maestro/esclavo es vital en ambientes de gran volumen, donde un únicoslapdno puede proporcionar la disponibilidad o la confiabilidad necesarias.

Subprocesos: El slapdes configurable. A través de un único archivo de configuración,permite que se cambie todo, siempre que se quiera alterar. Las opciones de configuracióntienen definiciones razonables, y dejan el trabajo mucho más fácil.

El slapdes un servidor LDAPv2. Ya se hizo la especificación para el LDAPv3 eimplementada en el OpenLdap 2.0, sus nuevas características son:

LDAPv2 y LDAPv3: slapd soporta las versiones 2 y 3 de LDAP. Suministra soporte paralas últimas características mientras mantiene interoperabilidad con los clientes existentes.El slapd tiene soporte para IPv4.

Autenticación SASL: El slapd tiene soporte a servicios de autenticación diferenciadosa través del uso de SASL. La implementación SASL de slapd utiliza el software CyrusSASL con soporte a varios mecanismos incluyendo DIGEST-MD5, EXTERNAL.

Capa de Transporte Segura: El slapd suministra protecciones de privacidad e in-tegridad a través del uso de TLS. La implementación TLS de slapd utiliza el softwareOpenSSL.

Internacionalización: El slapd soporta Unicode y tags de lenguaje.

153

Page 154: Mestre Servidor Servidor Es

Capítulo 4. LDAP

LDAP y el X.500

El LDAP fue originalmente desarrollado como un cliente para el X.500, el ser-vicio de Directorio OSI. El X.500 define el Protocolo de Acceso a Directorio(DAP4) para que los clientes usen cuando estén en contacto con servidores deDirectorio. El DAP es un protocolo pesado, que se ejecuta sobre una capa OSIcompleta, y necesita una cantidad significativa de recursos informáticos para suejecución. El LDAP trabaja directamente sobre TCP y suministra la mayoría delas funciones del DAP, a un costo mucho más bajo.

Este uso de LDAP deja fácil el acceso al Directorio X.500, pero aún exige unservicio X.500 completo, para dejar los datos disponibles a los diferentes clientesLDAP que se están desarrollando. Así como clientes X.500 completos, un servi-dor X.500 completo no es un pequeño pedazo de programa para ejecutarse.

Si está ejecutando un servicio X.500 y quiere seguir haciéndolo, es muy probableque pueda parar de leer este capítulo, pues habla sobre cómo ejecutar el LDAPvía slapd, sin utilizar el X.500. Si no está usando el X.500, o no tiene planesinmediatos para ejecutar el X.500, siga leyéndolo.

Es posible duplicar datos de un servidor de Directorioslapdpara un DAP X.500;esto permite que la organización deje los datos disponibles como parte de unservicio de Directorio X.500 global en una base solamente para lectura.

Otro camino para dejar los datos en un servidorslapddisponibles para la comu-nidad X.500, sería usando un DAP X.500 para puerto de entrada del LDAP.

4. Directory Access Protocol

154

Page 155: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Duplicación

El slurpd es un servidor para Linux que ayuda aslapd, favoreciendo la dupli-cación de la base de datos. Él es responsable por la distribución de los cambiosque ocurren en el servidor maestro para el servidor esclavo (la réplica). Vea laFigura 4-3.

Figura 4-3. Un servicio de directorio duplicado con datos distribuidos en tres servi-

155

Page 156: Mestre Servidor Servidor Es

Capítulo 4. LDAP

dores

slapd y slurpd se comunican a través de un simple archivo texto, que se usapara registrar los cambios. La sintaxis de este archivo recuerda un poco la de losarchivos resultantes deldiff , en el sentido de que están descritas las entradas oatributos que se deben eliminar, agregados o modificados. Elslurpdse encargaráde aplicar estos cambios al servidor de la réplica. Durante este proceso, la réplicay el maestro serán diferentes.

Instalando y configurando LDAP

Instalando los paquetes

1. Acceda al directorio de paquetes de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS/

156

Page 157: Mestre Servidor Servidor Es

Capítulo 4. LDAP

2. Instale el paquete del servidor LDAP openldap:

# rpm -ivh openldap-1*

openldap ####################################

3. Edite el archivo/etc/openldap/slapd.conf:

suffix "o=miorganizacion, c=es"

rootdn "cn=lroot, o=miorganizacion,c=es"

rootpw mi-contraseña

defaultaccess read

access to attr=userpassword by self write by dn="cn=lroot,

o=miorganizacion, c=es" write by * none

access to * by self write by dn="cn=lroot, o=miorganizacion,

157

Page 158: Mestre Servidor Servidor Es

Capítulo 4. LDAP

c=br" write by * read

loglevel 2880

suffix : raíz, la base del Directorio.

rootdn : login del administrador.

rootpw : contraseña del administrador - puede ponerse codificada.

default access : derechos de acceso estándar.

access to : aquí empiezan las definiciones de las ACLs. Estas definicionespermiten solamente que el administrador y el propio usuario tengan accesoal atributouserpassword .

loglevel : tipo de mensajes de log que serán generadas.

Creando el Directorio

# mkdir /var/ldap

Edite el archivo/usr/share/openldap/migration/migrate_common.ph :

$DEFAULT_MAIL_DOMAIN = "miorganizacion.es";

158

Page 159: Mestre Servidor Servidor Es

Capítulo 4. LDAP

$DEFAULT_BASE = "o=miorganizacion,c=es";

$EXTENDED_SCHEMA = 1;

$EXTENDED_SCHEMA = 1 va a activar el soporte a otras clases de objetos,comoperson, por ejemplo.

Ejecutando el script migrate_all_offline.sh

Este script va a buscar varios archivos del directorio/etc y crear las entradas enel Directorio.

# cd /usr/share/openldap/migration/

#./migrate_all_offline.sh

Creating naming context entries...

Migrating aliases...

Migrating groups...

Migrating hosts...

Migrating networks...

Migrating users...

Migrating protocols...

159

Page 160: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Migrating rpcs...

Migrating services...

Migrating netgroups...

Importing into LDAP...

Migrating netgroups (by user)...

Migrating netgroups (by host)...

Preparing LDAP database...

Editando el archivo /etc/openldap/ldap.conf

BASE o=miorganizacion,c=es HOST localhost

Iniciando el servidor LDAP

# cds

atd gpm keytable lpd

crond halt killall mars-nwe

160

Page 161: Mestre Servidor Servidor Es

Capítulo 4. LDAP

dhcpd hdparm kudzu named

functions httpd ldap netfs

gated inet linuxconf-setup network

# ./ldap start

Iniciando ldap: [ OK ]

El OpenLDAP está vinculado a la biblioteca TCP/Wrappers, por este motivo el con-trol de acceso puede hacerse a través de los archivos /etc/hosts.allow y /etc/hosts.deny ,además del recurso de ACLs del propio OpenLDAP. Utilice este archivo para con-trolar las máquinas que irán acceder al servidor LDAP. Para acceder a través delpropio servidor, si el archivo /etc/hosts.deny está con el parámetro ALL:ALL , inserte enel /etc/hosts.allow la línea

ALL:

localhost

.

161

Page 162: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Utilizando LDAP

Haciendo búsquedas en la línea de comando

Abra un terminal y utilice los siguientes comandos:

• para verificar todo lo que existe en el Directorio:

$ ldapsearch "objectclass=*"

o=miorganizacion,c=es

o=miorganizacion

objectclass=top

objectclass=organization

objectclass=domainRelatedObject

associateddomain=miorganizacion.es

...

• para verificar si se insertaron los usuarios:

$ ldapsearch uid=login-del-usuario

uid=mi-usuario,o=People,o=miorganizacion,c=es

162

Page 163: Mestre Servidor Servidor Es

Capítulo 4. LDAP

uid=mi-usuario

cn=mi-usuario

sn=mi-usuario

[email protected]

objectclass=person

objectclass=organizationalPerson

objectclass=inetOrgPerson

objectclass=account

objectclass=posixAccount

objectclass=top

objectclass=kerberosSecurityObject

[email protected]

loginshell=/bin/bash

uidnumber=550

gidnumber=907

homedirectory=/home/login-del-usuario

Vea que el atributouserpassword no apareció en esta búsqueda.

• Para verificar si se insertaron las contraseñas usando la contraseña del administradordel Directorio:

$ ldapsearch -D

cn=lroot,o=miorganizacion,c=ES -W uid=mi-usuario

163

Page 164: Mestre Servidor Servidor Es

Capítulo 4. LDAP

EnterLDAP Password:

uid=mi-usuario,o=People,o=miorganizacion,c=es

uid=mi-usuario

cn=mi-usuario

sn=mi-usuario

[email protected]

objectclass=person

objectclass=organizationalPerson

objectclass=inetOrgPerson

objectclass=account

objectclass=posixAccount

objectclass=top

objectclass=kerberosSecurityObject

userpassword={crypt}VazDY6ytbW/YI

[email protected]

loginshell=/bin/bash

uidnumber=500

gidnumber=500

homedirectory=/home/mi-usuario

De acuerdo con las ACLs, el administradorsiempre tiene acceso a todos losatributos.

164

Page 165: Mestre Servidor Servidor Es

Capítulo 4. LDAP

• Para verificar la contraseña del usuario usando la propia contraseña:

$ ldapsearch -D uid=mi-usuario,o=people,o=miorganizacion,c=es -W

uid=mi-usuario

Intro LDAP Password:

uid=mi-usuario,o=People,o=miorganizacion,c=es

uid==mi-usuario

cn==mi-usuario

sn==mi-usuario

mail==mi-usuario@miorganizacion

objectclass=person

objectclass=organizationalPerson

objectclass=inetOrgPerson

objectclass=account

objectclass=posixAccount

objectclass=top

objectclass=kerberosSecurityObject

userpassword={crypt}VazDY6ytbW/YI

[email protected]

loginshell=/bin/bash

uidnumber=500

gidnumber=500

homedirectory=/home/mi-usuario

165

Page 166: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Debido a las ACLs, un usuario solamente tiene acceso a su propio atributouserpassword .

Configurando Netscape Communicator

Cuando se trabaja con servidores LDAP, es común que haya una limitación parala cantidad máxima de respuestas dadas por el servidor. Esta limitación existesiempre en el servidor, pero puede también existir en el cliente, como en el casode Netscape.

Entre en el ambiente gráfico con el login de usuario, ejecute Netscape Commu-nicator y haga las siguientes configuraciones:

1. En la Libreta de Direcciones (Alt -Shift-2) haga clic enArchivo→Directorio Nuevo;surgirá la ventanaDirectory Info (Figura 4-4). Basta llenar esta ventana de la si-guiente manera:

166

Page 167: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Figura 4-4. Información del Directorio

2. En el campoDirectorios, seleccione el Directorio que fue adicionado, efectúe unabúsqueda de todos los usuarios que existen en el Directorio poniendo en el campoteclee el nombre que está buscandoun * seguido de unIntro . Visualizará todos losusuarios encontrados en el directorio. Também será posible ver los usuarios adminis-trativos, comobin , daemon, etc..., que pueden ser eliminados del Directorio.

167

Page 168: Mestre Servidor Servidor Es

Capítulo 4. LDAP

3. Configure el correo de Netscape para utilizar eldirección de mensajesa través delservidor de Directorio.

En Editar→Preferencias, haga clic en la flecha para expandir la categoríaCorreo y Noticiasy seleccione la subcategoríaDirección.

Habilite la opciónServidor de Directorio: y seleccione el servidor que fueadicionado (en nuestro ejemplo:miorganizacion).

4. Siempre que se envíe un mensaje bastará colocar un dato cualquiera, o sólo partede él, de un usuario existente en el Directorio. Netscape se encargará de llenar lorestante. En el caso que exista más de una entrada, mostrará la lista de usuariosencontrados, para que se seleccione el usuario deseado.

Accediendo al servidor LDAP vía URLs

También es posible usar Netscape Communicator para hacer la comunicación conun servidor LDAP a través del navegador. La sintaxis es la siguiente:

ldap[s]:// <hostname><:port>/ <base_dn>? <atributos>? <finalidad>? <Filtro>

La [s] se usa cuando tenemos una conexión segura (ssl). Vea un ejemplo conalgunas utilizaciones de URLs de Netscape para el LDAP:

168

Page 169: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Ejemplo 4-1. Utilizando las URLs de Netscape Communicator

• ldap://localhost/o=miorganizacion,c=es??sub?

Esto hará con que el servidor informe cada registro de la base de datos.

• ldap://localhost/o=miorganizacion,c=es?cn,mail?sub?

Esto irá informar solamente los objetos (personas) nombre y dirección de co-rreo electrónico para cada persona de la base de datos.

• ldap://localhost/o=miorganizacion,c=es??sub?(cn=maria)

Informará solamente el registroteodoro.

• ldap://localhost/o=miorganizacion,c=es??sub?(cn=teodoro*)

Traerá cualquier registro en que el nombre empiece conteodoro.

• ldap://localhost/o=miorganizacion,c=es??sub?(sn=)

Esto le dará todos los registros que tengan el apellidosilva.

169

Page 170: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Autenticación y NSS con LDAP

El servidor LDAP puede autenticar usuarios, usando un mecanismo llamadoPAM5 (módulos de autenticación conectables). Desde el principio de Linux, laautenticación de un usuario se hace a través de la entrada de una contraseña por elusuario, y el sistema verifica si la contraseña tecleada corresponde a la contraseñaoficial codificada, que está almacenada en el archivo/etc/passwd . Esto fue sólo alprincipio. Desde entonces, un número de nuevos caminos para la autenticación deusuarios está haciéndose común, incluyendo sustituciones más complejas, comopor ejemplo para el archivo/etc/passwd y dispositivos de hardware llamados deSmart Cards.

El problema es que siempre que se desarrolla un nuevo esquema de autentica-ción, todos los programas necesarios (login, ftpd, etc.) deben ser reescritos parasoportar este nuevo esquema. El PAM proporciona un camino para desarrollarprogramas que son independientes del esquema de autenticación, anexados a el-los en tiempo de ejecución, para que puedan funcionar.

A continuación veremos cómo configurar su sistema para hacer la autenticacióna través de LDAP. El programa authconfig realiza casi todas estas alteraciones.Para hacer uso de SSL (criptografía) con LDAPv2 en un servidor remoto seránecesario instalar el paquete stunnel.

5. Pluggable Authentication Module

170

Page 171: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Autenticación en el LDAP y el NSS

Como superusuario, entre en el directorio donde están los paquetes de la distribu-ción y ejecute:

# rpm -ivh nss_ldap* pam_ldap*

nss_ldap ##############################

pam_ldap ##############################

Configurando PAM para utilizar el LDAP

En el directorio/usr/doc/pam_ldap-XX , dondeXX es la versión del módulo ins-talado, se encontrará el directoriopam.d.conectiva que es la recomendación deConectiva para el contenido del directorio/etc/pam.d . Haga una copia de seguri-dad de su directorio/etc/pam.d original y copie el nuevo directorio recomendadopara el mismo local:

# mv /etc/pam.d /etc/pam.d.org

# cp -R /usr/doc/pam_ldapXX/pam.d.conectiva /etc/pam.d

171

Page 172: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Ejecute la aplicación authconfig como superusuario; tendrá laFigura 4-5ilus-trando la configuración para nuestro ejemplo:

# authconfig

Figura 4-5. Configuración de Autenticación

La opciónUSAR SSL solamente estará habilitada si el authconfig logra detectarla instalación del paquete stunnel. Con dicha instalación su sistema intentará au-tenticar el usuario localmente (a través de los archivos/etc/shadow , /etc/passwd ,etc.); en el caso que la respuesta sea, usará LDAP con la misma contraseña, sinpedirle dos contraseñas al usuario.

172

Page 173: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Probando la autenticación y el NSS

Para probar la autenticación y el NSS, haga una copia del/etc/passwd :

# cp /etc/passwd /etc/passwd.org

Retire de este archivo un usuario con el comando# userdel nombre-del-usuario , para tener la seguridad que no será encontrado en/etc/passwd .

Después teclee:

$ ls -la /home

Será posible visualizar el nombre del usuario, en lugar de su UID. Pruebe tambiénacceder a Conectiva Linux, como usuario eliminado del archivo/etc/passwd .

Si no va a utilizar LDAP para autenticación, no se olvide de recuperar su /etc/passwd

original para continuar con el uso del sistema:

Agregando y eliminando usuarios vía LDAP

173

Page 174: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Para añadir y eliminar usuarios del LDAP, existen dos comandos que son uti-lizados para esta tarea. Son ellos:ldapaddusery ldapdeluser. Ejecutando estoscomandos sin parámetros, aparecerá en la pantalla la forma de uso. Podrá usarlosde la siguiente manera:

# ldapadduser mi-usuario

o

# ldapdeluser mi-usuario -r

En la eliminación del usuario, se usó el parámetro-r . Se utiliza este paráme-tro cuando se quiere eliminar el/home/mi-usuario juntamente con la cuenta delusuario. Si no es ésta la intención, no lo utilice.

Agregando el log del LDAP

En el archivo/etc/syslog.conf hay la siguiente línea:

local4.* /var/log/ldap.log

Será posible acompañar posibles errores de autenticación en el/var/log/messages ,

174

Page 175: Mestre Servidor Servidor Es

Capítulo 4. LDAP

y el log del LDAP en/var/log/ldap .

Herramientas gráficas para LDAP

Además de Netscape existen otras herramientas LDAP que se pueden usar en elambiente gráfico. Búsquedas, visualización e incluso manutenciones en la basede datos se pueden hacer a través de estos programas.

El cliente de LDAP GQ

GQ es un cliente LDAP gráfico, con una interfaz simple, escrito para Gnome,y es posible ejecutarlo en otros administradores de ventanas. Instálelo de la si-guiente forma: como superusuario en el directorioRPMSdel CD2 de ConectivaLinux ejecute:

# rpm -ivh gq-*

gq ###############################

175

Page 176: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Como usuario normal inicie el programa con el comandogq. Su configuracióntambién es simple, basta añadir el servidor LDAP que se quiere usar y la BaseDN del Directorio. Un recurso interesante de esta aplicación es el modo de nave-gación, siendo posible observar el Directorio en árbol y tener una visión completade todos los datos del Directorio. Observe en laFigura 4-6los detalles de esteejemplo:

$ gq

176

Page 177: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Figura 4-6. El cliente de LDAP GQ

177

Page 178: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Acceso móvil

El objetivo del acceso móvil es que en cualquier lugar que se esté, se puedarecuperar la lista de marcadores (bookmarks), preferencias, filtros de correo elec-trónico, entre otros, utilizando el Netscape Navigator y un servidor LDAP. Éstaes una característica muy buena: imagine que, de cualquier local que se acceda aInternet, será posible tener las propias configuraciones en el navegador. Si se vaa viajar y se necesita acceder a algún sitio de noticias que está almacenado en lalista de marcadores local, no habrá problemas: es sólo enviar los marcadores yotros archivos de configuración para un servidor LDAP y se podrá recuperarlosdespués, independiente del local en que uno se encuentre.

Implementando el acceso móvil

Para implementar el acceso móvil es necesario seguir estas etapas:

• Alterar el archivo de descripción de atributos.

• Alterar el archivo de descripciónobjectclass .

• Alterar el archivo LDIF para incluir los perfiles.

• Configurar Netscape Navigator para usar el servidor LDAP como un servidor de accesomóvil.

178

Page 179: Mestre Servidor Servidor Es

Capítulo 4. LDAP

• Reiniciar el servidor LDAP con la nueva configuración.

Alterando el archivo de atributos

Añada estos nuevos atributos a la lista del archivo/etc/openldap/slapd.at.conf :

attribute nsLIPtrURL ces

attribute nsLIPrefs ces

attribute nsLIProfileName cis

attribute nsLIData bin

attribute nsLIElementType cis

attribute nsLIServerType cis

attribute nsLIVersion bin

attribute nsServerPort cis

Alterando el archivo objectclass

También se deben añadir algunas clases nuevas para habilitar el acceso móvil. Sepuede hacer esto en el archivo/etc/openldap/slapd.oc.conf :

179

Page 180: Mestre Servidor Servidor Es

Capítulo 4. LDAP

objectclass nsLIPtra

requires

objectclass

allows

nsLIPtrURL,

owner

objectclass nsLIProfile

requires

objectclass,

serverhostname

allows

description,

cn,

nsServerPort,

nsLIServerType,

serverroot

Personalizando el slapd.conf

El próximo paso es editar el archivo/etc/openldap/slapd.conf . A continuación

180

Page 181: Mestre Servidor Servidor Es

Capítulo 4. LDAP

presentamos un ejemplo de este archivo que soporta acceso móvil. Modifique yañada las siguientes líneas en el archivo estándar:

suffix "o=top"

rootdn "cn=root, o=top"

lastmod on

access to dn=".*,ou=Roaming,o=top" by dnattr=owner write

access to attr=userpassword

by self write

by * none

Alterando el archivo LDIF

Ahora es necesario alterar el archivo LDIF, añadiendo entradas de perfil paracada usuario que vaya a utilizar la opción de acceso móvil de Netscape. Cree unarchivo/etc/openldap/ldif y agregue las siguientes líneas, como en el ejemplo:

dn: o=top

objectclass: top

181

Page 182: Mestre Servidor Servidor Es

Capítulo 4. LDAP

dn: ou=People, o=top

objectclass: top

objectclass: organizationalUnit

dn: cn=mi-usuario, ou=People, o=top

objectclass: top

objectclass: person

userpassword: contraseña-del-usuario

dn: ou=Roaming, o=top

objectclass: top

objectclass: organizationalUnit

dn: nsLIProfileName=mi-usuario, ou=Roaming, o=top

objectclass: top

objectclass: nsLIProfile

owner: cn=mi-usuario, ou=People, o=top

Agregue esta nueva entrada en el directorio con el comandoldapadd:

# ldapadd -D "cn=root, o=top" -w mi-contraseña -f ldif

182

Page 183: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Reiniciando el servidor LDAP

Para que las alteraciones se efectúen, será necesario reiniciar el servidor LDAP.Para ello, como superusuario ejecute:

# /etc/rc.d/init.d/ldap restart

Apagando ldap: [ OK ]

Iniciando ldap: [ OK ]

Configurando Netscape

Para configurar Netscape y habilitar el acceso móvil a través del servidor LDAP,haga lo siguiente:

• Haciendo clic enEditar→Preferencias en la categoría usuario, marque la opciónHa-bilite acceso móvil para este perfil de usuario. Teclee en el campoNombre delusuario el login que será usado en el servidor LDAP; si quiere teclear sólo una vez(cuando se inicia Netscape), marque la opciónRecuerde mi contraseña de accesomóvil.

• En la subcategoríaInformación del Servidor, teclee en el campoDirección:

url="ldap://localhost/nsLIProfileName=mi-usuario,ou=Roaming,o=top,c=br"

183

Page 184: Mestre Servidor Servidor Es

Capítulo 4. LDAP

EnDN del usuario teclee lo siguiente:

cn=mi-usuario,ou=People,o=miorganizacion,c=es

• Después de haber hecho estas configuraciones, cierre NetscapeArchivo→Salir (Alt-Q) y ábralo nuevamente. Surgirá una ventana pidiendo la contraseña para el servidorde Acceso Móvil; haciendo clic en el botónOpciones se verá una ventana equivalentea la de laFigura 4-7.

184

Page 185: Mestre Servidor Servidor Es

Capítulo 4. LDAP

Figura 4-7. Información del servidor

Esta ventana contiene la dirección del servidor y el DN del usuario que fueronconfigurados anteriormente. Verifique si las informaciones están todas correc-tas.

Con esto se podrá utilizar Netscape remotamente a través de LDAP como unservidor de Acceso Móvil, teniendo disponible sus marcadores, Cookies, filtrosde correo, libreta de direcciones y preferencias del usuario.

185

Page 186: Mestre Servidor Servidor Es

Capítulo 4. LDAP

186

Page 187: Mestre Servidor Servidor Es

Capítulo 5. DNS

En este capítulo presentamos la información a respecto de cómo instalar, configu-rar y mantener un servidor DNS (Domain Name System1) en un computador conLinux. Usted aprenderá a crear un dominio y podrá administrar los computadoresconectados con él. Veremos cómo se hace para que las estaciones puedan utilizarel servidor DNS y accedan unas a otras por medio de sus respectivos nombres.Además, adquirirá nociones sobre cómo DNS logra organizar un gran número decomputadores conectados entre sí, haciendo posible que se reconozcan unos a losotros dentro de una red.

Introducción y Conceptos

El servidor DNS convierte los nombres de los computadores en direcciones IP.Relaciona nombres con IPs e IPs con nombres. Constituye una base de datosdistribuida que permite que una sección se administre localmente y al mismotiempo esté disponible para todos.

Cada rama del árbol representa una partición de la base de datos general - un

1. Sistema de nombres de dominio.

187

Page 188: Mestre Servidor Servidor Es

Capítulo 5. DNS

directorio en el sistema de archivos de Conectiva Linux o undominioen DNS.Cada dominio se puede dividir en otras partes denominadassubdominios.

Cada dominio tiene un nombre que se divide en dos partes. La primera identi-fica su relación con el dominio padre. La segunda es elnombre del dominioqueindica su posición en la base de datos. Por ejemplo, podemos ver que enke-

pler.miorganizacion.com , el nombre del dominio esmiorganizacion.com y el nom-bre del computador eskepler .

Cada dominio puede ser administrado por una organización diferente. Estas puedenromper estos dominios y subdominios, delegando su control a otras organiza-ciones, haciendo muy descentralizada la administración.

La estructura puede parecer un poco complicada, pero es más simple de lo queaparenta. Se trata entonces de partir de un dominio e ir bajando hasta llegar a unamáquina (ohost).

Funcionamiento de DNS

Espacio de nombres de dominio

Como ya se mencionó anteriormente, DNS funciona de forma análoga al sistemade archivos de Conectiva Linux. Cada unidad de datos de la base distribuida de

188

Page 189: Mestre Servidor Servidor Es

Capítulo 5. DNS

DNS está indexada por un nombre. Este nombre es, básicamente, una ruta en unárbol invertido, denominadoEspacio de Nombres de Dominios. En lo alto de esteárbol está el dominio raíz. De forma semejante a un sistema de archivos, cadarama del árbol de dominios puede tener un número cualquiera de otras ramas.

Nombres de dominio

Cada rama del árbol de dominios se identifica con un nombre que tiene comomáximo 63 caracteres. Estos nombres no pueden ser nulos, porque el nulo sereserva para el dominio raíz del árbol.

Cuando el dominio raíz aparece en el nombre de dominio de una rama, el nombreparece terminar sólo en un punto, cuando en realidad termina en punto, más eldominio raíz que se representa con una secuencia nula de caracteres. Por eso,algunos programas interpretan el punto final de un nombre de dominio como queel nombre del dominio es absoluto. Que en ese caso identifica la localización dela rama en la jerarquía sin ambigüedad. Los nombres que no están seguidos deun punto, se denominan nombres relativos. Como no especifican una localizaciónexacta en el árbol, pueden referirse a diversos puntos en la misma.

El sistema de nombres de dominios requiere que las ramas hermanas (o sea, lasque tienen un origen común) tengan nombres individuales. Si comparamos conel sistema de archivos, de la misma forma que no se puede tener dos/usr/bin , nose puede tener doscopernico.miorganizacion.com . Eso no llega a ser un problema,ya que los nombres sólo tienen que ser individuales para las ramas hijas, o seaque puede haber dos ramas con el mismo nombre, siempre que ellas no sean

189

Page 190: Mestre Servidor Servidor Es

Capítulo 5. DNS

hermanas.

Dominios

Un dominiono es nada más que un sub-árbol del espacio de nombres de dominio.El nombre de un dominio es el nombre de la rama que está en lo alto de aqueldominio. Por ejemplo, el primer nivel en la jerarquía del dominiomiorganiza-

cion.com es una rama denominadacom, de la misma forma como usted esperaríaencontrar el directorio/usr en lo alto de/usr/lib .

Cada sub-árbol se considera parte de un dominio. Así como un nombre de domi-nio puede estar en distintos sub-árboles, un nombre de dominio puede estar endiversos dominios. Por ejemplo,miorganizacion.com.co forma parte del dominiocom.co y también del dominioco .

Como un dominio es simplemente un árbol de nombres de dominio, se concluyeque los computadores conectados al sistema también deben ser dominios. Re-cuerde que los nombres de dominio son solamente índices de la base de datosde DNS; por eso los computadores son los nombres de dominio que indican lainformación sobre los computadores individuales.

Los dominios localizados en las puntas de las ramas del árbol de dominios, ge-neralmente representan computadores individuales. Los nombres de dominiospueden señalar hacia una dirección de red o información de encaminamiento delcorreo electrónico. Los dominios internos pueden señalar hacia un computadorespecífico y pueden indicar información estructural sobre los subdominios. Por

190

Page 191: Mestre Servidor Servidor Es

Capítulo 5. DNS

ejemplo,miorganizacion.com puede ser el nombre de dominio de Mi Organizacióny también el nombre del dominio de un computador que encamina el correo elec-trónico entre Internet y la empresa.

El espacio de nombres de dominios de Internet

El sistema de nombres de dominios no impone muchas reglas a los nombresvinculados con los dominios. Además, ningún significado especial se asocia a losnombres de un nivel en particular. Cuando usted crea un dominio, puede definirsus propias reglas para los nombres.

El espacio de nombres de dominios actual de Internet tiene algunas reglas parasu estructuración. En especial, los dominios próximos a la raíz siguen ciertastradiciones. Eso evita que los nombres de los dominios parezcan desorganizadosy sin sentido.

Dominios de primer nivel

Originalmente, se dividió Internet en siete dominios, con el objetivo de especi-ficar el tipo de organización. Estos dominios se llamaronDominios de PrimerNivel o DPN. Los dominios originales son:

191

Page 192: Mestre Servidor Servidor Es

Capítulo 5. DNS

com: Organizaciones comerciales

edu: Organizaciones de ensenanza

gov: Organizaciones gubernamentales

mil: Organizaciones militares

net: Organizaciones de red

org: Organizaciones internacionales

Se puede notar que los dominios señalados arriba parecieran ser solamente paraorganizaciones norteamericanas. Eso ocurre porque Internet tuvo como origenARPANET que era un proyecto norteamericano. En esa época, no se podía pre-ver su enorme éxito, ni tampoco la creación de Internet como consecuencia. Paraadecuar el empleo de esta última en el ámbito internacional, fue preciso alterar losDPNs. Se reservaron además de los siete dominios originales, otros que designa-ban localizaciones geográficas. Estos nombres de dominios siguen una normainternacional denominada ISO 3166. Esta normalización define códigos de dosletras para cada país del mundo (por ejemplo,copara Colombia).

Aunque los dominios originales debiesen continuar respetándose dentro de cadauno de los dominios internacionales, esto no ocurrió. Cada país definió sus propiasreglas para hacer sus divisiones. La mayoría mantuvo la separación por orga-nizaciones, aunque no necesariamente con los dominios originales. Inglaterra,por ejemplo, defineco.uk para instituciones comerciales yac.uk para institu-ciones académicas. Mientras que Brasil mantuvo los dominios originales (porejemplo, com.br , net.br ) y recientemente creó dominios suplementarios como

eti.br , para especialistas en tecnología de información,psi.br para provee-

192

Page 193: Mestre Servidor Servidor Es

Capítulo 5. DNS

dores de acceso,g12.br para instituciones de enseñanza de 1º y 2º grados, en-tre otros. Usted puede obtener más información sobre otros dominios en lenguaespañola en las páginas http://www.nic.es/normas/normasreg.html#nombre y enwww.nic.co (http://registro.br/), esta última correspondiente a Colombia.

Delegación

Uno de los requisitos para el sucesor dehosts.txt era la descentralización de laadministración, que se obtuvo por medio dedelegación. La delegación de domi-nios no es diferente del proceso de delegación en una empresa: el trabajo se vaenviando a los niveles más bajos.

Un dominio se puede subdividir en subdominios y cada uno de ellos se puededelegar a otra organización y así por delante. La organización delegada recibe laresponsabilidad de mantener los datos de aquél sub dominio. El responsable porel dominio no tiene realmente las informaciones sobre las máquinas conectadasen aquél dominio, sino solamente las informaciones sobre los mantenedores delos subdominios.

Servidores de Nombres

Los programas que guardan la información sobre los computadores conectados

193

Page 194: Mestre Servidor Servidor Es

Capítulo 5. DNS

se denominanServidores de Nombresy normalmente mantienen datos completossobre un determinado espacio de nombres de dominio, que se conoce comozona.Un solo servidor de nombres puede tener autoridad sobre múltiples zonas.

La diferencia entre zona y dominio es bastante sutil. Una zona contiene informa-ción sobre los nombres de dominios y los datos que contiene un dominio, conexcepción de los dominios delegados.

Pero, si un sub dominio de un dominio no fue delegado a nadie en particular, lazona contiene los nombres de dominio y los datos de aquel sub dominio también.La diferencia entre zona y dominio queda más clara enFigura 5-1.

Figura 5-1. Zona vs. Dominio

194

Page 195: Mestre Servidor Servidor Es

Capítulo 5. DNS

Se puede ver que el uso de zonas en vez de dominios, evita que un dominio debatener más información que la necesaria, o sea, la información que se delegó aotros servidores de nombres.

Note que, cuando se realiza una delegación, el servidor de nombres no tiene in-formación sobre los computadores de un sub dominio, de modo que, cuando se lepide alguna información sobre uno de esos computadores, el servidor de nombresse resume a responder con la dirección del servidor de nombres responsable poraquel sub dominio, para que se le remita la pregunta.

Hay dos tipos de servidores de nombres: losprimarios y los secundarios. Losservidores de nombres primarios usan los datos extraídos de los archivos locali-zados en los mismos computadores en que se ejecutan. Un servidor secundarioutiliza los datos que vienen de otro servidor de la zona. Un servidor secundarioaccionado, buscará la información, en la zona de un servidor primario.

Estos dos tipos se crearon para facilitar la tarea de administración. Después decrear un servidor de nombres para su zona, no es necesario hacer todo otra vez,para cada nuevo servidor de nombres en la misma zona. Basta crear servidoressecundarios que utilicen la información de su servidor primario.

Máquina de resolución de nombres

Los clientes que acceden a un servidor de nombres se denominanMáquinas deresolución de nombres. Las utilizan programas que se ejecutan en un computador

195

Page 196: Mestre Servidor Servidor Es

Capítulo 5. DNS

y que precisan información sobre el dominio. Se emplea para:

• Consultar un servidor de nombres.

• Interpretar las respuestas (que pueden ser tanto registros, como errores);

• Devolver la información para los programas que la pidieron.

Resolución de nombres

El proceso a través del cual los servidores de nombres proporcionan informaciónsobre las zonas y dominios se denominaresolución de nombres. Ya que el espaciode nombres se estructura como un árbol invertido, el servidor de nombres sóloprecisa de una parte de la información para encontrar su camino hacia cualquierpunto del árbol.

Cache

Una de las posibilidades de acelerar el proceso de búsqueda de un computador esel almacenamiento en cache.

Un servidor de nombres que busca un computador puede tener que enviar unnúmero considerable de mensajes hasta encontrarlo. Mientras tanto recibe una

196

Page 197: Mestre Servidor Servidor Es

Capítulo 5. DNS

gran cantidad de informaciones sobre los otros servidores.

El servidor de nombres guarda esta información para acelerar futuras búsquedas.La próxima vez que el servidor de nombres tenga que encontrar algo sobre eso,el proceso será más rápido. Aunque no tenga la respuesta encache, puede tenerinformación sobre el servidor de nombres responsable por su zona.

Instalación y configuración de DNS

Instalación de los Paquetes

1. Acceda al directorio de paquetes de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS/ #

2. Instale el servidor de nombres BIND:

# rpm -ivh bind-8.*.rpm

bind ############################## #

197

Page 198: Mestre Servidor Servidor Es

Capítulo 5. DNS

Configuración del Servidor DNS

La configuración de su servidor de DNS se puede realizar con facilidad por mediode Linux conf, la utilidad de configuración de Conectiva Linux.

Se puede configurar la tarea del servidor de nombre, utilizando apenas la ediciónmanual de los archivos de configuración; pero este capítulo se concentrará en laconfiguración que emplea Linux conf.

Entre en Linux conf y vaya entonces al menúConfiguración de Red→Tareascomo Servidor→DNS. Usted verá la pantalla inicial de configuración como laFigura 5-2.

198

Page 199: Mestre Servidor Servidor Es

Capítulo 5. DNS

Figura 5-2. Pantalla de Configuración del Servidor DNS

A partir de esta pantalla, usted puede configurar su servidor DNS completo, sin

199

Page 200: Mestre Servidor Servidor Es

Capítulo 5. DNS

necesidad de editar los archivos de configuración.

Para comenzar, necesita tener la configuración básica del servidor, o sea, el nom-bre del dominio, la dirección del correo electrónico del administrador y de la má-quina servidor. Para realizar estas configuraciones presione el botóndominios.Una pantalla aparecerá donde usted puede agregar, editar o excluir los dominiosde DNS. PresioneAgregar para que podamos agregar un dominio. Apareceráuna pantalla semejante aFigura 5-3:

200

Page 201: Mestre Servidor Servidor Es

Capítulo 5. DNS

Figura 5-3. Añadiendo un dominio

En esta pantalla, usted debe informar los datos referidos a su dominio.

201

Page 202: Mestre Servidor Servidor Es

Capítulo 5. DNS

Dominio: este es el nombre del dominio, en este caso, estamos creando un dominiodenominado demiorganizacion . Vea la sección de nombreDominiospara más informa-ciones.

Servidor principal: este es el nombre del computador donde se está ejecutando elservidor de nombres. En nuestro ejemplo, el dominiomiorganizacion se controlará con elcomputadorns.miorganizacion.

Administrador de correo: esta es la dirección del correo electrónico del administradordel sistema. En caso de problemas, se podrá avisar a este administrador. Note que se usaun punto (“.”) en lugar de una arroba (“@”) en este campo.

También se pueden hacer otras configuraciones en esta pantalla, pero no estaránincluidas en este libro. Son las siguientes:

Servidores de nombres (NS): en una configuración simple, basta el nombre del ser-vidor principal. Además de eso, usted podrá informar aquí cuales serán los servidoressecundarios de su dominio.

Servidores de correo (MX): aquí usted puede definir, cuál servidor encaminará losmensajes de correo electrónico de su dominio, hacia Internet.

IPs por defecto: aquí usted puede definir una o más direcciones de IP de computadoresa las que se accederá por medio del dominio. Es normal que las búsquedas en servidoresde nombres se refieran solamente al dominio; sin embargo, los dominios no tienen IP’s,solamente los computadores los tienen; entonces, al definir IPs patrón, una búsqueda aldominiomiorganizacion indicará aquel IP patrón.

Características: aquí se pueden definir algunas funcionalidades del dominio. Por ejem-plo, se puede definir cada cuanto tiempo se actualizarán los servidores secundarios.

202

Page 203: Mestre Servidor Servidor Es

Capítulo 5. DNS

Control de acceso: usted puede definir algunas opciones de seguridad para su servidorde nombres.

Estas configuraciones ya son suficientes para que el servidor de nombres puedafuncionar correctamente. Pero hay muchas más configuraciones que se puedenhacer en su servidor de DNS.

203

Page 204: Mestre Servidor Servidor Es

Capítulo 5. DNS

Configuración de Mapas de IPs Inversos

Figura 5-4. Añadiendo un Mapa de IP Inverso

204

Page 205: Mestre Servidor Servidor Es

Capítulo 5. DNS

La tarea principal del servidor de nombres es hacer el registro que relaciona losnombres de los computadores con las direcciones IP. Realiza automáticamentela traducción del nombre del computador para una dirección IP. Pero a veces esnecesario hacer la traducción de una dirección IP para un nombre. Esto se hacepor medio de los mapas de IPs inversos.

La configuración de un mapa de IP inverso, es muy semejante a la configuraciónde un dominio, basta comparar laFigura 5-3y la Figura 5-4para verificar lassemejanzas.

205

Page 206: Mestre Servidor Servidor Es

Capítulo 5. DNS

Configuración de un Servidor Secundario

Figura 5-5. Configuración de un Servidor Secundario

206

Page 207: Mestre Servidor Servidor Es

Capítulo 5. DNS

La configuración de servidores secundarios es bastante simple, basta especificarel nombre del dominio para el cual este servidor será secundario e informar el IPdel servidor primario desde donde este servidor buscará la información. Vealasección de nombreServidores de Nombrespara obtener más información sobreservidores primarios y secundarios.

207

Page 208: Mestre Servidor Servidor Es

Capítulo 5. DNS

Forward Zones

Figura 5-6. Configuración de Forwarders

208

Page 209: Mestre Servidor Servidor Es

Capítulo 5. DNS

Hay casos en los que es mejor que el servidor de nombres no envíe afuera de la redlocal, un gran número de paquetes. Esto puede suceder por varios motivos, comopor ejemplo, cuando las empresas se conectan con la matriz por medio de antenas.Sería ineficaz que el servidor se quedase tratando de localizar algo por medio delservidor de la matriz. Por eso, se pueden crear los servidores de nombres queson útiles para crear un grancache(vea la sección de nombreCache). Estosservidores se denominan deforwarders.

Por ejemplo, si su empresa tiene un servidor 200.20.57.1 y desea hacer uncachede los servidores 200.20.57.12 y 200.20.57.13, entonces usted podría configurarlas zonas deforward según laFigura 5-6.

Para configurar un servidor de nombres comoforwarder, no se necesita ningunaconfiguración especial. Sólo se necesitan configurar los otros servidores de nom-bres para encaminar sus pedidos alforwarder. De esta forma, los servidores in-tentan solucionar los nombres por medio delforwarder que a su vez, es posibleque ya tenga la respuesta en sucache, evitando que la solicitud salga de la redlocal.

209

Page 210: Mestre Servidor Servidor Es

Capítulo 5. DNS

Repetidores

Figura 5-7. Configuración de repetidores

Su servidor de nombres puede tener dificultades para resolver nombres fuera deldominio que administra. Esto puede suceder si el DNS está atrás de unfirewall ypor lo tanto no puede ver Internet, o si DNS está vinculado a una conexión lenta.

Esto se puede solucionar, creandorepetidoresque son servidores de nombres,útiles para resolver los nombres externos en lugar del servidor primario.

Cuando el servidor primario no logra solucionar un nombre, pasa la tarea para elrepetidor.Como el repetidor se usa mucho más, tiene más información guardada,

210

Page 211: Mestre Servidor Servidor Es

Capítulo 5. DNS

con mayores posibilidades de solucionar nombres.

Para configurar un servidor de nombres como repetidor no se necesita ningunaconfiguración especial. Ella se hace por completo en el servidor que utilizará alrepetidor.

Para hacer que este servidor utilice uno o más repetidores, usted debe informarlas direcciones IP de las mismas en la pantalla que se muestra en laFigura 5-7.Note queel orden es importante, pues el servidor intentará siempre enviar laspeticiones para el primero, después para el segundo y así sucesivamente. Por eso,ponga siempre primero al mejor, para obtener un rendimiento apropiado.

211

Page 212: Mestre Servidor Servidor Es

Capítulo 5. DNS

Funcionalidades

Figura 5-8. Funcionalidades del Servidor

En la pantalla de funcionalidades del servidor (Figura 5-8), usted puede hacerconfiguraciones diversas para alterar el funcionamiento de su servidor.

212

Page 213: Mestre Servidor Servidor Es

Capítulo 5. DNS

Asignación de bandas de IP

Un servidor de nombres generalmente administra una gran cantidad de computa-dores asociados a direcciones IP. Cada vez que se agrega un nuevo computador aldominio, se le debe asociar una dirección IP; por eso, DNS tiene que saber muchosobre la organización de la red, para decidir cuál será la dirección IP asociada alnuevo computador.

Para simplificar este proceso, Linuxconf le da la posibilidad de crear bandas dedirecciones IP que se pueden identificar de modo que se organice la red.

Figura 5-9. Atribución de bandas de direcciones IP

Por ejemplo, usted puede crear un rango de direcciones que se utilizarán en loscomputadores de la matriz y bandas para las máquinas de las sucursales.

213

Page 214: Mestre Servidor Servidor Es

Capítulo 5. DNS

10.0.1.1-27

Matriz

10.0.2.1-15

Sucursal 1

10.0.3.1-21

Sucursal 2

Esto facilita y organiza el proceso de decisión, donde el IP se designará para unamáquina.

Para crear un rango de direcciones IP, teclee la banda en el campoUn rangoIP, la descripción (nombre) en el campoIdentificación/descripción y presioneAceptar. Usted puede crear múltiples bandas por medio del botónAgregar.

Iniciando el servicio

Para iniciar el servicio del servidor de nombres en su servidor, usted debe abrirun terminal como superusuario e iniciar elnamed:

214

Page 215: Mestre Servidor Servidor Es

Capítulo 5. DNS

# cds

atd gpm keytable lpd nfs sendmail syslog

crond halt killall mars-nwe pcmcia single xfs

dhcpd httpd kudzu named network portma snmpd

ypbind functions inet linuxconf netfs random sshd

# ./named start Iniciando named: [ OK ]

Observe que esto no hará quenamedse reinicie junto con el servidor. Para ha-cerlo, se debe usar el comandontsysv y marcar el servicionamed para que seinicie siempre que el servidor sea reiniciado según laFigura 5-10.

215

Page 216: Mestre Servidor Servidor Es

Capítulo 5. DNS

Figura 5-10. Configuración de named A través de ntsysv

Al marcar named para reiniciar junto con el servidor, siempre que el sistemaoperativo entre en acción, el servidor de nombres se iniciará con él.

Archivos de Configuración de BIND

Como ya se ha dicho anteriormente en este capítulo, la configuración de BINDse puede hacer sin la ayuda de Linuxconf, editando diversos archivos de configu-

216

Page 217: Mestre Servidor Servidor Es

Capítulo 5. DNS

ración.

Aunque este capítulo se haya dedicado a demostrar la configuración de BIND através de Linuxconf, deben constar algunas notas con relación a los archivos deconfiguración que se han modificado. Para tener más seguridad, es importanteconocer estos archivos. Si los pierde o damnifica, usted estará automáticamentediciendo adiós a su dominio.

Siendo así, recuerde que: ¡se deben mantener copias de seguridad de estos archi-vos!

El archivo /etc/named.conf

El archivo /etc/named.conf es el primero que debe conocer. Es nuevo en BIND,pues hasta en BIND 4 se hacía la configuración con el archivo/etc/named.boot ,mientras que el BIND 8 hace todo en/etc/named.conf . El archivo/etc/named.conf

del dominiomiorganizacion.com se parece a:

// Configuración para el dominio miorganizacion.com

options { directory "/var/named"; };

zone "." { type hint; file "root.hints"; };

zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; };

217

Page 218: Mestre Servidor Servidor Es

Capítulo 5. DNS

zone "miorganizacion.com" { type master; file

"zone/miorganizacion.com"; };

zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177";

};

Observe las dos últimas secciones de este archivo. La primera define el dominiomaestro (éste es un dominio primario). La segunda define el IP inverso que elservidor de nombres usará para hacer el camino inverso, o sea, la resolución deun nombre a partir de una dirección IP.

El archivo /var/named/nombre-de-dominio

Los dominios sobre los cuales este servidor tiene autoridad, poseen un archivo enel directorio/var/named con el nombre del propio dominio. En nuestro ejemplo,por lo tanto, este archivo se denomina/var/named/miorganizacion . Allí está lainformación de dominio que se configuró en la pantalla exhibida enFigura 5-11.

218

Page 219: Mestre Servidor Servidor Es

Capítulo 5. DNS

Figura 5-11. Añadiendo un dominio

El archivo se parece con:

219

Page 220: Mestre Servidor Servidor Es

Capítulo 5. DNS

@ IN SOA

ns.miorganizacion. hostmaster.ns.miorganizacion. (

2000051001 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire

43200 ; default_ttl ) @ IN MX 5 mx.miorganizacion. @ IN NS

ns.miorganizacion. ns IN A 10.0.0.1

El archivo /var/named/named.local

El archivo/var/named/named.local define el dominio local del computador. Es unarchivo normalizado, que no necesita configuración, es básicamente una versiónde /var/named/nombre-de-dominio adaptado para el dominio y el computador local(localdomain y localhost , respectivamente).

@ IN SOA localhost.

root.localhost. ( 1997022700 ; serial 28800 ; refresh 14400 ;

retry 3600000 ; expire 86400 ; default_ttl ) @ IN NS localhost.

1 IN PTR localhost.

220

Page 221: Mestre Servidor Servidor Es

Capítulo 5. DNS

El archivo /var/named/named.ca

El archivo/var/named/named.ca es un archivo proporcionado por InterNIC, con lainformación necesaria para iniciar elcachedel servidor de nombres. Este archivose debe actualizar periódicamente, por ejemplo, por medio de FTP en el servidorFTP ftp://ftp.rs.internic.net/ de la InterNIC, en el directorio/domain

; This file holds the information on root name servers

needed to ; initialize cache of Internet domain name servers ;

(e.g. reference this file in the "cache . arquivo" ;

configuration file of BIND domain name servers). ; ; This file

is made available by InterNIC registration services ; under

anonymous FTP as ; file /domain/named.root ; on server

FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ;

under menu InterNIC Registration Services (NSI) ; submenu

InterNIC Registration Archives ; file named.root ; ; last

update: Aug 22, 1997 ; related version of root zone: 1997082200

; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS

A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ;

; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET.

B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly

C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET.

C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly

TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET.

221

Page 222: Mestre Servidor Servidor Es

Capítulo 5. DNS

D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly

NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET.

E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly

NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET.

F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly

NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly

AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET.

H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly

NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET.

I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily

housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET.

J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX,

operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET.

K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily

housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET.

L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan,

operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET.

M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File

222

Page 223: Mestre Servidor Servidor Es

Capítulo 5. DNS

Configuración de los Clientes

Configuración a través de Linuxconf

La configuración de los computadores clientes de DNS es mucho más sencillaque la del servidor; esta última significa editar el archivo/etc/resolv.conf o pe-queñas configuraciones en Linuxconf.

Nuevamente, vamos a concentrarnos en la configuración vía Linuxconf porquees mucho más robusta y menos propensa a errores.

Entre en Linuxconf y siga paraConfiguración de Red→ Tareas como Cliente→ DNS para abrir la pantalla de especificación del servidor de nombres que sepuede ver en laFigura 5-12.

223

Page 224: Mestre Servidor Servidor Es

Capítulo 5. DNS

Figura 5-12. Especificación del servidor de nombres

En esta pantalla usted pueden configurar las opciones del servidor de nombresque la estación utilizará. Son:

Uso de DNS: esta opción sirve solamente para indicar a Linuxconf si debe o no, preo-cuparse con DNS. No altera el funcionamiento del computador.

Dominio por defecto: el dominio predeterminado es el dominio más utilizado. Nor-

224

Page 225: Mestre Servidor Servidor Es

Capítulo 5. DNS

malmente es el dominio de su empresa. Cuando usted busca un nombre sin dominio, elservidor de nombres busca el nombre en el dominio predeterminado.

IP del servidor de nombres: aquí usted puede definir hasta tres direcciones IPs deservidores de nombres. Recuerde que el orden es importante, por lo tanto coloque siempreel mejor servidor (el más rápido) en lo alto.

Dominio de músqueda: usted puede definir varios dominios en los cuales se podráencontrar un nombre. Cuando un nombre sin dominio no se encuentra en el dominiopredeterminado, el servidor de nombres comienza a buscar en estos dominios. El ordenes importante, pero no de la misma manera como en los servidores de nombres. Aquíusted no necesita poner los servidores más rápidos antes, sino los más utilizados.

El archivo /etc/resolv.conf

La configuración vía Linuxconf es mucho menos propensa a errores y muchomás intuitiva que la edición del archivoresolv.conf . Aun así, este archivo es muysimple, contiene solamente información sobre el(los) servidor(es) para que sea(n)utilizado(s).

Generalmente, este archivo será bien pequeño y semejante a éste:

domain miorganizacion

search miorganizacion.com

nameserver 10.0.0.5

225

Page 226: Mestre Servidor Servidor Es

Capítulo 5. DNS

nameserver 10.0.0.7

Lo que nos dice este archivo, es que esta estación está en el dominiomiorganiza-

cion , está utilizando los servidores10.0.0.5 y 10.0.0.7 para resolución de nom-bres y que el servidor debe buscar nombres en el dominiomiorganizacion.com siel mismo no se puede encontrar en el dominio local.

Consideraciones finales

Este capítulo ha presentado una pequeña introducción sobre el funcionamiento,la instalación y la configuración de BIND para que usted pudiese tener una no-ción sobre un servidor de nombres. También se ha mostrado cómo configurar lasestaciones para utilizar los servidores de nombres.

Las configuraciones que se presentaron en este capítulo de carácter genérico, sedestinan a la configuración de un servidor de nombre simple.

226

Page 227: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

En este capítulo hablaremos sobre los servidores Internet. Vamos a mostrarlecómo configurar un servidor de páginas deweby un servidor FTP. Además verácómo se monta un servidorproxy.

Primero analizaremos brevemente los conceptos que fundamentan Internet. Ustedtendrá una breve introducción a los protocolos utilizados en la red.

Servidor Web

Introducción y Conceptos

Desde su comienzo en la década de 90webtuvo gran crecimiento.Webconsistesimplemente en una forma de visualizar documentos en hipertexto.

El Hipertexto

El términohipertextose creó en 1965 para diferenciar un texto normal y lineal detextos diferentes. Éstos últimos contienen referencias sobre información extra.

227

Page 228: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Por ejemplo, un texto que contiene la palabraLinux podría contener datos queexpliquen su naturaleza.

El ejemplo más conocido de hipertexto actualmente es una páginaweb. Donde sesiguen las referencias entre las páginas, sin acompañar un guión lineal.

El Protocolo HTTP

Para que pueda visualizar un documento de hipertexto en Internet, es necesario unprotocolo para hacer la comunicación entre usted y el servidor. Este protocolo esel HTTP1. Una sesión HTTP generalmente involucra pocos pasos. Por ejemplo:

1. El cliente establece la conexión con el servidor (eso se hace mediante otros protoco-los de la red, generalmente TCP/IP) y solicita un documento:

GET /index.html HTTP/1.0

En este ejemplo, el cliente está solicitando el archivo/index.html que nor-malmente es el archivo predeterminad. Posteriomente, veremos más sobreesos temas. Lo importante ahora es notar que estamos solamente enviandoun pedido al servidor HTTP.

2. Después de la solicitud, el servidor contesta. Esta respuesta se divide en tres partes:

1. HyperText Transfer Protocol

228

Page 229: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

• Un código de retorno. La gran mayoría de las implementaciones de HTTP retor-nan este código seguido de un mensaje (generalmenteOK o una descripción deerror, si fuera el caso). Además, se devuelve un texto identificando la versión delprotocolo. En nuestro ejemplo, esta línea es:

HTTP/1.1 200 OK

significando que el servidor se está comunicando medianteHTTP 1.1 y laoperación (la solicitud del archivo) fue exitosa.

• Un encabezamiento. Este encabezamiento contiene distinta información sobre elarchivo que se envía, como por ejemplo, tamaño e información sobre el propioservidor:

Date: Fri, 19 May 2000 20:53:51 GMT

Server: Apache/1.3.12 (Unix) (Conectiva/Linux) mod_ssl/2.6.0

OpenSSL/0.9.4

Last-Modified: Thu, 15 Apr 1999 16:38:13 GMT

ETag: "177c3-508-371615f5"

Accept-Ranges: bytes

Content-Length: 1288

Connection: close

Content-Type: text/html; charset=iso-8859-1

La información puesta arriba, demuestra que estamos conectados a uncomputador que ejecuta Apache 1.3.12. Tenemos la fecha de la últimamodificación del archivo, su tamaño y su tipo. El programa cliente puede

229

Page 230: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

utilizar esta información para decidir qué es lo que hay que hacer con undeterminado archivo.

• El archivo propiamente dicho. Después del encabezamiento, el servidor envía unalínea en blanco, indicando que a partir de aquel punto, todo lo que se mande, for-mará parte del archivo solicitado. Un programa cliente puede controlar el progresode la transmisión controlando cuánto ya se transmitió y comparando estos datoscon el tamaño informado en el encabezamiento.

Apache

El servidor Apache es el web más popular del mundo. Una investigación recientedemostró que Apache se utiliza más que todos los otros servidores disponiblesjuntos.

La popularización deweben los últimos años, obligó a las empresas a colocar in-formaciones a disposición de los clientes. Para eso, es imperativo utilizar Apachepara cualquier empresa que quiera mostrar presencia en la red.

Además de permitirle brindar su información en Internet, Apache le permite pu-blicar contenido en su Intranet,convirtiéndola realmente en un producto indis-pensable.

230

Page 231: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Instalación de Apache

1. Acceda al CD de la distribución de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS

2. Instale el paquete de Apache:

# rpm -ivh apache-*

apache ########################################

apache-devel ########################################

apache-doc ########################################

Configuración de Apache

El servidor Apache que acompaña la distribución de Conectiva Linux ya vieneconfigurado con las opciones más utilizadas, de tal forma que usted sólo necesitainiciar el servidor para que su Conectiva Linux sea un servidorweb. Cuando dainicio al servidorweb, puede acceder a su computador vía HTTP y visualizar la

231

Page 232: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

página estándar como se muestra enFigura 6-1:

232

Page 233: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-1. Página Inicial deApache Conectiva Linux Vista en Netscape® 233

Page 234: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Para iniciar el servidor Apache, abra un terminal y teclee:

# cds

atalk functions keytable lpd network

atd gpm killall mars-nwe nfs

autofs halt kudzu mysql nfslock

crond httpd ldap named pcmcia

dhcpd inet linuxconf-setup netfs portmap

# ./httpd start

Iniciando httpd: [ OK ]

#

La configuración de Apache depende mucho del perfil del servidorwebdeseado.En esta sección verá cómo configurar a Apache de la forma más simple posible.Después, usted sabrá un poco sobre los módulos más populares de Apache ycómo instalarlos y configurarlos.

Para configurar el Apache, usted debe acceder a Linuxconf y entrar enConfigu-ración de red→Tareas del servidor→Apache - servidor www. Usted verá elmenú inicial de la configuración de Apache como se muestra enFigura 6-2.

234

Page 235: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-2. Pantalla inicial de configuración de Apache

Presione enPredeterminados para alterar las opciones básicas de su servidorWWW.

235

Page 236: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-3. Configuración Básica de Apache

Hay un gran número de opciones que se pueden configurar en esta pantalla, pero

236

Page 237: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

nos atendremos a las más comunes:

• E-mail del administrador: aquí usted podrá informar la dirección del correo elec-trónico del administrador delsitio.

• Dirección IP del dominio: en este campo usted podrá informar una dirección IPpredefinida para el dominio. Esta dirección IP, generalmente es la dirección IP delservidor www y se utilizará cuando alguien intente acceder a la página por medio delnombre del dominio, en lugar del nombre del computador. Por ejemplo, imagine queel servidor Apache se está ejecutando en el computadorkepler.miorganizacion , quetiene la dirección IP 10.0.0.1. Si usted informa la misma dirección IP del computadorkepler (10.0.0.1) comoDirección IP del dominio, cuando alguien intente acceder a ladirecciónmiorganizacion (dominio), accederá en realidad akepler.miorganizacion (elcomputador que realmente tiene la dirección de IP especificada).

• Nombre de servidor: usted podrá informar el nombre del computador donde se estáejecutando Apache . En condiciones normales, este campo no es necesario, ya queApache es capaz de descubrir el nombre por medio deDNSo del propio archivohosts .

• Directorio root: usted podrá informar aquí el directorio en donde estarán los archivosde susitio. El directorio estándar es/home/httpd/html .

• Script Alias (Directorio alternativo de scripts): podrá informar variosalias paralos directorios de CGI. Eso quiere decir que usted va a definir un directorio virtual yasociarlo a un directorio real. Por ejemplo, usted puede definir que cuando una páginahaga una referencia al directorio virtual/cgi-bin , estará en realidad accediendo a losarchivos del directorio/home/httpd/cgi-bin .

237

Page 238: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Una de las características más utilizadas en Apache es su capacidad de trabajarconmáquinas virtuales2. Una máquina virtual es, en realidad, un pequeño trucoinvolucrando a Apache y al servicio de nombres del servidor (DNS o el archivohosts ). Básicamente, un computador virtual es un alias para la máquina real. Estealias debe tener un IP propio. Con eso, se consigue que un solo servidor Apachesirva diversossitiospor separado.

En nuestro ejemplo, asumimos que nuestra máquina se denominakepler . Ahoravamos a suponer que quisiéramos ofrecer información de soporte técnico me-diante otro nombre de máquina, tal comosoporte.miorganizacion . El contenidode este otrositio deberá localizarse en la misma máquinakepler .

Primero, debe establecer un alias de IP para el computadorkepler . Para hacerlo,debe pulsar el botónAlias de IP para máquinas virtuales en el menúConfigu-ración de Red de Linuxconf. LaFigura 6-4muestra la pantalla de configuraciónde los alias de IP. Vea que usted debe elegir lainterfazde red que se va a utilizar.Ésta debe ser lainterfazusada para acceder a la máquina.

2. . En Apache, este concepto se denominaVirtualHost

238

Page 239: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-4. Alias de IP

239

Page 240: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Basta informar la nueva dirección de IP para la máquina. En el ejemplo deFigura6-4, definimos que la máquinakepler (nuestro servidor) responderá a la direcciónIP 10.0.1.1 además de su dirección de IPreal.

Note, sin embargo que, antes de continuar, usted debe configurar su servicio denombres para que éste asocie el nombresoporte a esta dirección IP. No formaparte de los objetivos de este capítulo el proceso de actualización de DNS, ve-rifique la documentación disponible sobre servidores de nombres para aprendercómo hacer esta configuración.

Ahora usted puede volver a la pantalla de configuración de Apache en Linuxconfy teclearMáquinas Virtuales seguido deAgregar. En la pantalla deFigura 6-5,podrá definir las opciones de su máquina virtual.

240

Page 241: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-5. Máquina Virtual de Apache

Note que las opciones disponibles se asemejan a las utilizadas en la configura-ción de los patrones de Apache. Pero vamos a ver el significado de los valoresdefinidos en nuestro ejemplo:

• Nombre de la máquina virtual: aquí definimos que nuestro computador virtual sedenominarásoporte . Nuevamente, recuerde que su DNS debe estar configurado parareconocer este nombre y relacionarlo con el alias de IP que elijamos.

241

Page 242: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

• E-mail del administrador: aquí solamente definimos que la dirección del correo elec-trónico del administrador esroot@miorganizacion .

• Doamin IP address: especificamos la dirección de nuestro dominio. Esta direcciónse utilizará cuando se haga un intento de acceso al computador mediante el nombre deldominio sin el nombre de la máquina.

• Nombre del servidor: este es el nombre de la máquina servidor.

• Directorio root: este es el directorio donde pondremos los archivos de la máquinasoporte . Así, todas las páginas y figuras del soporte técnico estarán en el directorio/home/httpd/soporte/html .

• Registros de error: cuando algún error ocurra durante un intento de acceder a laspáginas desoporte , Apache salvará sus propias informaciones en este archivo.

• Registros de transferencia:este archivo contiene un registro de los accesos a la má-quina virtualsoporte . Estos datos se pueden utilizar para obtener información de se-guridad.

• Nombres alternativos descript: aquí usted puede definir directorios de losscriptsCGI que se utilizarán con la máquinasoporte . Note que es posible utilizar el mismodirectorio para todas las máquinas, ya sean virtuales o reales.

242

Page 243: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Servidor FTP

En esta sección trataremos del servidor FTP. En Conectiva Linux los servicios deFTP los realiza WU-FTPD . De modo que esta sección tratará sobre WU-FTPD.

WU-FTPD

FTP es una sigla paraFile Transfer Protocolo Protocolo de Transferencia deArchivos. El protocolo FTP permite las transferencias de archivos binarios y ar-chivos texto con alta eficiencia a través de una red.

Instalación y Configuración

1. Para instalar a WU_FTPD, acceda al directorio de paquetes de CD de la distribuciónde su Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS

243

Page 244: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

2. Instale el paquete de WU_FTP:

# rpm -ivh wu-ftpd-*

wu-ftpd ######################################

3. Asegúrese que la línea abajo esté presente en el archivo/etc/inetd.conf y que noesté comentada:

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

4. Si hizo alteraciones al archivo/etc/inetd.conf , debe reiniciar elinetd:

# cds

atd gpm keytable lpd nfs sendmail syslog

crond halt killall mars-nwe pcmcia single xfs

dhcpd httpd kudzu netfs portmap snmpd ypbind

functions inet linuxconf-setup network random sshd

# ./inet stop

244

Page 245: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Interrumpiendo los servicios INET: [ OK ]

# ./inet start

Iniciando los servicios INET: [ OK ]

Con el servidor FTP correspondientemente instalado, usted puede acceder a Li-nuxconf para iniciar el proceso de configuración.

En Linuxconf, vaya paraConfiguración de Red → Tareas del Servidor →Wu-ftp - servidor de ftp para abrir la pantalla inicial de configuración del servi-dor FTP. Esta pantalla se muestra enFigura 6-6.

Figura 6-6. Pantalla inicial de configuración de WU-FTPD

Pulse enConfiguración básica→ Misc para abrir la pantalla que se muestra enFigura 6-7.

245

Page 246: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-7. Configuración Básica del Servidor FTP

Estas son las opciones básicas del servidor FTP. Con ellas, usted podrá definir elcomportamiento general de su servidor.

• Correo del administrador: dirección del correo electrónico del administrador del sis-

246

Page 247: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

tema.

• Grupo de invitados: aquí usted puede informar el grupo de Linux al que pertenecerá elusuarioanonymous. Usted tendrá más información sobre acceso anónimo al servidorenla sección de nombreAccesos Anónimos. Si este campo no se completa, se utilizaráel gruponobody.

• Archivo de bienvenida: el contenido del archivo debannerse mostrará a los usuariosen el momento en que ellos accedan con éxito a su servidor.

• Mensaje de bajada:si el archivo informado existe, siempre que un usuario intente ac-ceder al servidor, se mostrará el contenido y el servidor cerrará la conexión. El archivoes bastante útil si usted quiere interrumpir temporalmente el servicio de FTP.

• Permitir acceso anónimo:aquí usted puede permitir o prohibir los accesos anónimos.Más datos sobre este asunto enla sección de nombreAccesos Anónimos.

Ahora presioneControlar en esta misma pantalla para acceder a las opciones decontrol de acceso del servidor FTP. La pantalla se muestra enFigura 6-8.

247

Page 248: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-8. Configuración de Control de Accesos

Hay en realidad, tres pantallas de configuración de control de acceso:

• Usuarios reales:control de acceso de los usuarios reales de su sistema. Esos son losusuarios que tienen cuentas en su red.

248

Page 249: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

• Usuarios invitados:control de acceso para usuarios invitados.

• Anónimos: control de acceso de usuarios que se conectan en forma anónima.

Las tres pantallas son absolutamente idénticas entre sí. Las opciones disponiblesson:

• puede pedir archivos comprimidos:define si el usuario podrá comprimir sus archi-vos. WU-FTPD permite la compresión de archivos durante la transmisión.

• puede pedir archivos tar: especifica si el usuario tiene permiso para comprimir ar-chivos transmitidos usando tar.

• puede cambiar modoss:especifica si el usuario puede modificar los permisos de losarchivos localizados en el servidor FTP.

• puede borrar archivos: define si el usuario tiene permiso de borrar archivos locali-zados en el servidor FTP.

• puede sobreescribir: define si el usuario puede sobre-escribir archivos en el servidor.

• puede renombrar: especifica si el usuario puede modificar el nombre de los archivoslocalizados en el servidor.

• registrar transferencias entrantes:especifica si el servidor debe mantener un registrode los archivos que lleguen.

• registrar transferencias salientes:especifica si el servidor debe mantener un registro

249

Page 250: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

de archivos enviados.

Accesos Anónimos

El usuario podría acceder a su servidor en forma anónima. Eso es muy útil,cuando usted desea proporcionar archivos a personas externas a su organización.Como esas personas no tienen cuentas de usuario en su sistema, la única formade acceder a sus archivos es por medio del acceso anónimo.

Para permitir el acceso anónimo a su servidor:

1. Acceda el directorio de paquetes de CD de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS

2. Instale el paquete de acceso anónimo:

# rpm -ivh anonftp-*

anonftp ##############################################

A partir de ese momento, para acceder al servidor FTP anónimamente, el usuario

250

Page 251: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

deberá informar el nombre de usuarioanonymousy su dirección de correo elec-trónico como contraseña.

$ ftp localhost

Conectado en la máquina localhost.

220 einstein.miorganizacion FTP server

(Version wu-2.6.0(1) Fri May 12 11:05:03 BRST 2000) ready.

Usuario (localhost:albert): anonymous

331 Guest login ok, send your complete e-mail address as password.

Contraseña:

230 Guest login ok, access restrictions apply.

El tipo de sistema remoto es UNIX.

Usando modo binary para transmitir/recibir archivos.

ftp>

Note que en el ejemplo puesto arriba, la contraseña no se exhibe, pero el usuariotuvo que teclear su dirección de e-mail para poder tener acceso al servidor. Elusuarioanonymousno necesita (ni debe) ser registrado en su Conectiva Linux,ya que él es un usuario especial para el servidor FTP. Cuando se hace un intentode acceso con el usuarioanonymous, el servidor automáticamente trata el accesocomo anónimo, aceptando la dirección del correo electrónico como contraseña.

251

Page 252: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Permitiendo el envío de archivos

Normalmente, usted no necesitará (ni probablemente querrá) que los usuariospuedan grabar archivos en su servidor FTP. Pero, en algunos casos, puede haberinterés en reservar un área para que los usuarios puedan guardar archivos.

Se ha convertido en una práctica usual que los usuarios tuvieran un punto es-pecífico en los servidores de FTP para grabar archivos. Este lugar es el directorio/incoming .

Permitir que los usuarios graben en su servidor FTP, es un gran riesgo, y por eso,se debe pensar muy bien antes de hacerlo.

Uno de los mayores problemas que podrían presentarse con eso, es que usted notenga mucho control sobre lo que se graba en su servidor. No se puede impedirfácilmente que los usuarios guarden en ese sitio, material ilegal.

Se recomienda entonces que sea permitido acceder a escritura en su servidor. Sino se puede elegir, se debe determinar alguien como responsable por controlar losarchivos que se guardan en el servidor, para evitar los que puedan traer problemasen el futuro.

Para crear el/incoming :

252

Page 253: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

1. Acceda al directorio raíz de FTP:

# cd /home/ftp

2. Genere el directorioincoming

# mkdir incoming

3. Ahora usted debe hacer que el directorio creado sea de propiedad de un usuario ygrupo diferentes deroot y de ftp . Usted puede crear un usuario y grupo específicospara esto si lo desea, pero utilizaremosnobody.nobodyen nuestro ejemplo.

# chown nobody incoming

# chgrp nobody incoming

# chmod 3773 incoming

4. Ahora usted debe editar el archivo/etc/ftpaccess para permitir la escritura en eldirectorio /incoming . Note que, si usted ha creado un usuario y grupo para que seadueño de directorio,deberá informarlo en la línea inferior en lugar denobody.

upload /home/ftp /incoming yes nobody nobody 0400 dirs

253

Page 254: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

El formato de esta línea es:

upload HOME DIR GRABA USUARIO GRUPO PERMS DIRS

Donde:

• HOME: directoriohomedel usuario. En nuestro ejemplo, informamos/home/ftp .Eso quiere decir que esta línea se aplica a cualquier usuario cuyo directoriohomesea/home/ftp .

• DIR: directorio al cual se refiere la línea. Se relaciona con la raíz del directoriode FTP. En nuestro ejemplo, informamos que esta línea se aplica al directorio./incoming .

• GRABA: aquí usted informa si se permite o no grabar en el directorio al cual serefiere la línea. Los valores permitidos sonSI o NO. En nuestro ejemplo, estamospermitiendo la escritura.

• USUARIO: es el nombre del usuario a quien pertenecerán todos los archivosgrabados en el directorio. En nuestro ejemplo, ese usuario esnobody.

• GRUPO: es el grupo a quien pertenecerán todos los archivos grabados en el di-rectorio. En nuestro ejemplo ese grupo esnobody.

• PERMS: después de grabados, los archivos tendrán los permisos cambiados paraéstos. En nuestro ejemplo, definimos que los archivos grabados en este directoriopasarían a tener permisos 0400, o sea, solamente para lectura del dueño (en estecaso, el usuarionobody.nobody). Se recomiendan estos tipos de permisos, ya

254

Page 255: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

que no autorizan a los usuarios a usar al servidor, en el intercambio de archivosilegales. Eso asegura que alguien tendrá que verificar el archivo y cambiar suspermisos antes que otro lo pueda acceder vía FTP.

• DIRS: especifica si el usuario anónimo puede crear directorios dentro del direc-torio /incoming . En nuestro ejemplo, el usuario puede crear. Los valores posiblessondirs y nodirs.

Archivos de Mensajes y de Bienvenida

Si usted ya accedió a algún servidor FTP, entonces ya debe haber notado quees común que aparezcan mensajes informativos cuando se conecta o cuando secambia de directorio. Estos mensajes son muy útiles para informarle al usuariolas posibilidades y reglas que se seguirán en el servidor.

Archivo de Bienvenida

Cuando usted configura el WU-FTPD en Linuxconf, hay una opción que se de-nominaArchivo de bienvenida.

255

Page 256: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Usted puede informar un archivo, en donde el usuario verá el contenido antes derealizar la conexión. Esto es útil para breves mensajes de bienvenidas al servi-dor. Se puede mostrar una breve explicación sobre el servidor y sus derechos deacceso.

Recuerde que el archivo de banner se presenta al usuario antes del login. De ma-nera que evite dar mucha información sobre el servidor por medio de este archivo.

El Archivo .mensaje

Uno de los archivos más comunes y más útiles en un servidor FTP es el archivo.mensaje . Cuando el servidor encuentra este archivo en un directorio, le muestrasu contenido al usuario antes de mostrar el contenido del directorio en sí.

Puede utilizar este archivo para dar breves explicaciones sobre los propósitos delos directorios a los que se accede. Además, se le puede ayudar al usuario paraque encuentre lo que busca.

Por ejemplo, digamos que un usuario quiera acceder a su servidor para encontraruna actualización para un programa. Si no tiene mucha experiencia con servidoresFTP, no sabe realmente cómo encontrar lo que precisa. Así, usted podría creararchivos.mensaje para guiar al usuario.

Cuando el usuario accede al directorio/pub del servidor FTP, por ejemplo, ustedpodría explicarle lo que allí está disponible. Un ejemplo de cómo se muestra elmensaje al usuario está enFigura 6-9.

256

Page 257: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

257

Page 258: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Figura 6-9. Directorio con .mensaje Visto en Netscape258

Page 259: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Servidor Proxy

En esta sección trataremos de implementar un servidorproxy en un ConectivaLinux.

El softwareservidorproxyque acompaña Conectiva Linux es el Squid y en él secentralizará esta documentación.

Caching

Cuando usted accede a una página dewebo a un archivo de FTP, una solicitudparte de su máquina hasta el servidor, recién entonces se transmiten los datos parasu máquina. Como muchas veces la distancia entre el servidor y su máquina esmuy grande y la calidad de las líneas de transmisión muy irregulares, este procesoacaba por volverse bastante lento.

Además, la mayoría de los datos solicitados son estáticos, no cambiarán con elpaso del tiempo. Los logotipos que las empresas colocan en sus páginas, porejemplo, no tienden a cambiar. Sin embargo, son muchas veces, bastante grandes.Eso es un enorme desperdicio de recursos de la red y también de tiempo.

Una solución que se ha encontrado es lo que se denominacaching. Siempre quese hace un pedido de algún objeto de Internet, el servidorproxyconsulta alcachepara verificar si este objeto ya no se ha solicitado previamente. Si lo fue, entoncesel servidorproxypuede responder a la solicitud usando su propia copia local delobjeto. Eso acelera significativamente las operaciones en Internet, ya que granparte de los objetos acaba transitando sólo localmente.

259

Page 260: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

El servidorproxy verifica si su copia se actualiza con el objeto original. Si noes así,proxyactualizará su copia. Naturalmente, un servidor decacheno podríaguardar para siempre todos los objetos a los que se accedió, porque eso lo sa-turaría rápidamente. La solución es sencilla: el servidor mantiene solamente losarchivos usados hace menos tiempo. Eso garantiza, de forma indirecta, que losobjetos usados más frecuentemente estén siempre encache.

Squid

El servidor Squid es elproxyde Conectiva Linux. Brinda un alto rendimiento decachepara servidoresweb.

En comparación con otros servidoresproxy,Squid ofrece grandes ventajas:

• Realiza, además decachede objetos como archivos de FTP y páginas deweb, uncachede procuras de DNS. Eso quiere decir que guarda información sobre la relación entrelas direcciones IP y los nombres de máquinas de Internet. Esto acelera la localizaciónde máquinas.

• Mantiene los objetos más utilizados en la memoria RAM (cuyo uso se puede limitarpor la configuración).

• Soporta SSL (acceso a páginas encriptadas) para seguridad en transacciones.

• Se puede organizar en jerarquías de servidores decachepara mejorar significativa-

260

Page 261: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

mente el rendimiento.

• Responde a las solicitudes en un único proceso de acceso al disco.

Todo el servidorproxySquid consiste en un programa principal (Squid) y de supropio programa de resolución de nombres (dnsserver). Cuando Squid se inicia,crea el proceso de dnsserver, disminuyendo el tiempo de espera por la respuestadel DNS.

Instalación y configuración

Para instalar Squid:

1. Acceda al directorio de paquetes de CD de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS

2. Instale el paquete de Squid:

rpm -ivh squid-*

261

Page 262: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

squid ##################################################

3. Inicie el programa:

# cds

atd gpm killall named pcmcia single

autofs halt kudzu netfs portmap smb

crond httpd linuxconf-setup network postgresql snmpd

dhcpd inet lpd nfs random squid

functions keytable mars-nwe nfslock sendmail sshd

[root@gnu init.d]# ./squid start

creating directories at /var/spool/squid, wait... [ OK ]

Iniciando squid [ OK ]

Para efectuar configuraciones en Squid es necesario editar su archivo de configu-ración, que está localizado en/etc/squid/squid.conf .

262

Page 263: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Memoria para Cache

En la memoria RAM, Squid almacena los objetos que se utilizan más. Por eso elrendimiento será mucho mejor que si los objetos fueran almacenados en disco.

La cantidad de memoria que se va a utilizar paracachede Squid puede (y debe)ser limitada, para que no interfiera con otros procesos en los sistemas. El valorpredefinido es 8MB.

Note que este límite de memoria se refiere a la usada para cache y no a la totalutilizada por el Squid. En realidad, la que Squid ocupa, deberá estar cercana altriple de este valor.

Para especificar la cantidad máxima de memoria que se debe emplear paracache,debe utilizar el parámetrocache_mem en el archivo/etc/squid/squid.conf :

cache_mem MEM

DondeMEM es la cantidad de memoria máxima que se ocupará paracache.

Ejemplo:

cache_mem 32 MB

Este ejemplo especifica que Squid deberá limitar a 32MB la cantidad de memoriautilizada paracache.

263

Page 264: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Archivos de Cache

Los objetos guardados por el Squid se graban en archivos en el disco duro. Ustedpuede especificar algunas opciones para definir cómo Squid trabajará con archi-vos.

cache_dir TIPO NOMEDIR MB N1 N2

Donde:

• TIPO: debe especificar el tipo de sistema de almacenamiento que Squid deberá uti-lizar. Normalmente, se debe usarufs. Puede intentar utilizarasyncufspara obtenermejor rendimiento. Si por acaso,asyncufsno funciona correctamente en su sistema,vuelva a usar elufs.

• NOMEDIR: especifique el directorio donde se grabarán los archivos . Note queSquidno generará automáticamente este directorio.

• MB: puede modificar el espacio máximo que se va a utilizar paracacheen este direc-torio. El valor predefinido es de 100 MB.

• N1: usted puede especificar el número máximo de directorios de primer nivel que secrearán dentro del directorio decache. El predefinido es 16.

• N2: número máximo de directorios de segundo nivel que se crearán dentro de cadadirectorio de primer nivel. El valor predeterminado es de 256.

264

Page 265: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

Ejemplo:

cache_dir ufs /var/spool/squid 100 16 256

Este ejemplo define que el directorio decacheserá el/var/spool/squid , que podrátener hasta 100MB, 16 directorios de primer nivel y 256 directorios de segundonivel dentro de cada directorio de primer nivel.

Control de Acceso

Por razones de seguridad, la configuración estándar de Squid de Conectiva Linuxes bastante conservadora; niega el acceso a cualquier máquina.

Usted debe alterar este comportamiento para poder utilizar Squid. Por lo tantodebe establecer reglas de acceso al servidorproxy. Las reglas tienen el formato:

http_access PERM QUEM

Donde:

• PERM: indica si la línea es un permiso o una prohibición de acceso. Los valorespermitidos son:allow, para permitirdeny, para negar acceso.

• QUEM: a quien se refiere este permiso. puede ser una máquina o un dominio o unaclase. Se puede todavía usarALL para indicar que el permiso definido en la línea se

265

Page 266: Mestre Servidor Servidor Es

Capítulo 6. Servidor Internet

refiere a todas las máquinas.

Ejemplo:

http_access allow all

Este ejemplo permite que todas las máquinas de la red puedan utilizar este servi-dorproxy.

Note que, como se ha mencionado anteriormente, Squid se ha configurado previa-mente para que no permita el acceso de ningún usuario o máquina. Así, usted debebuscar la línea del archivo /etc/squid/squid.conf parecida con:

http_acces DENY all

Entonces suprimirla o editarla en el archivo.

266

Page 267: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Introducción

Correo electrónico1 siempre fue una de las aplicaciones clave en Internet. Esconsiderado imprescindible por los que utilizan Internet para intercambiar in-formación crucial de manera rápida, eficaz y segura, aunado, por ejemplo a algúnmecanismo de encriptación o autenticación, como gnupg http://www.gnupg.org.Este capítulo explica con más detalles cómo suceden intercambios de mensajeselectrónicos; cuáles son los protocolos y herramientas utilizados y cómo configu-rarlos para las tareas más usuales.

1. electronic mail o e-mail

267

Page 268: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

La teoría

Cómo funciona el intercambio de mensajeselectrónicos

Para entender mejor los conceptos abordados más adelante, es útil tener una ideaglobal de lo que ocurre durante la transferencia de un mensaje electrónico entredos puntos (en la práctica, dos máquinas). Por ejemplo, Juan, cuyo alias esjuan ,quiere enviar un mensaje a su hermano Francisco (francisco ). No importa si Juany Francisco están comunicándose por una intranet (red interna) o por Internet, elproceso es análogo. Además, la máquina de Juan se llamaardilla y el servidor dee-mails de Francisco,pluto . Juan escribe el mensaje a su cliente de email, llamadoAgente de mensajes del usuario2 preferido, o simplemente teclee lo siguiente:

$ echo "Cena en la casa de la abuela." | \ >

mail -s ’Francisco!’ francisco@pluto

Se entrega el mensaje alMTA3 de la máquinaardilla . El MTA es el responsa-

2. MUA o Mail User Agent

3. Mail Transport Agent.

268

Page 269: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

ble por la entrega de mensajes en el buzón correcto. Así, el MTA de la máquinaardilla determina que se debe entregar el mensaje a la máquinapluto . Para re-alizar esta tarea, éste se conecta al puerto 25 usando el protocolo SMTP4 y envíael mensaje. El MTA de la máquinapluto , recibe el mensaje y lo deja en el buzónde Francisco (por ejemplo,/var/spool/mail/francisco ). Y a partir de ahí, Fran-cisco empieza a prepararse para la cena en familia :)).

Protocolos involucrados en el intercambio demensajes

SMTP

SMTP es el protocolo responsable por el envío de mensajes de la máquina deorigen (en el ejemplo anterior,ardilla ) hasta la máquina de destino (pluto ). LosMTAs de las dos máquinas y de alguna otra que pueda estar en el medio delcamino realizado por el mensaje (si Francisco tiene un redireccionamiento deemail, por ejemplo, habrá más máquinas en el proceso) son responsables por eltránsito de mensajes hasta el buzón de Francisco enpluto . Sendmail, por ejemplo,es un MTA y se explicará detalladamente más adelante.

Cuando se establezca la conexión, el MTA normalmente muestra un mensaje de

4. Simple Mail Transfer Protocol

269

Page 270: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

presentación, básicamente diciendo que es el responsable por el SMTP en esamáquina. El MUA (o el administrador de sistemas que hizo telnet para el puerto25 de la máquina con el objetivo de probar lo que está leyendo) debe entoncesempezar la comunicación enviando el comando HELO:

HELO ardilla

El MTA normalmente responde con un mensaje simpático como “Mucho gustoen conocerle”. En seguida, el MUA avisa quien es el remitente del mensaje queserá transmitido:

MAIL FROM: juan@ardilla

Si todo ocurre como se espera, el MTA acepta el remitente (“250 [email protected] ok”). En seguida, se informa el destinatario:

RCPT TO: francisco@pluto

Nuevamente, el servidor debe confirmar que aceptó enviar el mensaje para ladirección especificada (“250 francisco@pluto... Recipient ok”). El mensaje puedeser rechazado, por ejemplo, por alguna protección contra SPAM. Pero, si todosale bien, sólo falta el mensaje:

DATA

A partir de ahí, lo que se teclee aparecerá en el mensaje, hasta que se teclee una

270

Page 271: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

línea conteniendo solamente un punto (“.”). Vea que es en ese punto en el quese definen los encabezamientos. Así, se podría escribir el mensaje del ejemplocomo:

DATA

354 Enter mail, end with a "." on a line by itself

To: Francisco Serrano <francisco@pluto >

From: Juan Serrano <juan@ardilla >

Subject: ¡Francisco!

Cena en la casa de la abuela.

Abrazos de tu hermano,

Juan

El servidor imprime en la pantalla una línea informando que el mensaje fue acep-tado en la cola de procesamiento. Para enviar el mensaje para más de una direc-ción, ejecute el comandoRCPT TO: para cada destinatario. Quien aparece enel campoFrom:, quién aparece en el campoCc: y quien no aparece (o sea, queestá en el campoBcc: del mensaje) se define también dentro del comandoDATA .Suponiendo que las líneasRCPT TO: relevantes ya hayan sido definidas:

MAIL FROM: juan@ardilla

250 juan@ardilla... Sender ok

271

Page 272: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

RCPT TO: francisco@pluto

250 francisco@pluto... Recipient ok

RCPT TO: [email protected]

250 [email protected]... Recipient ok

RCPT TO: [email protected]

250 [email protected]... Recipient ok

DATA

354 Enter mail, end with a "." on a line by itself

To: Francisco Serrano <francisco@pluto >

From: Juan Serrano <juan@ardilla >

Cc: Departamento de Filosofia <[email protected] >

Subject: ¡Francisco!

...

Siempre es bueno recordar que lo que separa el encabezamiento del cuerpo delmensaje es una línea en blanco. Entonces, no deje líneas en blanco entre las líneasdel encabezamiento.

Para finalizar la sesión, se utiliza el comandoQUIT .

Usando el SMTP, el mensaje es transportado hasta la máquina de destino. SiFrancisco está leyendo sus mensajes directamente en el servidor, no hay otrosprotocolos involucrados. Pero, si él tiene que bajarlos para otra máquina, es ne-cesario otro protocolo para la recuperación de los mensajes.

272

Page 273: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

POP

Se utiliza el protocolo POP, inversamente al SMTP, cuando se quiere buscar unmensaje que está en el servidor. El lector debe haberse dado cuenta que no hay au-tenticación en el protocolo SMTP. En principio, cualquiera puede enviar mensajespara otra persona. Con el recibimiento de mensajes, obviamente, es diferente. Elusuario, al conectarse con el servidor POP (usualmente en el puerto 110) envíalos comandosUSER y PASSpara asegurarse el derecho de leer los mensajes enaquel servidor:

USER francisco

+OK User name accepted, password please

PASS notlob

+OK Mailbox open, 5 messages

Si el servidor confirma la autenticación, se pueden listar los mensajes en el buzón.Vea que se pasa la contraseña en texto puro y es visible (al contrario, por ejemplo,de lo que ocurre en el proceso de login en una máquina Linux). Entonces, si sequiere hacer una prueba, es bueno asegurarse de que no hay nadie alrededor, osu contraseña puede ser descubierta. Además, hay siempre la posibilidad de quealguien haya puesto unsniffer5. Dependiendo de la importancia de la informa-

5. Programa que observa el tránsito en la red y puede coger datos que se transmiten en formatotexto en la red.

273

Page 274: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

ción que se transmite y se recibe y de cuán paranoico se desea ser, se aconsejatransmitir los mensajes usando criptografía o incluso optar por otro protocolo queofrezca más seguridad.

Después de autenticado, el servidor POP abre el buzón del usuario y le dice cuán-tos mensajes están disponibles. El usuario puede entonces listarlos y saber sutamaño con el comandoLIST . Con eso, el servidor POP muestra en orden, unnúmero para cada mensaje del buzón, y se registra cada mensaje por ese número.Por ejemplo, para ver el contenido de un mensaje, se usa:

RETR <número del mensaje de acuerdo con el informe del comando LIST >

Es común que se borren mensajes del servidor POP después de bajarlos parauna máquina local. O, un buzón puede estar bloqueado debido a un mensaje detamaño desproporcional, por ejemplo. El comando para borrar un mensaje es:

DELE <número del mensaje de acuerdo con el informe del comando LIST >

Así como en el SMTP, se cierra una sesión con un “QUIT”, o sea, una sesiónestándar usándose el POP sería algo como:

$ telnet pluto 110

Trying 200.192.38.238...

Connected to pluto.

Escape character is ’^]’.

274

Page 275: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

+OK POP3 pluto v7.60 server ready

USER francisco

+OK User name accepted, password please

PASS notlob

+OK Mailbox open, 5 messages

RETR 5

+OK 380 octets

Return-Path: <juan@ardilla >

Received: (from juan@ardilla)

by ardilla (8.9.3/8.9.3) id NAA10331

for francisco; Fri, 19 May 2000 13:53:05 -0300

Date: Fri, 19 May 2000 13:53:05 -0300

From: Juan Serrano <juan@ardilla >

Message-Id: <200005191653.NAA10331@ardilla >

To: Francisco Serrano <francisco@pluto >

Subject: ¡Francisco!

Status:

Cena en la casa de la abuela.

Abrazos de tu hermano,

275

Page 276: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Juan

.

DELE 5

+OK Message deleted

QUIT

+OK Sayonara

Connection closed by foreign host.

$

IMAP

El POP es relativamente antiguo y bastante conocido. Un protocolo más nuevo,el IMAP , está llamando la atención. La gran diferencia del IMAP en relación alPOP es la posibilidad de manipulación de los mensajes en el propio servidor. Esposible crear carpetas y organizar los mensajes en ellas, hacer búsquedas en losmensajes, ver solamente encabezamientos, etc.. Si todas estas funciones son casiestándar en cualquier cliente de e-mail, seguramente no lo son en un servidor. Esacaracterística es especialmente atrayente cuando se accede a la misma cuenta decorreo electrónico a partir de más de una máquina.

Todo comando de IMAP debe ser precedido por un identificador llamadotag ,normalmente algo como A0001 (pero no necesariamente). Mensajes de respuesta

276

Page 277: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

del servidor son precedidos por el identificador del comando en cuestión, y el co-mandoBAD (en el caso de error como, por ejemplo, no especificar todos losparámetros para un determinado comando),NO (en el caso de una falla “legí-tima”, como contraseña incorrecta) oOK (en el caso de éxito). El servidor puedetambién enviar mensajes que no son respuestas a un comando del cliente, comopor ejemplo aviso de que hay nuevos mensajes. Esos mensajes no solicitadospueden también ser forzados con el comandoNOOP. Ese comando no hace ab-solutamente nada. La respuesta puede ser un simpleOK . Pero, si hay algo nuevocuando el buzón está abierto, o simplemente algo que el servidor quiera decir, seaprovecha la oportunidad (una respuesta sería enviada al cliente de todas formas).

El protocolo IMAP trabaja conestados. Existen 4 estados: en cuanto el usuarioaccede al servidor, su estado esno autenticado. Tras la autenticación, como ellector debe haber deducido, su estado es llamadoautenticado. Cuando un buzónfue seleccionado y abierto, el estado es llamado deseleccionado, y, finalmente,el estado delogout, cuando el usuario sale del sistema (por solicitud propia o porimposición del servidor). Los comandos disponibles varían en cada estado.

En el estado no autenticado, los comandos válidos son:NOOP, CAPABILITY ,que lista las funciones que el servidor implementa,AUTHENTICATE , que in-dica para el servidor el mecanismo de autenticación que se desea utilizar, si se leimplementa,LOGIN , que justamente inicia el estadoautenticado, y LOGOUT ,que finaliza la conexión con el servidor. Los dos primeros y el último, en verdad,pueden ser usados en cualquier estado.

Así que se acceda a un servidor IMAP (usualmente en el puerto 143 del servidor),como en el POP, el primer paso es normalmente la autenticación. El comandousado es elLOGIN , con nombre de usuario y contraseña como parámetros:

277

Page 278: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

$ telnet pluto 143

Trying 200.192.38.238...

Connected to pluto.

Escape character is ’^]’.

* OK pluto IMAP4rev1 v12.252 server ready

A0001 LOGIN "francisco" "bolton"

A0001 NO LOGIN failed

A0002 LOGIN "francisco" "notlob"

A0002 OK LOGIN completed

Vea que los parámetros están entre comillas dobles (“”). Además, ese ejemploya muestra un mensaje de error, como se explica arriba: la sintaxis del comandoLOGIN en el primer intento estaba correcta, pero la contraseña no.

En el estadoautenticado, los comandos permitidos (además de los tres menciona-dos en el párrafo anterior) son:

• APPEND

• CREATE

• DELETE

• EXAMINE

278

Page 279: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

• LIST

• LSUB

• RENAME

• SELECT

• STATUS

• SUBSCRIBE

• UNSUBSCRIBE

Todos trabajan con buzones de correo.

Se pueden mostrar los buzones disponibles con el comandoLIST . Ese comandotiene dos argumentos, un camino inicial a partir del cual se buscan los buzones yun nombre de buzón que puede contener metacaracteres. Por ejemplo:

A0016 LIST "mail" *

* LIST (\NoSelect) "/" mail

* LIST (\NoInferiors) "/" mail/juan

A0016 OK LIST completed

En ese caso, se listan todos los archivos del directoriomail . Es interesante percibirque, si un camino absoluto (empezando con “/”) no es indicado, se asume que el

279

Page 280: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

primer argumento debe ser considerado a partir de un camino estándar, dondepueden estar buzones del usuario en el sistema (en ese caso,/home/francisco ), osea, el comando:

A0017 LIST "" *

lista todos los archivos en el directorio home del usuario autenticado. Los archi-vos o directorio para los cuales el usuario no tiene permiso de lectura no sonlistados para que ese comando no genere fallas de seguridad.

Un comando más moderado es elLSUB. Éste lista solamente archivos o directo-rios previamente registrados como buzones de correo (o directorios conteniendobuzones). Registro y cancelación de buzones de correo se hacen con los coman-dos:

SUBSCRIBE<buzón de correo o directorio >

UNSUBSCRIBE<buzón de correo o directorio >

Así, por ejemplo:

A002 SUBSCRIBE mail

A002 OK SUBSCRIBE completed

A003 LSUB "" *

* LSUB () "/" mail

A003 OK LSUB completed

280

Page 281: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Con el comandoLIST , como ya se vio anteriormente, el resultado sería todos losarchivos en el directorio del usuario. Con la combinaciónSUBSCRIBE / UN-SUBSCRIBE + LSUB, sólo se muestran los directorios relevantes. Esto es útilpara definir, por ejemplo, los directorios que contienen carpetas que podrán seraccedidas. Además, el registro permanece entre sesiones del IMAP (en verdad,permanece hasta que se haga una cancelación explícita).

Después de determinar el directorio que deberá contener las carpetas de men-sajes, se puede efectivamente crear nuevas carpetas. Para ello, se usa el comandoCREATE:

CREATE<nombre de la carpeta >

Análogamente, el comandoDELETE borra la carpeta especificada y el comandoRENAME le cambia el nombre. Es importante recordar que el nombre de lacarpeta debe ser relativo, en el caso,/home/francisco , o sea, el directorio estándara partir del cual es posible crear carpetas. Por ejemplo:

A0002 CREATE "mail/juan"

A0002 OK CREATE completed

A0003 RENAME "mail/juan" "mail/snorman"

A0003 OK RENAME completed

A0004 DELETE "mail/juan"

A0004 NO DELETE failed: Can’t delete mailbox mail/juan: no such mailbox

A0005 DELETE "mail/snorman"

A0005 OK DELETE completed

281

Page 282: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Para más información sobre una carpeta específica, se puede utilizar el comandoSTATUS:

STATUS<nombre de la carpeta > <lista de ítems >

La lista de ítems debe venir entre paréntesis, y dentro de éstos, los ítems debenestar separados por un espacio. Ellos son:

• MESSAGES, que indica el número de mensajes en el buzón o carpeta.

• RECENT, que muestra cuántas entre las anteriores son recientes.

• UNSEEN, que muestra el número de mensajes no leídas.

• UIDNEXT, que hace con que cada mensaje reciba un identificador, ouid del servidor( UIDNEXTes el uid que se marcará al próximo mensaje que llegue a esa carpeta), y

• UIDVALIDITY que es un identificador de la carpeta o buzón de correo. Siguiendonuestro ejemplo:

A0002 STATUS INBOX (MESSAGES RECENT UNSEEN)

* STATUS INBOX (MESSAGES 3 RECENT 0 UNSEEN 3)

A0002 OK STATUS completed

El último comando antes de pasar al estadoseleccionadotrabaja directamentecon el contenido del buzón: el comandoAPPEND recibe como parámetro unmensaje que será incluido en el buzón de correo especificado.

282

Page 283: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Cuando finalmente se decide a qué buzón se debe acceder, se puede hacerlo conlos comandosSELECT y EXAMINE . Ambos tienen la misma función, exceptoque, usándose elEXAMINE la carpeta se abrirá solamente para lectura. Ningúncambio será permitido, incluyéndose marcar mensajes como leídos, por ejemplo.Como la sintaxis de los comandos y los mensajes de respuesta son idénticos,solamente elSELECT será explicado. Lo mismo vale para elEXAMINE . Lasintaxis del comandoSELECT es:

SELECT <nombre de la carpeta o buzón de correo >

El valor INBOX indica el valor del buzón estándar en este sistema, para determi-nado usuario. Normalmente,/var/spool/mail/ <nombre del usuario > o, en nuestroejemplo,/var/spool/mail/francisco :

A0002 SELECT INBOX

* 3 EXISTS

* NO Mailbox vulnerable - directory /var/spool/mail must have 1777 protection

* 1 RECENT

* OK [UIDVALIDITY 958755028] UID validity status

* OK [UIDNEXT 14] Predicted next UID

* FLAGS (\Answered \Flagged \Deleted \Draft \Seen)

* OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft \Seen)]

Permanent flags

* OK [UNSEEN 1] first unseen message in /var/spool/mail/francisco

A0002 OK [READ-WRITE] SELECT completed

283

Page 284: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Cuando pedimos para que el servidor seleccione la carpeta INBOX, su acción fueabrir el archivo/var/spool/mail/francisco y devolver una serie de informaciones.Tres son particularmente interesantes en este momento:

* 3 EXISTS: Esto indica que hay tres mensajes en el buzón de correo/var/spool/mail/francisco

* 1 RECENT: Muestra la cantidad de mensajes recientes hay entre los existentes.

A0002 OK [READ-WRITE] SELECT completed: Si el comando utilizado hubierasido elEXAMINE , esa línea sería:A0002 OK [READ-ONLY] SELECT completed

La línea:

* NO Mailbox vulnerable - directory /var/spool/mail must

have 1777 protection

se comentará más adelante, cuando se trate de la configuración del servidor IMAP.

En el estadoseleccionado, además de todos los comandos explicados en los es-tados mencionados anteriormente, están disponibles:

• CHECK

• CLOSE

• COPY

• EXPUNGE

284

Page 285: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

• FETCH

• SEARCH

• STORE

• UID

El comandoCLOSE simplemente cierra la carpeta que estaba seleccionada, yel usuario vuelve al estadoautenticado. Para tener acceso nuevamente a algúnbuzón, el usuario tiene que utilizar otra vez elSELECT o el EXAMINE .

El comandoCHECK es, básicamente, un pedido de que las pendencias relativasa un determinado buzón se resuelvan. Por ejemplo, escritura en disco de algúncambio que haya sido ejecutado solamente en la memoria del servidor. Si ocur-riera algún cambio en el servidor (como por ejemplo, un nuevo mensaje), esopuede revisarse, pero el servidor puede también simplemente contestar que seejecutó el comando con éxito.

El comandoEXPUNGE borra definitivamente del buzón cualquier mensaje quehaya sido marcado como borrado. No se pueden recuperar más esos mensajes,entonces use el comando con cuidado.

En buzones de correo grandes, es común que se quiera determinar cuáles men-sajes satisfacen determinado criterio. Por ejemplo, se puede querer saber losmensajes enviados por una determinada persona, o en un determinado día. ElcomandoSEARCH hace una búsqueda (sin diferenciación entre mayúsculas yminúsculas) por una gran variedad de claves, como, por ejemplo, sólo mensajesborrados, mensajes que sobrepasen un cierto tamaño, mensajes no respondidos,

285

Page 286: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

entre otros:

A0003 SEARCH SUBJECT "francisco"

* SEARCH 2 4

A0003 OK SEARCH completed

A0004 SEARCH FROM juan TEXT "chinchilla"

* SEARCH 4

A0004 OK SEARCH completed

A0005 SEARCH FROM "Spiny Norman"

* SEARCH

A0005 OK SEARCH completed

Cuando llegue finalmente el momento de bajar los mensajes, se usa el comandoFETCH . Ese comando pide dos argumentos, una lista de mensajes que se de-berán recibir y las partes de estos mismos mensajes. Eso quiere decir que sepueden tomar primero los títulos6 de los mensajes y sólo descargar completa-mente los que interesan, o combinandoSEARCH y FETCH , ver la fecha deenvío de todos los mensajes de un determinado remitente.

Así como en el POP, todos los mensajes en un determinado buzón son numeradosen orden. El primer argumento para elFETCH indica los números de los men-sajes que serán visualizados. Esa lista puede ser simplemente un número (sólo elmensaje en aquella posición va a ser visualizado), una serie de números separados

6. subjects

286

Page 287: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

por comas (sin espacio) o un intervalo, en la forma:<primer número>:<últimonúmero>.

Hay muchas formas de informar cuál parte del mensaje se quiere visualizar, perouna forma básica es:

BODY[<;sección >]

donde <sección > puede ser, por ejemplo,TEXT , HEADER o también sepuede usar la opciónHEADER.FIELDS :

A0003 FETCH 2:4 BODY[HEADER.FIELDS (Subject)]

* 2 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {22}

Subject: ¡Francisco!

)

* 3 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {43}

Subject: My hovercraft is full of eels!

)

* 4 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {22}

Subject: ¡Francisco!

)

A0003 OK FETCH completed

287

Page 288: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

A0004 FETCH 1,3 BODY[HEADER]

* 1 FETCH (BODY[HEADER] {310}

[Encabezamiento del primer mensaje]

* 3 FETCH (BODY[HEADER] {351}

[Encabezamiento del tercer mensaje]

A0004 OK FETCH completed

A0005 FETCH 2 (BODY[HEADER.FIELDS (Subject)] BODY[TEXT])

* 2 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {22}

Subject: ¡Francisco!

BODY[TEXT] {38}

Cena en casa de la abuela.

Abrazos de tu hermano,

Juan

)

A0005 OK FETCH completed

Para mover los mensajes entre carpetas, se puede usar el comandoCOPY:

COPY<mensajes > <carpeta >

288

Page 289: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

Por ejemplo:

A0003 CREATE "mail/snorman"

A0003 OK CREATE completed

A0004 COPY 2:4 "mail/snorman"

A0004 OK COPY completed

A0005 STATUS INBOX (MESSAGES)

* STATUS INBOX (MESSAGES 5)

A0005 OK STATUS completed

A0006 STATUS "mail/snorman" (MESSAGES)

* STATUS mail/snorman (MESSAGES 3)

A0006 OK STATUS completed

Cuando se necesita alterar los atributos de un mensaje (el caso más común esmarcarlo como borrado, pero se puede marcarlo como no leído, por ejemplo),se usa el comandoSTORE. Ese comando recibe como argumentos una lista denúmeros de mensajes (en el mismo formato del comandoFETCH ) sobre loscuales debe actuar. Esta opción avisa si es necesario especificar exactamente losatributos del mensaje (FLAGS), cuáles atributos se deben sumar a los ya exis-tentes (+FLAGS) y cuáles atributos se deben sustraer (-FLAGS). Los posiblesatributos son:

\Answered: mensaje contestado.

289

Page 290: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

\Deleted: mensaje marcado para ser borrado, ver el comandoEXPUNGE.

\Draft: mensaje cuya composición no se finalizó.

\Flagged: mensaje simplemente “marcado”, normalmente para llamar la aten-ción posteriormente.

\Seen: mensaje ya leído.

:

Hay un atributo,\Recent (mensaje nuevo en el buzón), que no se puede al-terar, porque es intrínseco a un determinado instante en la sesión de un usuarioautenticado en el servidor IMAP.

A0003 STATUS INBOX (MESSAGES)

* STATUS INBOX (MESSAGES 4)

A0003 OK STATUS completed

A0004 STORE 1 +FLAGS (\Deleted)

* 1 FETCH (FLAGS (\Seen \Deleted))

A0004 OK STORE completed

A0005 EXPUNGE

* 1 EXPUNGE

* 3 EXISTS

* 0 RECENT

290

Page 291: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

A0005 OK Expunged 1 messages

A0006 STATUS INBOX (MESSAGES)

* STATUS INBOX (MESSAGES 3)

A0006 OK STATUS completed

Los comandosCOPY, FETCH , STORE y SEARCH reciben argumentos es-pecificando sobre cuáles mensajes deben actuar. En los ejemplos, fue utilizado elnúmero secuencial que cada mensaje recibe al entrar en el buzón, pero cada men-saje recibe también un identificador único (no necesariamente secuencial). Sepueden registrar los mensajes de acuerdo con ese identificador por el comandoUID, que lleva como parámetros uno de los comandos anteriores y sus argumen-tos, con los números de los mensajes sustituidos por los identificadores.

Finalmente, al terminar las tareas en el buzón, se termina la conexión:

A0002 LOGOUT

* BYE pluto IMAP4rev1 server terminating connection

A0013 OK LOGOUT completed

Connection closed by foreign host.

[francisco ~]$

291

Page 292: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

La práctica

Configuración del POP y del IMAP

Hay varios servidores de POP e IMAP vía Internet. Entre ellos, se destacan elQpopper, el GNU pop3d (servidores POP) y el WU-IMAPd (que, a pesar delnombre, tiene un servidor IMAP y uno POP). Éste último, desarrollado en laUniversidad de Washington, es el paquete que implementa ambos protocolos enuna configuración estándar de Conectiva Linux. La configuración de los serviciosno conlleva grandes dificultades: se debe instalar el paqueteimap, descomentarlas líneas relevantes en /etc/inetd.conf :

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

imap stream tcp nowait root /usr/sbin/tcpd imapd

En seguida, se debe reiniciar el inetd:

# /etc/rc.d/init.d/inet restart

Y, finalmente, certificarse de que los servicios (o el servicio elegido) estén habi-litados en/etc/services:

pop-3 110/tcp # POP version 3

pop-3 110/udp

imap2 143/tcp imap # Interim Mail Access Proto v2

292

Page 293: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

imap2 143/udp imap

Configuración del SMTP

De acuerdo con lo que fue dicho anteriormente, se implementa el SMTP por unMTA. La implementación del protocolo SMTP es mucho más crítica de lo que ladel POP y del IMAP, pues si estos últimos fallan, los mensajes quedan esperandoen el servidor hasta que el usuario pueda recibirlos de alguna manera. Si el SMTPfalla, se pueden perder algunos mensajes en el camino entre un servidor y otro.Entre los MTAs disponibles, algunos de los más comúnmente usados son: Qmail,Postfix y el Sendmail (el estándar utilizado en Conectiva Linux).

Quizás Sendmail sea el MTA más conocido de todos. Parte de esa fama se debea fallas de seguridad que, en el pasado, permitían incluso el acceso a la má-quina como superusuario7 Esos problemas sucedían en virtud que software esmuy complejo. Quien ya trabajó con el archivo de configuración de Sendmail(sendmail.cf ) sabe lo que eso significa. Sin embargo, hoy en día, su desarrollo esactivo: se desarrolló un método de configuración más simple y Sendmail siguesiendo un predeterminado como MTA.

Dos métodos de configuración de sendmail serán discutidos: a través de Linux-conf (el configurador gráfico utilizado en Conectiva Linux) y el m4 (el método“más sencillo ” mencionado).

7. root

293

Page 294: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

El m4 no es un método de configuración en sí, sino un procesador de macros.Permite que se use una sintaxis más simple en lugar de tratar de entender elrebuscado archivo de configuración de Sendmail. Se puede generar un archivo deconfiguración a partir de una serie de reglas usándose el m4. Admitiendo que elarchivo con las reglas en m4 sea/usr/lib/sendmail-cf/cf/arquivo.mc y se quieracrear un archivo llamado sendmail.cf:

# cd /usr/lib/sendmail-cf/cf

# /usr/bin/m4 ../m4/cf.m4 archivo.mc > sendmail.cf

En Linuxconf, la configuración de Sendmail está dentro del menúConfiguraciónde Red, con el nombreSendmail - sistema de envío de e-mails.

Un archivo en m4 utilizado para generar unsendmail.cf mínimo, pero funcional,sería algo como:

divert(-1)

include(‘../m4/cf.m4’)

OSTYPE(‘linux’)

FEATURE(redirect)

FEATURE(always_add_domain)

FEATURE(use_cw_file)

FEATURE(local_procmail)

MAILER(procmail)

MAILER(smtp)

294

Page 295: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

FEATURE(access_db)

FEATURE(relay_hosts_only)

Líneas empezando con “#” son consideradas comentarios, tanto en el archivo m4como en el archivo final de configuración. Comentarios hechos en el archivo m4son repasados para elsendmail.cf , a no ser que estén al principio del archivo ybajo la directriz

divert(-1)

La directriz

divert(0)

revierte para el funcionamiento normal.

295

Page 296: Mestre Servidor Servidor Es

Capítulo 7. Correo electrónico

296

Page 297: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Seguridad es un asunto bastante amplio, que podría tratarse en un libro completo.Justamente por eso, el propósito de este capítulo no es el de ser unaguía completade seguridad, sino mostrar cómo aumentar la seguridad de su Conectiva Linux.

Visión general sobre seguridad

Actualmente, conectar redes locales a Internet es algo bastante común y aunqueeso pueda traer ventajas, también puede traer varios problemas. Desafortunada-mente, formar parte de Internet significa estar expuesto a una gran variedad deamenazas, lo que obliga a cualquier administrador a preocuparse con la seguridadde sus sistemas. Mientras las redes existen para facilitar el acceso a los computa-dores, los procedimientos de seguridad existen para controlar dicho acceso.

El primer concepto relacionado con seguridad es: “no existe un sistema completa-mente seguro”. Lo que se puede hacer es dificultar la invasión en su computador.El trabajo necesario para proteger su sistema dependerá básicamente de lo quetenga para proteger y de cuan importante es proteger este sistema.

Note que, de manera general, cuánto más seguro se haga el sistema, más com-

297

Page 298: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

pleja será su utilización, pues habrá varias restricciones en su empleo. Es impre-scindible tener un buen criterio en el momento de aplicar las medidas de seguri-dad, para evitar que el remedio sea peor que la enfermedad.

Antes de tomar cualquier actitud relacionada con el aumento de seguridad en elsistema, debe saber lo que está protegiendo, por qué y cuánto vale esta infor-mación. Además, es necesario verificar a qué tipo de amenazas está expuesto susistema. El sistema denominado RFC 1244,Site Security Handbook, por Hol-brook Reynold et al., identifica tres tipos distintos de amenazas a la seguridad,generalmente asociadas a las conexiones de la red:

Acceso no autorizado:

Acceso al sistema por alguien no autorizado.

Revelación de información:

Cualquier problema que se relacione al acceso de información valiosa o confidencialpor personas que no deberían acceder a ellas.

Negación de Servicio:

También conocido comoDenial of Service- DoS - es cualquier problema que vuelvaimposible o muy difícil, continuar utilizando el sistema en forma productiva.

Dependiendo del sistema en cuestión, estas amenazas pueden ser más o menosimportantes. Por ejemplo, para un órgano de gobierno o empresa del área de tec-

298

Page 299: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

nología, los accesos no autorizados, pueden desacreditarlos ante el público o losclientes. Mientras que para la gran mayoría de las empresas, el acceso no autori-zado, no es un gran problema, si no involucra una de las amenazas: revelación deinformación y negación de servicio.

La extensión del problema en casos de revelación de información varía de acuerdocon la información que se puede comprometer. Aunque sea un hecho notorio quela información reservada, no deba jamás permanecer almacenada en computa-dores conectados a Internet, en algunos casos, ciertos tipos de información, comolas personales de clientes o números de tarjetas de crédito, puede ser necesariaen aplicaciones de comercio electrónico, por ejemplo. En este tipo de caso, elcuidado debe ser redoblado.

La negación del servicio puede causar grandes perjuicios a las empresas queconectan los sistemas de misión crítica con Internet. En realidad, las ventajasse deben evaluar muy bien antes de conectar este tipo de sistema a Internet, pues,según el caso , esta conexión puede parar una empresa por completo. General-mente los servidoresmenoresse conectan a Internet, posiblemente accediendo ala información de un servidor principal a través de un modo más seguro.

Obviamente que, si la necesidad es justamente la de prestar un servicio en Inter-net, todos estos riesgos existirán. Para disminuirlos, es necesario tomar algunasprecauciones, como deshabilitar los servicios innecesarios, utilizar el control deacceso por medio de herramientas como tcp_wrappers, instalar y configurar unfirewall entre su red local y redes externas (generalmente entre su red local e In-ternet). También es importante analizar constantemente loslogs y la integridadde archivos importantes del sistema. Conectiva Linux cuenta con las herramientasnecesarias para ayudarlo en la tarea de hacer su sistema más seguro.

299

Page 300: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Finalizando esta introducción, mantener un sistema seguro involucra varios pro-cedimientos, entre los cuales el más importante es mantener un control constantedel sistema, para anotar cualquier anormalidad antes que se vuelva un problemagrave.

Deshabilitando servicios innecesarios

Los servicios habilitados normalmente en su Conectiva Linux dependen del perfilempleado en la instalación del sistema. Por lo tanto, después de instalarlo, se debeverificar cuáles de ellos realmente necesitan estar habilitados. Básicamente, haydos tipos de servicios: los que se ejecutan en el modostandaloney los que seejecutan mediante inetd.

Servicios Standalone

Servicios que se ejecutan en el modostandalonese ejecutan generalmente du-rante la iniciación del sistema, mediante losscriptsde iniciación. Apache, Send-mail y Samba son ejemplos de servicios que suelen ejecutarse durante elbootdelsistema.

Una de las herramientas que se pueden utilizar para configurar los servicios que

300

Page 301: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

se ejecutarán es ntsysv. Verifique si está instalado con el comando siguiente:

# rpm -q ntsysv

Si la respuesta para este comando es “paquete ntsysv no está instalado”, usteddebe instalarlo a partir del CD 1 deConectiva Linux. Con el CD montado en/mnt/cdrom ,ejecute el comando siguiente , como superusuario, para instalar el programa:

# rpm -ivh /mnt/cdrom/conectiva/RPMS/ntsysv*

Con el programa instalado, como superusuario, ejecútelo, tecleando el comando:

# ntsysv

La Figura 8-1ilustra la pantalla del programa ntsysv. Mediante esta pantalla,usted puede (y debe) deshabilitar todos los servicios que no se utilizan. Paraobtener una descripción de un servicio, selecciónelo y pulse la tecla de funciónF1. Note que otros tipos de servicios se inician automáticamente y no solamenteservicios de red. El serviciogpm, por ejemplo, agrega soporte amousepara apli-caciones que ejecutan en modo texto. Tome el cuidado de deshabilitar solamentelos servicios que no se deben utilizar en el computador. Por ejemplo, no deshabi-lite el serviciohttpdsi fuera necesario ejecutar un servidorweben el computador.

301

Page 302: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-1. Configuración de iniciación de servicios

El ntsysv configura solamente el nivel de ejecución actual. Si usted desea confi-gurar otros niveles de ejecución, estos niveles se pueden especificar en la línea decomando, mediante la opción--levels . Es posible configurar varios niveles deejecución simultáneamente. Ejecutando el comando# ntsysv --levels 345 , porejemplo, serían configurados los niveles 3, 4 y 5 de una vez. En este caso, si unservicio se marca como habilitado, será habilitado en todos los niveles de ejecu-ción especificados. De manera análoga, al deshabilitar un servicio, el mismo serádeshabilitado en todos los niveles de ejecución especificados.

Existen dos opciones para salir del programa. Si se utiliza el botónOk, las al-teraciones se guardarán. Si se utiliza el botónCancelar, no se considerará nin-guna alteración efectuada.

302

Page 303: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Servicios ejecutados mediante inetd

Al inetd que también se lo conoce como “internet super-server”, es undaemonque se ejecuta generalmente en la iniciación del sistema y que espera por cone-xiones en algunossockets internetespecíficos. Cuando se establece una conexiónen alguno de estossockets, verifica a cuál servicio corresponde elsockete invocaal programa capaz de servir la requisición en cuestión. Resumiendo inetd invocadaemonsbajo demanda, reduciendo la carga del computador. Obviamente, estetiempo necesario para invocar undaemonbajo demanda puede ser perjudicial enservicios muy utilizados y es por eso que muchos servicios no se pueden ejecutarmediante inetd.

La configuración de inetd está en el archivo/etc/inetd.conf , aunque el archivo/etc/services se use también para referir los nombres de los servicios hacia susrespectivas puertos y protocolos. Estos archivos se pueden alterar mediante uneditor de textos, o si no a través de Linuxconf. Configurar al inetd mediante Li-nuxconf habitualmente elimina errores groseros, porque hace una validación delos datos antes de agregar la información a los archivos correspondientes.

La configuración de inetd en Linuxconf se efectúa mediante la configuraciónde Configuración →Configuración de Red → Tareas como servidor →Servicios Internet. Esta configuración comprende la administración del archivo/etc/services (opciónServicios de red para Internet) y la administración del ar-chivo /etc/inetd.conf (opciónBase de datos de los servidores de internet).

A través de la opciónServicios de red para Internetse puede agregar, modificaro retirar la referencia del nombre de un servicio para su respectivo puerto y pro-

303

Page 304: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

tocolo. LaFigura 8-2ilustra la configuración del servicio denominadopop-3.

Figura 8-2. Configuración de/etc/services

Lo que realmente nos interesa en la configuración de los “Servicios Internet” seencuentra en la opciónBase de datos de los servidores de internet. En este lugares posible deshabilitar todos los servicios innecesarios (o habilitar los necesarios,si fuera el caso).

Para deshabilitar un servicio, basta seleccionarlo en la lista y, en la ventana queaparece en seguida, marcarlo comoDesactivado, como está ilustrado en laFigura8-3.

304

Page 305: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-3. Deshabilitando un Servicio

Como regla general, mantenga deshabilitados los servicios:

• echo,

305

Page 306: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

• discard,

• daytime,

• chargen,

• shell,

• login,

• exec,

• talk (y similares),

• tftp,

• bootps,

• finger (y similares),

• systat,

• netstat y

• time.

Estos servicios difícilmente se necesitan en su computador y los posibles inva-sores, suelen utilizarlos como muestra de lo que está habilitado en la máquina que

306

Page 307: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

pretenden invadir. Además de éstos, deshabilite todos los que no se utilizarán.Por ejemplo, si no se necesita un servidor FTP en el computador, retírele la ha-bilitación y si es posible, desinstale del sistema el paquete correspondiente.

Utilización de TCP_Wrappers

El paquete tcp_wrappers se puede usar para controlar el acceso a algunos ser-vicios, por ejemplo finger, telnet y ftp, entre otros. Como no todos losdaemonssoportan usar tcpd1, para control de acceso, siempre se debe consultar la do-cumentación de los programas antes de intentar configurarlos para utilizar eltcp_wrappers. Algunos de estos programas tienen su propio sistema de admi-nistración y control de acceso que se podría emplear en lugar del tcpd.

Conectiva Linux ya viene configurado para utilizar al tcpd en todos losdaemonsposibles y recomendados. De todos modos, configurar undaemonpara utilizaral tcpd es muy sencillo, considerando que eldaemonen referido soporta el usode tcp_wrappers. LaFigura 8-4muestra la configuración de un servidor FTPsin el uso de tcp_wrappers y laFigura 8-5ilustra el mismo servidor, pero esta

1. Este es el nombre del programa responsable por el control de los servicios, en el paquetetcp_wrappers.

307

Page 308: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

vez utilizando tcp_wrappers. Esta configuración se encuentra enConfiguración→Configuración de Red→ Tareas del servidor→ Servicios de Internet→Base de datos de los servidores de internet→ ftp.

Figura 8-4. Servidor FTP sin tcp_wrappers

308

Page 309: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Compare la configuraciónRuta del servidor Pathentre laFigura 8-4y la Figura8-5, a continuación.

Figura 8-5. Servidor FTP Utilizando tcp_wrappers

309

Page 310: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Después de configurar undaemonpara utilizar el paquete tcp_wrappers es ne-cesario configurar el control de acceso propiamente dicho. Esta configuración sepuede efectuar por medio de los archivos/etc/hosts.allow y /etc/hosts.deny . Enel archivo/etc/hosts.deny se configuran reglas para negar los servicios a deter-minados clientes, al mismo tiempo en el archivo/etc/hosts.allow se configuranlas reglas para permitir que determinados clientes tengan acceso a los servicios.

Hay decenas de posibilidades de configuración para tcp_wrappers y usted puedeestudiarlas por completo por medio de las páginas de manualhosts_access(5)yhosts_options(5). Por lo tanto, ilustraremos solamente algunos casos interesantesdel uso de esta herramienta.

Las reglas de control de acceso que hay en estos dos archivos tienen el formatosiguiente:

lista_de_daemons : lista_de_clientes [ : comando ]

lista_de_daemons

Lista de uno o más nombres dedaemonscomo los especificados en/etc/inetd.conf ,o comodines.

lista_de_clientes

Lista de una o más direcciones, nombres de computadores estándar o comodines quese utilizan para especificar, cuáles son los clientes que pueden y los que no puedenacceder al servicio.

310

Page 311: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

comando (optativo)

Es posible ejecutar un comando siempre que la regla coincida con un estándar. Vealos ejemplos siguientes.

Como se ha citado anteriormente, los comodines se pueden utilizar tanto en lalista dedaemonscomo en las listas de clientes. Entre los existentes, se puedendestacar los siguientes:

ALL

Significa todos losdaemonso todos los clientes, lo que depende solamente delcampo en que se encuentran.

LOCAL

Este comodín se ajusta a cualquier nombre de computador que no contenga uncarácter punto “.”, o sea, un computador local.

PARANOID

Se ajusta con cualquier nombre de computador que no coincida con su dirección.Esto generalmente ocurre cuando algún servidor DNS está mal configurado o cuandoalgún computador está intentando hacerse pasar por otro.

En la lista de clientes se pueden utilizar los nombres o las direcciones de los

311

Page 312: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

computadores, o también las predefiniciones que especifican a un conjunto decomputadores. Si la cadena de caracteres que identifica a un cliente empieza conun punto “.”, el nombre de un computador coincidirá con este patrón, siempreque su final se ajuste a la predefinición especificada. Por ejemplo, si se utilizarala cadena de caracteres “.conectiva.com.br”, el nombre de computador “gate-way.conectiva.com.br” coincidiría con el patrón.

De manera semejante, si la cadena de caracteres termina con un punto “.”, unadirección de computador coincidirá con el patrón cuando sus campos numéricosiniciales, coincidan con la cadena de caracteres especificada. Como ejemplo, si seutilizase la cadena de caracteres “192.168.220.”, todas las máquinas que tenganuna dirección IP que se inicie con estos 3 conjuntos de números coincidirán conel patrón (192.168.220.0 al 192.168.220.255).

Además de estos métodos, es posible identificar a un cliente por medio de IP /máscara de red. Puede especificar, por ejemplo, 192.168.220.0 / 255.255.255.128y cualquier máquina con dirección IP entre 192.168.220.0 y 192.168.220.127coincidiría con el patrón.

Nada mejor que los ejemplos prácticos para facilitar el entendimiento. Una buenapolítica, es la de cerrar completamente el acceso de todos los servicios a cualquiercliente mediante el archivo/etc/hosts.deny y liberar selectivamente el acceso alos servicios necesarios por medio del archivo/etc/hosts.allow . En elEjemplo8-1, tenemos una configuración en la que liberamos el acceso a FTP solamenteal dominio “red.net”, el acceso al servidor POP3 para cualquier máquina, todoslos servicios para “localhost” y negamos los demás servicios para todas las otrasmáquinas.

312

Page 313: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Ejemplo 8-1. Ejemplo de Configuración de tcp_wrappers

Abajo, el archivo/etc/hosts.deny .

# hosts.deny

# Este archivo hace una lista con los nombres de los computadores que

# _NO_ tienen permiso para usar los servicios ofrecidos por esta

# máquina a través de INET, usando el servidor

# /usr/sbin/tcpd (tcp_wrapper) para chequear los permisos.

# Recomendamos que se lea el manual hosts_access, en la sección

# 5; para eso ejecute:

# man 5 hosts_access

#

# Recuerde que el portmap nuevo, utiliza este archivo para decidir cuáles

# máquinas pueden acceder a los servicios de NFS ofrecidos por este computador.

ALL:ALL

Archivo /etc/hosts.allow .

# hosts.allow

# Este archivo hace una lista con los nombres de los computadores que tienen

# permiso para usar los servicios ofrecidos por esta

# máquina a través de INET, usando el servidor

# /usr/sbin/tcpd (tcp_wrapper) para chequear los permisos.

313

Page 314: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

# Recomendamos que se lea el manual hosts_access, en la sección

# 5; para eso ejecute:

# man 5 hosts_access

ALL: localhost

in.ftpd: .rede.net

ipop3d: ALL

En elEjemplo 8-2, considere el mismo archivo/etc/hosts.deny del ejemplo an-terior.

Ejemplo 8-2. Configuración de tcp_wrappers Menos Restrictiva

Archivo /etc/hosts.allow .

# hosts.allow

# Este archivo lista los nombres de los computadores que tienen

# permiso para usar los servicios ofrecidos por este

# computador mediante INET, usando el servidor

# /usr/sbin/tcpd (tcp_wrapper) para chequear permisos.

# Recomendamos que se lea el manual hosts_access, en la sección

# 5; para eso ejecute:

# man 5 hosts_access

314

Page 315: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

ALL: localhost

in.ftpd: .rede.net 200.234.123.0/255.255.255.0 200.248.

ipop3d: ALL EXCEPT hackerboys.org

En este último caso, los computadores de la red “200.234.123.0/255.255.255.0” ycomputadores en los que la dirección IP se inicia por “200.248.” también puedenacceder al servicio FTP. Note que utilizamos un operador nuevo para el servicioipop3d: EXCEPT. Esto permitió que el acceso a este servicio se liberara paratodos, excepto para los computadores de la red “hackerboys.org”.

El operador EXCEPT se puede utilizar ya sea de la lista de clientes, como de lalistadaemons. Por ejemplo, la línea:

ALL EXCEPT in.ftpd: ALL

en el archivo/etc/hosts.allow , se permite el acceso a todos los servicios paracualquier máquina, exceptuando al FTP.

Todos los accesos, con o sin éxito, se registran mediante syslog. En ConectivaLinux, esta información se registra en el archivo/var/log/secure . Se recomiendaque este archivo se analice periódicamente buscando intentos de invasión.

Otros ejemplos de configuración se describen en las páginas del manual de lasección 5 citadas anteriormente (hosts_accessy hosts_options).

315

Page 316: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Firewall mediante el filtro de paquetes

Un firewall es un sistema que aisla redes diferentes y permite que se controle eltránsito entre ellas. Un ejemplo típico, donde se recomienda el uso de unfirewalles en la conexión de una red local para Internet. Aunque el concepto defirewallsea bastante amplio y pueda involucrar a los servidoresproxy, a los analizadoresde logsy filtros de paquetes, entre otras características, nos detendremos en estasección en el filtro de paquetes proporcionado por el núcleo de Linux.

El núcleo de Linux cuenta con un filtro de paquetes bastante funcional y permiteque su máquina descarte o acepte los paquetes IP, con base en el origen, el destinoy la interfaz por la que el paquete se recibió. El origen y el destino de un paquetese caracterizan por una dirección IP, un número de puerto y por el protocolo.

Todo el tráfico a través de una red, se envía en el formato de paquetes. El comienzode cada paquete informa para donde está yendo, de dónde vino y el tipo de pa-quete entre otros detalles. La parte inicial de este paquete, entre otros detalles,se denomina encabezamiento. El resto del paquete que contiene la informaciónpropiamente dicha, suele denominarse, cuerpo del paquete.

Un filtro de paquetes analiza el encabezamiento de los paquetes que pasan porel computador y decide lo que hacer con el paquete entero. Las acciones que sepueden tomar con relación al paquete son:

aceptar: el paquete puede seguir hasta su destino.

rechazar: el paquete será descartado, como si la máquina jamás lo hubiese recibido.

316

Page 317: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

bloquear: el paquete será descartado, pero el origen del paquete tendrá la informaciónsobre la acción que se tomó.

El filtro de paquetes del núcleo se controla conreglas de firewall, que se puedendividir en cuatro categorías: cadena de entrada (input chain), cadena de salida(output chain), cadena de reenvío (forward chain) y las cadenas definidas porel usuario (user defined chain). Para cada una de estas cadenas se mantiene unatabla de reglas separada.

Una regla defirewall especifica los criterios de análisis de un paquete y su albo(target). Si el paquete no encaja con el patrón especificado por la regla, se analizala regla siguiente de la cadena. Si esta vez el paquete se ajusta con el patrón, laregla siguiente se define por el blanco que puede ser el nombre de una cadenadefinida por el usuario, o uno de los siguientes valores especiales:

ACCEPT

Significa que el filtro de paquetes debe dejar pasar el paquete.

DENY

Significa que el filtro de paquetes debe impedir que el paquete siga adelante.

REJECT

Así comoDENY, significa que el paquete no debe seguir adelante, pero un mensaje

317

Page 318: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

ICMP se envía al sistema generador del paquete, avisándole que se rechazó el pa-quete. Note queDENYy REJECTtienen el mismo significado para paquetes ICMP.

MASQ

Este blanco solamente es válido para la cadena de reenvío y para cadenas definidaspor el usuario y solamente se puede utilizar cuando el núcleo es compilador consoporte para IP Masquerade. En este caso, los paquetes se enmascararán como sihubieran sido originados por la máquina local.

REDIRECT

Este blanco solamente es válido para la cadena de entrada y para cadenas defini-das por el usuario y solamente se puede utilizar si el núcleo fue compilado con laopción deTransparent proxy. Con esto, los paquetes se dirigirán para unsocketlo-cal, aunque hayan sido enviados para una máquina remota. Obviamente eso sólotiene sentido si la máquina local se utiliza comogatewaypara otras máquinas. Siel puerto especificado para cambiar de dirección es “0” que es el valor patrón, elpuerto de destino de los paquetes se utilizará como puerto de redireccionamiento.Si se especificó otro puerto cualquiera, éste será utilizado, independientemente deaquél especificado en los paquetes.

RETURN

Si a la regla que contiene el blancoRETURN, la ha llamado otra de ellas, seanalizará la que le sigue en la cadena que la llamó. Si no ha sido llamada por otraregla, se utiliza la política estándar de la cadena, para definir el destino del paquete.

318

Page 319: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

La configuración del filtro de paquetes en el núcleo 2.2 se efectúa mediante elprograma de línea de comando ipchains. Sin embargo, Linuxconf tiene un mó-dulo de configuración de filtro de paquetes que facilita bastante esta tarea. Antesde intentar configurar el filtro de paquetes, asegúrese de que el paquete ipchainsestá instalado y que además el módulofirewall está habilitado en el Linuxconf2.Para verificar si ipchains está instalado, ejecute el comando:

# rpm -q ipchains

Si la respuesta para este comando fuera “paquete ipchains no está instalado”,usted debe instalarlo a partir del CD 1 de Conectiva Linux. Con el CD montadoen /mnt/cdrom , ejecute el comando siguiente , como superusuario, para instalar elprograma:

# rpm -ivh /mnt/cdrom/conectiva/RPMS/ipchains*

Ya para verificar si el módulo de Linuxconf está habilitado, siga los pasos de-scriptos en el capítulo de Linuxconf.

Configuración del filtro de paquetes por Linuxconf

La configuración del filtro de paquetes en Linux es bastante flexible y fácilmente

2. Este módulo está habilitado por defecto, en Conectiva Linux.

319

Page 320: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

se puede volver una tarea complicada. El sistema Linuxconf propone una lógicasimple que facilita la configuración de las reglas defirewall. Al mismo tiempo queesta lógica ayuda a crear y mantener las configuraciones de unfirewall básico,impide que algunas configuraciones más sofisticadas se generen con Linuxconf.

Dentro de esta lógica, cuando usted activa cualquiera de las tres cadenas (entrada,salida o reenvío), Linuxconf configurará la política estándar de la cadena comoDENY. Todas las reglas que usted agregue son aberturas en elfirewall. Si usted noagrega ninguna regla, su computador quedará completamente aislado. Note que,a causa de esta filosofía, Linuxconf no soporta cadenas definidas por el usuario,entre otras funciones.

En general, configurando solamente la cadena de entrada llamadafirewall porentradaen Linuxconf, ya tenemos un buen control sobre lo que se puede accederen la máquina. Para habilitar la cadena de entrada, marque la opción “Reglasde entrada” enConfiguración → Configuración de Red → Firewalling →Firewalling: valores por defecto .

Como se ha mencionado antes, esto hará que la política estándar de la cadenade entrada seaDENY. Por lo tanto, usted debe agregar reglas parareducir estarestricción, de manera que sea posible acceder aalgoen el computador.

Suponiendo que se quiera permitir solamente el acceso a un servidorwebqueescucha en el puerto 80 del computador y bloquear todo el resto, una sola reglasería suficiente.

Usted debe, entonces, agregar una regla defirewall por entrada(Configura-ción→Configuración de Red→ Firewalling→ Redireccionamiento de en-trada). La Figura 8-6ilustra la ventana de configuración de reglas de entrada.

320

Page 321: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-6. Configuración de reglas de entrada

En esta ventana hay uncheckboxque permite activar o desactivar la regla. A

321

Page 322: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

continuación están los siguientes campos:

Comentario

Local para describir la regla de forma sucinta

Protocolo

Lugar donde se especifica para que protocolos es válida la regla en cuestión. Losvalores posibles son:all, para todos los protocolo;tcp; udpe icmp.

Política de reglas

Define la política de la regla, especificando qué es lo que hará con los paquetes quellegaron hasta la regla. La política puede seraceptar, rechazaro denegar(ACCEPT,REJECT o DENY, respectivamente).

El resto de la información necesaria para configurar una regla, están dispuestasen tres guías. LaFigura 8-7ilustra la guía “Hacia”, que como se puede ver, esidéntica a la guía “Desde”, ilustrada en laFigura 8-6. De todos modos, los datosinsertados en la guía “Desde” se refieren al origen del paquete, mientras que enla guía “Hacia” los datos se refieren al destino del mismo.

322

Page 323: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-7. Configuración de guías

Los campos que hay en ambas guías (Desde y Hacia) se describen a continuación:

323

Page 324: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Nombre de máquina o red

Lugar para especificar el origen (guía Desde) o destino (guía Hacia) de un paquete.Especifique de preferencia una dirección IP, aunque sea posible especificar un nom-bre de computador, que se resolverá después por DNS.

Máscara de red

Lugar para definir la máscara de red referida a la dirección IP (o nombre de máquina)utilizado en el campo indicado arriba. Trate siempre de informar una máscara de red,para evitar que Linuxconf piense por usted.

Rango de puertos

Lugar para especificar un rango de puertos de origen (guía Desde) o de destino (guíaHacia) del paquete al que se refiere la regla.

Otros puertos

Lugar para especificar otros puertos de origen (guía Desde) o de destino (guía Hacia)del paquete al que la regla se refiere.

AceptarPaquete Syn de TCP

Si esta opción se deshabilita (cuando por defecto está habilitada), no se aceptaránlos paquetes que solicitan el comienzo de una conexión. Solamente tiene sentidodeshabilitar esta opción, cuando la regla especifica el protocolo TCP y la política de

324

Page 325: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

la regla es “aceptar”.

Interfaz de entrada

Local para especificar la interfaz por la cual el paquete debe estar entrando.

La guía siguiente es la guía “Opciones” (Figura 8-8).

325

Page 326: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-8. Configuración de la GuíaOpciones

Esta guía cuenta con los siguientes campos:

326

Page 327: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Esta regla es bidireccional

Si esta opción estuviera marcada (por defecto), la regla se repetirá con el origen ydestino invertidos. Es por esto que Linuxconf le permite especificar la interfaz dosveces. Si a usted no le gusta este comportamiento, desactive entonces la opción.

Factor de ordenación

Permite que usted le atribuya un valor para cada regla, de manera que usted puedaordenarlas como lo desee. Las reglas con factor menor se evaluarán primero.

Logging está activado

Si se habilita esta opción, el núcleo imprimirá la información sobre el paquete pormedio de la funciónprintk (), siempre que un paquete se ajuste con la regla encuestión. En Conectiva Linux, esto significa que dicha información se grabará enel archivo/var/log/messages .

Redirigir a un puerto local

Si se habilita esta opción, los paquetes que se ajusten con la regla en cuestión sedirigirán para el computador local. Usted podría, por ejemplo, encaminar todos lospaquetes destinados a un servidor FTP de su red, para un puerto local del computa-dor, utilizado comogateway.

327

Page 328: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Puerto redirigido

Si no se especificó ningún puerto en este campo, el puerto de destino del paquetese utilizará como puerto de encaminamiento. Si se especificó algún puerto, éste seutilizará como puerto de encaminamiento.

Es posible que, al agregar una regla equivocada, su computador pare de funcionarcorrectamente. En este caso, utilice el comando netconf --resetfw que todas las re-glas del filtro de paquetes, se desactivarán temporalmente.

Además de agregar reglas para paquetes que entren en el computador, es posi-ble agregar reglas para paquetes que salgan del computador y para paquetes quepasana travésdel computador, de una interfaz de red para otra. En Linuxconfse utilizan los términos “Firewalling de salida” y “Forward firewall ”, respectiva-mente, para definir estos dos tipos de reglas. Mientras que, las reglas de salida nose usan mucho en gran parte de los casos, reglas de reenvío se utilizan común-mente cuando se tiene un computador comogatewayentre una red local y laInternet (u otra red cualquiera).

Por este motivo, nos detendremos en la explicación del “Forward firewalling”.Además, la configuración de las reglas de entrada y de salida son semejantes,aunque la lógica esté invertida. En laFigura 8-9, se puede observar un ejemplotípico de uso de “Forward firewalling”.

328

Page 329: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-9. Ejemplo de uso de Forward firewalling

329

Page 330: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

En este diseño, considere que las direcciones IP de la red local son públicos, o sea,se pueden utilizar en Internet y fueron designados por la empresa que proporcionala conexión.

Para permitir que las máquinas de la red local, puedan acceder a los computadoresque hay en Internet no se necesita ninguna regla de reenvío. La única exigencia, esque el núcleo esté compilado con “IP firewalling” y que el mismo esté habilitado.La forma de habilitar esta característica del núcleo es la de efectuar el siguientecomando, como superusuario:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Conectiva Linux puede habilitar esta característica automáticamente, durante lainiciación del sistema. Para que ocurra esto, debe haber una línea con:

IP_FORWARD="yes"

o

IP_FORWARD="true"

en el archivo/etc/sysconfig/network . Si el valor de esta variable fuera “no” o“falsa”, Conectiva Linux no habilitará esta característica durante la iniciación delsistema.

Aunque no se necesite ninguna regla de reenvío para hacer posible que los com-putadores de la red local accedan a Internet, puede ser interesante bloquear elacceso para algunos servicios. Por ejemplo, puede ser útil bloquear el repase depaquetes que se destinan al puerto 80 (HTTP, generalmente), para forzar el uso

330

Page 331: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

de un servidor proxy para acceder aweb. La configuración de esta regla se ilustraen las figuras siguientes.

331

Page 332: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-10. Forward firewalling - Desde

332

Page 333: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-11. Forward firewalling - Hacia

333

Page 334: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-12. Forward firewalling - Opciones

Como Linuxconf pone la política estándar de la cadena como “DENY”, en cuanto

334

Page 335: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

se la habilita, se necesita agregar una regla más; explícitamente, libertando elacceso en los demás casos (cuando el destino del paquete no sea el puerto 80 deun computador cualquiera). Añada entonces, una regla de reenvío, según ilustranlas figuras siguientes.

335

Page 336: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-13. Añadiendo una regla de origen del paquete

336

Page 337: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-14. Añadiendo una regla de destino del paquete

337

Page 338: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-15. Forward firewalling - Agregando una regla

Note que, en esta última regla, elFactor de ordenaciónse definió como “100”,

338

Page 339: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

para que esta regla sea evaluada por último. Cualquier paquete bloqueado por laregla anterior no llegará hasta esta última.

No se olvide de habilitar las “Reglas de reenvío” (Configuración → Configuraciónde Red → Firewalling → Firewalling: valores por defecto ) o estas reglas no seevaluarán.

Otra situación bastante típica está ilustrada enFigura 8-16.

339

Page 340: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-16. Ejemplo de uso de enmascaramiento de IP

340

Page 341: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

En esta situación, las direcciones IP de la red local son privadas, o sea, los com-putadores no forman parte de Internet. Estas máquinas solamente pueden accedera Internet a través de un servidorproxyo si elgatewayhace algún tipo de NAT(Network Address Translation). El núcleo de Linux proporciona esta funciona-lidad a través de la característica conocida como “IP Masquerade” (enmascara-miento de IP). Configurar esta funcionalidad en Conectiva Linux es tan simplecomo configurar las reglas de reenvío demostradas anteriormente. La única difer-encia es que se debe marcar la opciónenmascararque hay en la ventana deconfiguración de la regla. Observe el ejemplo deFigura 8-17.

341

Page 342: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-17. Configurando el enmascaramiento de IP

El resto de la regla se debe configurar normalmente (origen del paquete, destino

342

Page 343: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

y opciones). Resumiendo el funcionamiento del “Enmascaramiento de IP”, sirvepara que el núcleo traduzca los IPs de la red local que son privados, para el IP dela interfaz que tiene un IP público. Cuando una máquina de la red hace un pedido,éste se encamina por medio delgatewayque hace estatraducciónde direcciones,rehace el pedido para el computador de destino y cuando recibe la respuesta, laenvía para el computador que hizo la solicitud.

Esta técnica no funciona en todos los casos, pues algunos protocolos requierenque la máquina remota abra una conexión con el cliente y cuando se utiliza “IPMasquerade” esto generalmente no es posible. Es por este motivo que algunosprogramas no funcionan con perfección en una red que utiliza enmascaramientode IP. A pesar de eso, los servicios simples como WWW y el correo electrónico,funcionan perfectamente. El núcleo de Linux cuenta con algunos módulos espe-ciales que aumentan la capacidad del “IP Masquerade”, para que pueda funcionarcon más protocolos y programas. A través de Linuxconf, enConfiguración →Configuración de Red → Firewalling → Firewalling: valores por defecto, usted puede habilitar estos módulos (CuSeeMe, FTP e IRC, entre otros). LaFigura 8-18ilustra esta pantalla de configuración.

343

Page 344: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Figura 8-18. Firewall - Enmascaramiento de IP

Consulte otras informaciones en Internet en el sitio Linux IP Masquerade Re-source (http://ipmasq.cjb.net); usted puede encontrar información sobre la confi-guración del “Enmascaramiento de IP” en el sitio Masq Apps (http://www.tsmservices.com/masq/).

344

Page 345: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Verificando la integridad del sistema

Una de las primeras acciones de un invasor suele ser sustituir los archivos yprogramas del sistema con la intención de enmascarar suvisita actual y, prin-cipalmente, facilitar lasvisitasfuturas. Por lo tanto, si hubiera la posibilidad deverificar la integridad de los archivos del sistema, hay grandes posibilidades dedetectar una invasión. Lo mejor de este recurso es que permite que se sepacuálesarchivos fueron modificados; haciendo posible que el administrador decida entreinstalar nuevamente el sistema o solamente sustituir los archivos alterados por losoriginales.

Después de notar que el computador fue invadido, el administrador suele analizarel sistema utilizando programas como ps, ls, netstat y who. Ocurre que estosprogramas son los primeros que se sustituirán, ocultando así, la invasión y alinvasor propiamente dicho. Aunque se tenga la información de la fecha y deltamaño de los archivos originales, estos datos aislados, no pueden utilizarse comoparámetro porque se pueden modificar fácilmente. De todos modos, si además deesta información, está disponible, algo como elchecksumMD5 de los archivos,se hace mucho más simple encontrar los archivos modificados indebidamente.

El programa AIDE (Advanced Intrusion Detection Environment) tiene justamentela finalidad de verificar la integridad de los archivos del sistema. Construye unabase de datos con varias informaciones de los archivos especificados en su ar-chivo de configuración. Esta base de datos puede contener varios atributos de losmismos, como:

345

Page 346: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

• permisos;

• número deinode,

• dueño,

• grupo,

• tamaño,

• fecha y hora de creación, último acceso y última modificación.

Además, AIDE también puede generar y almacenar en esta base de datos alchecksumcriptográfico de los archivos, utilizando uno o una combinación de lossiguientes algoritmos : md5, sha1, rmd160 y tiger.

El procedimiento que se recomienda es de generar esta base de datos en un sis-tema recién instalado, antes de conectarlo a una red. Esta base de datos será lafotografíadel sistema en su estado normal y el parámetro que se va a utilizarpara medir las alteraciones en el sistema de archivos. Obviamente, siempre queusted modifique su sistema, como por ejemplo por medio de la instalación, actua-lización o retirada de los programas, se debe generar una nueva base de datos. Lamisma se utilizará en lo sucesivo como parámetro. La base de datos debe contenerinformación sobre los binarios, las bibliotecas y los archivos de encabezamientosimportantes del sistema, ya que éstos no suelen alterarse durante el uso normaldel sistema. La información sobre los archivos delog, filas de correo electrónicoy de impresión, directorios temporales y de usuarios no se deben almacenar en labase de datos, ya que son archivos y directorios que se alteran frecuentemente.

346

Page 347: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

Configuración de AIDE

La configuración de AIDE reside en el archivo/etc/aide.conf . Este archivo tienetres tipos de líneas:

líneas de configuración: utilizadas para definir los parámetros de configuración deAIDE.

líneas de selección: utilizadas para indicar cuáles archivos tendrá su informaciónagregada a la base de datos.

líneas de macro: utilizadas para definir variables en el archivo de configuración.

Solamente laslíneas de selecciónson esenciales al funcionamiento del AIDE.A su vez, hay tres tipos de líneas de selección. Estas líneas se interpretan comoexpresiones regulares. Líneas que comiencen con una barra “/” indican que losarchivos que se ajusten con el patrón, tendrán su información agregada a la basede datos. Si la línea se inicia con un punto de exclamación “!”, ocurre lo contrario:los archivos que se ajustan al patrón no se consideran. Las líneas que comienzanpor una seña de igualdad “=” informan al AIDE que solamente los archivos quesean exactamente iguales al patrón se deben considerar.

A través de laslíneas de configuraciónse pueden definir algunos parámetros defuncionamiento del AIDE. Estas líneas tiene el formato del parámetro=valor. Losparámetros de configuración se describen a continuación:

347

Page 348: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

databas

URO del archivo de la base de datos desde donde se lee la información. Puedehaber solamente una línea de éstas. Si hubiera más de una, se considera solamentela primera. El valor estándar es./aide.db .

databas_out

URL del archivo de la base de datos donde se escribe la información. Así comobasede datos, debe haber solamente una línea de éstas. En el caso de que haya varias,solamente se considera la primera vez. El valor estándar es./aide.db.new .

report_url

URL donde se escribe la salida del comando. Si existieran varias instancias de esteparámetro, la salida se escribirá en todas las URLs. Si usted no define este parámetro,la salida se enviará para la salida estándar (stdout).

verbose

Define el nivel de mensajes que se envían a la salida. Este valor puede estar en labanda entre 0 y 255 (inclusive) y solamente se considera la primera aparición de esteparámetro. Es posible sobrescribir este valor a través de las opciones--versiono -V en la línea del comando.

348

Page 349: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

gzip_dbout

Informa si la base de datos se debe comprimir o no. Los valores válidos para estaopción sonyes, true, noy false.

Definiciones de grupos

Si el parámetro no fuera ninguno de los anteriores entonces se considera una defini-ción de grupo. Aunque haya algunos grupos pre-definidos que informan al AIDEcuales son las informaciones del archivo que se deben almacenar en la base dedatos, usted puede crear sus propias definiciones. LaTabla 8-1muestra los grupospredefinidos.

Tabla 8-1. Grupos Predefinidos

p permisos

i inode

n número delinks

u dueño

g grupo

s tamaño

m fecha y hora de la última modificación

a fecha y hora del último acceso

349

Page 350: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

c fecha y hora de la creación del archivo

S verifica el aumento del tamaño delarchivo

md5 checksum md5

sha1 checksum sha1

rmd160 checksum rmd160

tiger checksum tiger

R p+i+n+u+g+s+m+c+md5

L p+i+n+u+g

E grupo vacío

> archivo delog (aumenta el tamaño) -p+u+g+i+n+S

Usted podría definir un grupo que verifica solamente al dueño y al grupo delarchivo, de la forma siguiente:

trivial=u+g

Las líneas de macrose pueden utilizar para definir variables y tomar decisionescon base en el valor de las mismas. La información detallada se puede encontraren la página del manualaide.conf(5) .

El término URL, utilizado en la configuración de los parámetrosbase de datos,base de datos_outy report_url, puede asumir uno de los siguientes valores:

350

Page 351: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

stdout: la salida se envía para la salida estándar.

stderr: la salida se envía para la salida estándar de error.

stdin: la entrada se lee desde la entrada estándar.

file:/archivo: la entrada se lee desde elarchivo o la salida está escrita enarchivo .

fd:número: la entrada se lee desde elfile-descriptor númeroo la salida se escribe enfiledescriptor número.

Note que URLs de entrada no pueden utilizarse como salida y viceversa.

El Ejemplo 8-3ilustra una configuración básica para el AIDE.

Ejemplo 8-3. Archivo de Configuración de AIDE

# Localización de la base de datos

database=file:/var/aide/aide.db

# Lugar donde se crea una base de datos nueva

database_out=file:/var/aide/aide.db.new

# Archivo donde se guardará la salida del programa

report_url=/var/aide/report.aide

# Grupo para verificar el dueño, grupo y permisos

trivial=u+g+p

351

Page 352: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

/bin R

/sbin R

/boot R

/etc R

# Verifica solamente al dueño, grupo y permisos

/etc/passwd trivial

/etc/shadow trivial

# Ignora el directorio /etc/X11

!/etc/X11

/lib R

# Incluido /var

/var R

# Ignora /var/log, /var/spool y /var/lock

!/var/log/.*

!/var/spool/.*

!/var/lock/.*

# Ignora el archivo /var/run/utmp

!/var/run/utmp$

Normalmente, lo ideal es ignorar los directorios que se modifican con muchafrecuencia, a no ser que usted quieralogs gigantescos. Un procedimiento que

352

Page 353: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

recomendamos es el de excluir los directorios temporales, las filas de impresión,los directorios delogsy cualquier otra área que se modifique frecuentemente. Porotro lado, se recomienda que se incluyan todos los binarios, las bibliotecas y losarchivos de encabezamientos del sistema. Muchas veces es interesante incluir losdirectorios que usted no solía observar, como/dev/ y el /usr/man .

Si desea referirse a un único archivo, usted debe colocar un $ al final de la expresiónregular. Con esto, el patrón se ajustará solamente con el nombre exacto del archivo,sin considerar los archivos que tengan el comienzo con nombre semejante.

El paquete de AIDE que acompaña Conectiva Linux tiene un archivo de confi-guración patrón funcional, pero nada lo impide de modificarlo para reflejar susnecesidades.

Utilización de AIDE

Como el archivo de configuración patrón deberá servir para la mayoría de loscasos, para generar la base de datos, es suficiente ejecutar los comandos:

# /usr/bin/aide -i

# mv /var/aide/aide.db.new /var/aide/aide.db

Después de esta operación, usted debe ejecutar el comando:

353

Page 354: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

# /usr/bin/aide-md5 [dispositivo de boot]

El parámetrodispositivo de bootes opcional y corresponde al dispositivo de al-macenamiento utilizado para la iniciación del sistema (/dev/hda , por ejemplo).

El paquete aide-md5 fue desarrollado por Conectiva y suple la falta de firma dela base de datos de AIDE. Informa los sumatorios MD5 de algunos componentescríticos para el funcionamiento de AIDE, inclusive de la propia base de datosrecién generada. Usted debe tener en cuenta esos sumatorios para verificarlosposteriormente.

Si el dispositivo de boot se informa para aide-md5, el MD5 del sector de boottambién se calculará, por lo tanto es interesante informar ese parámetro.

Para verificar la integridad del sistema, ejecute el propio AIDE, de esta forma:

# /usr/bin/aide -C

Los archivos que sufrieron cualquier cambio, sea en el tamaño, contenido, per-misos o fecha de creación se registrarán en una lista.

Es probable que la mayoría de las veces que AIDE apunta las diferencias en losarchivos, ellas hayan sido provocadas por actos legítimos, por ejemplo, actuali-zación de paquetes o intervención del administrador del sistema. En esos casos,el administrador debe, después de una conferencia, reconstruir la base de datos.

Para verificar la integridad del propio AIDE, se debe utilizar nuevamente el pro-grama aide-md5, pero esta vez, de unmedio físico cambiable, como por ejemplo,de un disquete:

354

Page 355: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

# /mnt/floppy/aide-md5 /dev/hda

Si alguno de los códigos MD5 no coincide con los generados anteriormente,el(los) respectivo(s) componentes pueden estar comprometidos, y esto es un pro-blemamuyserio.

Obviamente que, si usted alteró la configuración de AIDE, regeneró la base dedatos o actualizó el núcleo, los códigos serán diferentes. Inmediatamente despuésde efectuar cualquiera de estas alteraciones, usted debe ejecutar nuevamente elaide-md5 y anotar los códigos.

Se recomienda copiar el aide-md5 para un medio físico cambiable, protegido contragrabaciones y una vez que el sistema ha entrado en producción, se lo debe ejecutarsiempre a partir de ese medio, eventualmente retirando el aide-md5 original del discoduro. Pues si usa aide-md5 del disco duro, y éste queda comprometido, el invasorpuede forjar sumatorias MD5 falsamente perfectas.

355

Page 356: Mestre Servidor Servidor Es

Capítulo 8. Seguridad en el Servidor

356

Page 357: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Introducción

Este capítulo describirá los conceptos y la terminología por detrás de la AltaDisponibilidad, así como las aplicaciones y programas de sistema cuyo objetivoes el aumento de la disponibilidad de servidores Linux, que son parte integrantede Conectiva Linux. También se puede usar como un manual para la configura-ción de estas aplicaciones.

Definición

Para que se entienda la Alta Disponibilidad se hace necesario, antes de nada,darse cuenta que ella no es solamente un producto o una aplicación que se instale,y sí una característica de un sistema informático. Hay mecanismos y técnicas,bloques básicos que se pueden utilizar para aumentar la disponibilidad de unsistema. La simple utilización de estos bloques, sin embargo, no garantiza esteaumento si no fuese acompañado de un estudio completo y de un proyecto deconfiguración

La Disponibilidad de un sistema de informática, indicado por A(t), es la proba-

357

Page 358: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

bilidad de que este sistema esté funcionando y listo para usar en un determinadomomentot . Esta disponibilidad puede encuadrarse en tres clases, de acuerdo conla banda de valores de esta probabilidad. Las tres son: disponibilidad básica, altadisponibilidad y disponibilidad continua.

Disponibilidad básica

La Disponibilidad básica es la que se encuentra en máquinas comunes, sin ningúnmecanismo especial, en software o hardware, que tenga como objetivo enmas-carar las fallas eventuales de estas máquinas. Se suele decir que computadoresen esta clase, presentan una disponibilidad de 99% a 99,9%. Esto equivale a de-cir que en un año de operación la máquina puede quedar no disponible por unperíodo de 9 horas a cuatro días. Estos datos son empíricos y los tiempos notoman en consideración la posibilidad de paradas planeadas (que se abordaránmás adelante), pero se aceptan como sentido común en la literatura del área.

Alta disponibilidad

Agregando mecanismos especializados de detección, recuperación y enmascara-miento de fallas, se puede aumentar la disponibilidad del sistema, de forma queéste se ajuste a la clase de Alta disponibilidad. En esta clase, las máquinas presen-tan generalmente disponibilidad en la banda de 99,99% a 99,999%, sin embargo,pueden quedar no disponibles por un período de un poco más de 5 minutos hastauna hora en un año de operación. Aquí se ajusta gran parte de las aplicaciones

358

Page 359: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

comerciales de Alta disponibilidad, como las centrales telefónicas.

Disponibilidad continua

Agregando nueves, se obtiene una disponibilidad cada vez más próxima de 100%,disminuyendo el tiempo que esté inoperante el sistema de manera que se tornedespreciable o inexistente. Se llega de esta manera a la Disponibilidad continua,lo que significa que todas las paradas planeadas y no planeadas son enmascaradasy el sistema está siempre disponible.

Objetivos

Como ya se puede notar por la definición, el objetivo principal de la Alta disponi-bilidad, es el de buscar una forma de mantener los servicios prestados por unsistema, a otros elementos; aunque el sistema en sí, acabe modificándose interna-mente por causa de una falla. Ahí está implícito el concepto de enmascaramientode fallas, a través de redundancia o duplicación (términos que se definirán másadelante). Un servicio determinado que se quiere altamente disponible, se colocapor tras de una capa de abstracción que permita cambios en sus mecanismos in-ternos, manteniendo intacta la interacción con los elementos externos.

Este es el corazón de la Alta disponibilidad, la sub-área de Tolerancia a Fallas

359

Page 360: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

que procura mantener la disponibilidad de los servicios prestados por un sistemainformatizado, mediante hardware redundantes y reconfiguración de software.Varios computadores juntos actuando como uno solo, cada uno controlando a losotros y asumiendo sus servicios si nota que alguno de ellos ha fallado.

Otra posibilidad importante de la Alta disponibilidad es la de hacer estas cosascon computadores comunes, como los que se pueden comprar hasta en un su-permercado. La complejidad puede estar solamente en el software. Más fácil dedesarrollar que el hardware, el software de Alta disponibilidad es quien se preo-cupa en controlar otros computadores de una red, saber que servicios se estánprestando o quien los está prestando y lo que hay que hacer cuando se nota unafalla.

Cálculo de la Disponibilidad

En un sistema real, si falla un componente, se lo repara o sustituye por un nuevocomponente. Si este nuevo componente falla, se lo sustituye por otro y así suce-sivamente. El componente reparado se considera como igual a uno nuevo. Du-rante su vida útil, un componente puede considerarse en uno de estos estados:funcionandoo en reparación. El estadofuncionandoindica que el componenteestá operando y el estadoen reparaciónsignifica que falló y que todavía no fuesustituido por uno nuevo .

En el caso de defectos, el sistema irá defuncionandoparaen reparacióny cuandose hace la sustitución vuelve para el estadofuncionando. Se puede decir que alo largo de su vida, el sistema presenta un tiempo útil medio antes de presen-

360

Page 361: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

tar una falla (MTTF) y un tiempo medio de reparación (MTTR). Su tiempo devida es una sucesión de MTTFs y MTTRs, a medida que va fallando y siendoreparado. El tiempo de vida útil del sistema es la suma de los MTTFs en losciclos MTTF+MTTR ya vividos.

De forma simplificada, se dice que la disponibilidad de un sistema es la relaciónentre el tiempo de vida útil de este sistema y su tiempo total de vida. Esto sepuede representar con la fórmula abajo:

Disponibilidad = MTTF / (MTTF + MTTR)

Al evaluar una solución de Alta Disponibilidad, es importante tomar en conside-ración si en la medición del MTTF se observan como fallas las posibles paradasplaneadas. Más consideraciones sobre este asunto se presentarán en seccionesposteriores.

Conceptos

Para entender correctamente lo que se está diciendo cuando se discute una solu-ción de Alta disponibilidad, se deben conocer los conceptos involucrados. No sonmuchos, pero estos términos se utilizan muchas veces de manera equivocada enliteratura no especializada. Antes que nada, se debe comprender lo que es unafalla, un error y un defecto. Estas palabras, que parecen tan próximas, en realidad

361

Page 362: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

designan la ocurrencia de algo anormal en tres universos diferentes de un sistemainformatizado.

Falla

Ocurre una falla en el universo físico, o sea, en el nivel más bajo del hardware.Una fluctuación en la fuente de alimentación, por ejemplo, es una falla. Una in-terferencia electromagnética también. Estos son dos eventos indeseables que ocu-rren en el universo físico y afectan el funcionamiento de un computador o de unaparte de él.

Error

Si acontece una falla, puede producirse un error que es la representación de lafalla en el universo de la informática. Un computador trabaja con bits, cada unopuede contener 0 ó 1. Una falla puede hacer con que un bit (o más de uno) cambiede valor inesperadamente, lo que seguramente afectará el funcionamiento normaldel computador. Una falla, por lo tanto, puede generar un error en alguna infor-mación.

362

Page 363: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Defecto

Si es que esta información equivocada, no se detecta ni se corrige, podrá generarlo que se conoce como defecto. El sistema simplemente traba o muestra un men-saje de error, también puede perder los datos del usuario sin mayores avisos. Estose percibe en el universo del usuario.

Recapitulando, una falla en el universo físico puede causar un error en el universode la informática, que a su vez puede causar un defecto notado en el universodel usuario. La tolerancia a las fallas trata exactamente de acabar con las fallas, otratarlas mientras son todavía errores. Por su parte, la Alta disponibilidad, permiteque las máquinas se traben o se equivoquen, siempre y cuando haya otra máquinapara asumir su lugar.

Para que una máquina asuma el lugar de otra, es necesario que descubra de algunaforma que la otra falló. Esto se hace por medio de pruebas periódicas, cuyo lapsodebe ser configurable, en los que la máquina secundaria prueba no solamente si laotra está activa, sino también proporciona respuestas adecuadas a las solicitudesde servicio. Un mecanismo de detección equivocado, puede causar inestabilidaden el sistema. Por ser periódicos, se nota que existe un intervalo de tiempo duranteel cual el sistema puede estar no disponible sin que la otra máquina lo detecte.

Failover

Es el proceso mediante el cual una máquina asume los servicios de otra, cuando

363

Page 364: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

esta última presenta una falla. El failover puede ser manual o automático, siendoel segundo lo que normalmente se espera de una solución de Alta disponibilidad.Aún así, algunas aplicaciones no críticas pueden soportar un tiempo mayor, hastaque el servicio se recupere y por lo tanto pueden utilizar el failover manual1.Además del tiempo que habrá entre la falla y el de su detección, también existiráel tiempo entre la detección y el restablecimiento del servicio. Las grandes basesde datos, por ejemplo, pueden exigir un período considerable de tiempo hasta queindexen sus tablas y durante este período el servicio todavía no estará disponible.

Para que se ejecute el failover de un servicio, es necesario que las dos máquinasinvolucradas tengan recursos equivalentes. Un recurso puede ser una tarjeta dered, un disco duro, incluso más importante los datos en este disco, bien comocualquier elemento necesario para prestar un determinado servicio. Es vital queuna solución de Alta disponibilidad mantenga recursos redundantes con el mismoestado, de manera que el servicio se pueda volver a ejecutar sin pérdidas.

Dependiendo de la naturaleza del servicio, ejecutar un failover significa inte-rrumpir las transacciones en marcha, perdiéndolas y será necesario reiniciarlasdespués de efectuado ese proceso. En otros casos, significa solamente un retardohasta que el servicio esté nuevamente disponible. Se nota que el failover puedeser o no, un proceso transparente, depende de la aplicación involucrada.

1. que un administrador o un operador pueden hacer

364

Page 365: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Failback

Al notarse la falla de un servidor, además de contar con el failover, es obviamentenecesario que se haga el mantenimiento en el servidor fallado. Cuando se recu-pera de la falla, este servidor, vuelto o ponerse en servicio, tendrá la opción derealizar el proceso inverso del failover, que se llama failback. Que es por lo tanto,el proceso de retorno de un determinado servicio desde otra máquina para su má-quina de origen. También puede ser automático, manual o incluso indeseable. Enalgunos casos, en función de una posible nueva interrupción en la prestación deservicios, el failback puede perder atractivo.

Misión

Cuando se calcula la disponibilidad de un sistema, es importante que se observe elconcepto de misión. Misión de un sistema es el período de tiempo en el cual debedesempeñar sus funciones sin interrupción. Por ejemplo, una farmacia que fun-cione de las 8 a las 20, no puede tener su sistema fuera del aire durante ese períodode tiempo. Si este sistema presentase defectos fuera de este período, aunque seanindeseables, estos defectos no molestan en nada la marcha correcta del sistemacuando es necesario. Una farmacia 24h obviamente tiene una misión continua, demanera que cualquier tipo de parada se debe enmascarar.

La Alta disponibilidad tiene como objetivo eliminar las paradas no planeadas.Por ejemplo, en el caso de la primera farmacia, las paradas planeadas no debenocurrir dentro del período de la misión. Las paradas no planeadas son consecuen-

365

Page 366: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

cia de defectos, mientras que las paradas planeadas son aquellas que se deben alas actualizaciones, mantenimiento preventivo y actividades correlativas. De estaforma, toda parada dentro del período de la misión se puede considerar una fallaen el cálculo de la disponibilidad.

Una aplicación de Alta disponibilidad puede proyectarse incluso para soportarparadas planeadas, lo que puede ser importante, por ejemplo, para permitir laactualización de programas por problemas de seguridad, sin que el servicio dejede ser prestado.

La solución Conectiva para Altadisponibilidad

Conectiva ha participado en proyectos internacionales de Alta disponibilidad, co-laborando con la elaboración de distintos programas que suplen las funcionesbásicas en la construcción de ambientes de Alta disponibilidad. El interés entrabajar en la integración de diversas tecnologías y extenderlas individualmentevienen del objetivo de proveer una solución simple y flexible, que se pueda opti-mizar para las particularidades de cada aplicación. Todos estos proyectos siguenla filosofía del Software Libre, así como la solución presentada por Conectiva ensu Conectiva Linux.

366

Page 367: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

En este espíritu de cosas, la solución se basa en cuatro bloques básicos, que son:duplicación del disco, control de nodos, administración de servicios y sistemasde archivos robusto. Estos cuatro bloques se pueden utilizar en conjunto o indivi-dualmente; lo que hace posible crear soluciones con failover y failback, automáti-cos o manuales; con o sin duplicación de datos y que además soporten paradasplaneadas. Esta solución se idealizó para un cluster de dos nodos.

Administración de nodos

La administración de nodos se realiza por el heartbeat. Que es el responsable deprobar periódicamente los nodos del cluster, coordinando las acciones de failovery failback. Las soluciones que utilizan la reactivación automática de serviciosse basan en este paquete. Usando heartbeat se pueden ejecutar programas en elproceso de failover y failback, controlando cualquier recurso que se desee.

Duplicación de disco

La duplicación de disco es de responsabilidad del DRBD, un driver de bloquepara el núcleo que crea un dispositivo de bloque2 virtual, consistiendo tanto en undisco real local, como en una conexión de red, que tendrá en la otra punta, otro

2. disco

367

Page 368: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

driver DRBD actuando como secundario. Todo lo que se escribe en el dispositivovirtual, se escribe en el disco local y también se envía para otro driver, que harála misma operación en su disco local. Con esto se obtienen dos nodos con discosexactamente iguales, hasta el instante de la falla. Las aplicaciones que trabajancon datos dinámicos o actualizados con mucha frecuencia, se benefician con estedriver.

Sistema de archivos

Datos duplicados o no, es importante que el sistema de archivos sea consistente.No todos los sistemas de archivos garantizan eso, por lo tanto para esta soluciónse eligió trabajar utilizando Reiser Filesystem3. Este sistema de archivos trabajacon journal, lo que significa que todas las alteraciones de datos se registran antesen el disco para que, si el sistema viniera a fallar durante el proceso, la transacciónse pueda recuperar cuando el sistema vuelva. Eso confiere agilidad al proceso derecuperación de fallas, así como aumenta mucho la confiabilidad de la informa-ción almacenada.

3. ReiserFS

368

Page 369: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Control de servicios

El control de servicios, se hace por medio de Mon, un súper escalonador de testsque puede verificar cientos de máquinas y servicios en forma rápida y ágil; envíaalertas para direcciones de correo electrónico, pagers o teléfonos celulares, garan-tizando que los administradores de los servicios, estén siempre bien informadossobre su estado de operación. Soporta dependencias entre tests, por lo tanto nopierde tiempo verificando si un servidor de HTTP está respondiendo en una má-quina que sabe que está inoperante. Un alerta puede incluso intentar recuperarla situación automáticamente o reiniciar una máquina, si la falla ocurre en unhorario de difícil mantenimiento.

Configuración de DRBD

Si tiene dos computadores, denominados aquí comoha1 y ha2 , efectúe estas con-figuraciones de manera idéntica en los dos. Instale el paquete de utilidades deDRBD:

# rpm -ivh drbd*

drbd-utils ##############################

drbdconf ##############################

#

369

Page 370: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Configuración vía Linuxconf

Abra Linuxconf y acceda aConfiguración→Configuración de red→Tareascomo servidor→ Dispositivos DRBD→ Agregar . Observe laFigura 9-1.

Figura 9-1. Configuración de DRBD

En el campoNodo: coloque el hostname del Maestro y en el campoPartición: lapartición para el DRBD. Efectúe estas configuraciones también para el Esclavo,a través de la pestañaConfiguración para Esclavo . Haciendo clic enAceptarsurgirá el archivodrbd0 , Figura 9-2.

370

Page 371: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Figura 9-2. Archivo de configuración

Haciendo clic enSalir el módulo preguntará si usted desea reiniciar los servicios,presione enSí.

Configuración por el modo texto

En el directorio/etc/sysconfig/drbd usted encontrará el ejemplo de un archivodescriptivo para un dispositivo DRBD, eldrdb.example . Copie este archivo con elnombre de/etc/sysconfig/drbd/drbd0 y efectúe la siguiente configuración:

# dirección del master y del slave end[:puerto]

# puerto estándar: 7788

371

Page 372: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

# Importante: no use nombres de dominio aquí, solamente

# los hostnames de la forma reportada por el hostname -s

MASTER_NODE="ha1:7788"

SLAVE_NODE="ha2:7788"

# Aquí usted podrá colocar una dirección IP específica de las interfaces si

# fuera necesario. Si se utiliza, la definición de puerto

# (7788, 7779, ...) debe estar aquí. Si no se va a utilizar, debe

# permanecer en blanco (vacío "") pero nunca comentado (#).

MASTER_IF=""

SLAVE_IF=""

OPTIONS=""

# El protocolo usado para este dispositivo o protocolo de confirmación

# puede ser A, B o C.

PROTOCOL="B"

# Los dispositivos usados en el master y en el slave (pueden ser diferentes en

# cada máquina)

MASTER_DEVICE="/dev/nb0"

SLAVE_DEVICE="/dev/nb0"

372

Page 373: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

# Particiones para el drdb (puede ser una partición diferente en cada

# máquina), ellas deben tener un tamaño semejante.

MASTER_PARTITION="/dev/hda6"

SLAVE_PARTITION="/dev/hda6"

Inicie el DRBD:

# /etc/rc.d/init.d/drbd start

Loading DRBD module [ OK ]

Configuring DRBD resource drbd0 [ OK ]

Waiting for DRBD resource drbd0 to resynchronize [ OK ]

#

A través del comando:

# /etc/rc.d/init.d/drbd status

version : 55

0: cs:WFConnection st:Secondary ns:0 nr:0 dw:0 dr:0 of:0

#

Usted podrá verificar el estado del DRBD en el sistema. O incluso verificar elarchivo /var/log/messages con el comando# tm y observar lo que hubo durante

373

Page 374: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

el inicio del DRBD.

Monte la unidad a través del scriptdatadisk de la siguiente forma:

# /etc/ha.d/resource.d/datadisk start

#

No se puede montar simultáneamente la partición en los dos nodos.

Sistema de archivos Reiserfs

Instale el paquete de utilidades de Reiserfs:

# rpm -ivh reiserfs-utils*

reiserfs-utils ############################### #

Inicie la partición con el comando:

# dd if=/dev/zero of=/dev/hda6

Cree un sistema de archivos Linux Reiserfs utilizando el comando:

374

Page 375: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

# mkreiserfs /dev/hda6

<-------MKREISERFS, 1999------->

ReiserFS version 3.5.21

Block size 4096 bytes

Block count 257032

First 16 blocks skipped

Super block is in 16

Bitmap blocks are :

17, 32768, 65536, 98304, 131072, 163840, 196608, 229376

Journal size 8192 (blocks 18-8210 of device 0x3:0x6)

Root block 8211

Used 8219 blocks

Hash function "tea" ATTENTION: ALL DATA WILL BE LOST ON ’/dev/hda6’! (y/n)y

Initializing journal - 0%....20%....40%....60%....80%....100%

Syncing..

Configuración de Heartbeat

375

Page 376: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Instale el paquete de Heartbeat:

# rpm -ivh heartbeat*

heartbeat ##############################

heartbeatconf ##############################

#

Configuración mediante Linuxconf

La configuración de heartbeat puede hacerse por medio del móduloConfigura-ción de heartbeatde Linuxconf. Este módulo usted encontrará accediendo almenú enConfiguración→Configuración de red→Tareas como servidor→Configuración heartbeat. Vea laFigura 9-3.

376

Page 377: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Figura 9-3. Configuración de Heartbeat

EnNodos y Servicios haga clic enAgregar y agregue un nombre para el nuevomodo, en nuestro ejemploha1 . Haciendo clic en aceptar surgirá el nodo que ustedagregó,Figura 9-4.

377

Page 378: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Figura 9-4. Nodos

Haga clic sobre el nombre del nodo (ha1), surgirá la ventanaEditando nodocon el botónIPs y Servicios. Mediante este botón elijaAgregar y digite un IP4

para este nodo y los recursos que se deben administrar, en el campoServicios.La Figura 9-5contiene un ejemplo utilizando un IP para este nodo y algunosrecursos separándolos por un espacio en blanco.

4. virtual

378

Page 379: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Figura 9-5. IPs y Servicios

Vamos a definir ahora la clave de la autenticación, haciendo clic en el botónClaves de autenticación de laFigura 9-3, surgirá una ventana con tres métodosde autenticación y un campo para la definición de una clave. Rellene de formasemejante a laFigura 9-6.

Figura 9-6. Claves de autenticación

379

Page 380: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

En este caso el método elegido fuemd5 y la clave de autenticaciónOlá! .

Para configurar un dispositivo del tipo UDP, por ejemplo, haga clic enConfigu-ración del dispositivo→Agregar→udp. Teclee un nombre para el dispositivo,en nuestro caso deFigura 9-7tecleamos en el campoNombre del Dispositivoeth0 .

Figura 9-7. Lista de dispositivos

Por último haremos algunas configuraciones personalizadas mediante el botónConfiguraciones diversas. Aquí configuramos nombres para archivos de men-sajes, implementación para el syslog, tiempos opcionales en segundos y el puertoUDP. Note que dejamos la opciónNice failback habilitada. Vea la figura delejemploFigura 9-8.

380

Page 381: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Figura 9-8. Configuraciones diversas

Más detalles sobre estas configuraciones se podrán ver a continuación , en confi-guración por el modo texto.

Configuración por el modo texto

381

Page 382: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

Edite el archivoharesources .

Este archivo contiene una lista de recursos que se mueven de computador a com-putador, según se caigan o levanten los nodos en el cluster. No incluya direccionesde IP fijas o administrativas en este archivo.

Ejemplo para el archivo/etc/ha.d/haresources :

#nombre-del-nodo dirección-IP-virtual recurso1 recurso2 ... recursoN

ha1 10.0.17.26 mysql httpd datadisk

Otro archivo a ser modificado es elha.cf , este archivo tiene muchas opciones.Todo lo que usted necesita es de una lista de conjunto de nodos (node ...) y unalista de interfaces.

Ejemplo de configuración para el archivo/etc/ha.d/ha.cf :

# keepalive: tiempo en segundos entre heartbeats

keepalive 1

# deadtime: tiempo en segundos para declarar el host caído

deadtime 5

# puerto UDP usado para comunicación udp

udpport 1001

382

Page 383: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

# interfaz para el heartbeat, una o varias

udp eth0

# Si el cluster estuviera ejecutando cuando el primario inicie,

# entonces él actuará como un secundario.

nice_failback on

# Archivo para grabar mensajes de debug debugfile

/var/log/ha-debug

# Archivo para escribir otros mensajes

logfile /var/log/ha-log

# facility usada para o syslog

logfacility local0

# Máquinas que están en el cluster, nodo nombre-del-nodo ... (nombre obtenido por

# uname -n).

node ha1

node ha2

El archivo de autenticación debe estar en el modo 600 (-rw-------), solamente

383

Page 384: Mestre Servidor Servidor Es

Capítulo 9. Alta Disponibilidad

lectura y escritura para el dueño, elija el método y la clave que irá con este iden-tificador del método.

Ejemplo para el archivo/etc/ha.d/authkeys :

# Se debe especificar solamente una indicación auth

# al comienzo.

# auth método-de-autenticación

auth 3

# El método md5 se considera el más seguro para este caso.

3 md5 Olá!

384

Page 385: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

En este capítulo presentaremos información concerniente a instalación, configu-ración y mantenimiento de redes heterogéneas. Verá la forma de trabajar para quesu servidor Conectiva Linux actúe como si fuera un Windows® o un Netware®,permitiendo que las estaciones no-Conectiva Linux se puedan utilizar de formatransparente. Además, verá cómo crear un servidor de archivos. También apren-derá cómo configurar sus computadores clientes para acceder a estos servicios.

NFS

Introducción y conceptos

La mayor ventaja de usar redes de computadores está en la posibilidad de com-partir información y recursos. En realidad, éste es el propósito principal al utilizaruna red. La información se puede compartir de varias formas, como por ejemplo,al usar FTP, web, entre otros casos. Mientras que los recursos de una red que sepueden compartir entre varios computadores, como por ejemplo, los discos, sepodrán realizar mediante NFS.

La sigla NFS indicaNetwork File System, en español, Sistema de Archivos de

385

Page 386: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Red. Se creó para permitir el acceso transparente a discos remotos. Además per-mite centralizar mejor la administración de los discos, pues hace posible quehaya directorios en un solo computador (o servidor NFS) y compartirlos en todoslos sistemas conectados a la red. Además, NFS abre la posibilidad de que hayaclientes sin disco.

Un esquema NFS bien configurado será totalmente transparente para el usuario.No es importante que sepa en cuál servidor está realmente un directorio. Bastaque sus programas funcionen correctamente sin que tenga que realizar cualquiertipo de configuración en especial.

Instalación de NFS

Instale el servidor NFS

1. Acceda al CD 1 de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS/

#

2. Instale los paquetes de NFS:

# rpm -ivh nfs-*

386

Page 387: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

nfs-server #############################################

nfs-utils #############################################

#

Configuración del Servidor NFS

La configuración de un servidor NFS es muy sencilla y se puede hacer tanto conLinuxconf como mediante la edición de archivos de configuración.

En realidad, lo que tendrá que hacer, será definir los directorios que se exportarán.

Para configurar su servidor, entre en Linuxconf y diríjase al menúConfiguraciónde Red→Tareas como Servidor→NFS: filesystems exportados para quela pantalla de configuración se le muestre tal como en laFigura 10-1.

387

Page 388: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Figura 10-1. Pantalla de configuración del servidor NFS

En esta pantalla usted puede definir un camino para exportar. Las opciones dis-ponibles son:

Ruta a exportar: Usted define el directorio que se exportará. A este directorio lo podrámontar un cliente.

Comentario (opc): Solamente un comentario ilustrativo. Se puede usar para documen-

388

Page 389: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

tar alguna observación sobre el directorio.

Nombre(s) de cliente: En este campo se pueden definir cuáles son los computadoresclientes (separados por comas) que podrán acceder a este directorio. Si no se especifi-ca ningún cliente, entonces se podrá conectar cualquier computador. También se puedenutilizar comodines para definir los computadores clientes. Por ejemplo, si se quiere daracceso a todos los computadores de su dominio, se puede especificar algo como:*.mior-

ganizacion.com

Puede escribir: Indica si el directorio se exportará solamente para lectura o si seráposible que los usuarios graben en él.

Privilegios de root: Normalmente, el superusuario accede a los directorios remotoscon privilegios denobody . Usted puede especificar esta opción para que el superusuariocontinúe teniendo acceso de superusuario cuando acceda al directorio.

Solicitar acceso desde un puerto seguro: Usted puede especificar que solamentelas conexiones seguras (con bajo número de puerto de origen) puedan montar el directo-rio.

Como se ha mencionado antes, la configuración también se puede hacer pormedio de la edición de archivos de configuración. Esta edición es bastante simple,involucrando solamente la edición de archivos/etc/exports .

El archivo /etc/exports es bastante sencillo. Cada línea representa un directorioexportado y la información está separada por espacios. Por ejemplo:

/share kepler(rw) copernico

389

Page 390: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Este ejemplo exporta el directorio/share especificando dos máquinas (kepler ycopernico ) con opciones diferentes (kepler puede grabar en el directorio, mientrasquecopernico sólo puede leer.

Tabla 10-1. Correspondencia entre Opciones de Linuxconf y de/etc/exports

/etc/exports Linuxconf

rw Marcar "puede escribir"

no_root_squash Marcar "privilegios de superusuario"

link_relative Marcar "seguir links simbólicos"

insecure Desmarcar "solicitar acceso depuerto seguro"

Después que se hacen las configuraciones, usted debe iniciar el servicionfs. Parahacerlo, es necesario abrir un terminal y teclear el comando (o servicio portmapya se deberá estar ejecutando):

# /etc/rc.d/init.d/nfs start

Iniciando servicios NFS : [ OK ]

Iniciando cuotas (NFS) [ OK ]

Iniciando mountd (NFS) [ OK ]

390

Page 391: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Iniciando rpc.nfsd (NFS) [ OK ]

Configurando un cliente NFS

Es muy simple hacer que una máquina utilice un disco remoto. La verdad es queno se necesita ningún tipo de configuración especial para volver cliente NFS acualquier computador. Usted sólo necesita construir el directorio remoto de lamisma forma como se hace un directorio local.

1. Antes que nada, cree un directorio en el computador local. Vamos a montar el di-rectorio remoto en este directorio local. En nuestro ejemplo, montaremos nuestrodirectorio/usr/local de la máquinaasterix dentro del directorio local/mnt/asterix

# mkdir /mnt/asterix #

2. Ahora monte el directorio remoto con el comandomount.

# mount asterix:/usr/local /mnt/asterix

#

Hecho esto, usted podrá percibir que el contenido del directorio local/mnt/asterix

es el mismo del directorio/usr/local del servidorasterix .

391

Page 392: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Claro que en muchos casos, querrá que los directorios remotos se construyanautomáticamente cuando se inicia el computador cliente. Para hacerlo, usted debeutilizar Linuxconf y entrar enSistemas de Archivos→Acceder un volumenNFS→Añadir para que se le muestre la pantalla de suma de volúmenes NFS(Figura 10-2).

Figura 10-2. Pantalla de acceso a volúmenes NFS

Samba

El protocolo SMB se utiliza en redes Windows® para compartir recursos, talescomo impresoras y discos. Por su intermedio, Windows® permite que una má-quina acceda al disco y a la impresora de otro computador en la red.

Con el crecimiento de Linux, se hizo necesario que los computadores Windows®y las redes Unix trabajasen en forma armoniosa. Desafortunadamente, esto noera muy sencillo, ya que las dos plataformas venían de culturas muy diferentes ytenían dificultades para trabajar de forma conjunta sin la ayuda deSamba.

392

Page 393: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Samba, por su parte, es una implementación libre del protocolo SMB. Al uti-lizarlo se puede simular, de forma transparente, un servidor Windows®. Eso haceposible que se usen las estaciones Windows® en una red Conectiva Linux em-pleando el protocolo NetBIOS.

Configuración del Servidor Samba

Figura 10-3. Configuración de Samba

La configuración de un servidor Samba es un tópico bastante amplio. Todo de-pende del tipo de servicios que usted desea ejecutar.

Por ejemplo, debe decidir si quiere que el servidor Samba sea un controlador dedominio o no.

Instalación de Samba

La instalación de Samba es sencilla

393

Page 394: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

1. Acceda al CD 1 de la distribución de Conectiva Linux:

# cd /mnt/cdrom/conectiva/RPMS

2. Instale el paquete de Samba:

# rpm -ivh samba-*

samba #########################################

samba-clients #########################################

Configuración

Esta sección se concentra en la configuración de Samba por medio de Linux-conf. Pero se puede realizar de otra forma, como por ejemplo, editando el ar-chivo /etc/smb.conf y también por medio de SWAT. Veremos SWAT al final deesta sección. Los ejemplos de configuración siempre serán sobre Linuxconf, sinnecesidad de editar directamente el archivo./etc/smb.conf .

394

Page 395: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Contraseñas codificadas

El problema más común durante la instalación de Samba se relaciona con lascontraseñas de los usuarios.

A partir de la versión 98, Windows® comenzó a hacer la transmisión de con-traseñas codificadas por la red NetBIOS. El sistema Windows 95® y las versionesiniciales de Windows NT®, transmitían sin codificar las contraseñas. Esa faltade homogeneidad entre estos sistemas, hizo más complicada la configuración deSamba.

Al codificar las contraseñas, se busca protegerlas de intentos groseros de des-cubrirlas. Lamentablemente los algoritmos para codificar no son muy fuertes.

Contraseñas decodificadas en Windows® 95

El estándar de Windows® 95 no es codificar las contraseñas. Por lo tanto, es posi-ble que usted no necesite esta configuración. Pero las versiones más recientes deWindows® 95 (como, por ejemplo, Windows® 95 OSR2) cambiaron su compor-tamiento. Si tiene problemas con contraseñas siga el procedimiento descrito enesta sección.

La configuración de Windows 95® puede ser efectiva de dos formas. Una deellas sería utilizar el archivoWin95_PlainPassword.reg que viene con Samba. Estearchivo se puede localizar en el directoriodocs/ de la documentaciónon linedeSamba:

# cd /usr/doc/samba*/docs

395

Page 396: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Usted puede copiarlo para las estaciones Windows 95®. Después basta abrir elarchivo (haga doble clic) para que se instale.

Otra manera de habilitar las contraseñas es editar el registro a través de la utilidadregedit de Windows® para alterar o incluir la clave:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]

"EnablePlainTextPassword"=dword:00000001

Contraseñas decodificadas en Windows® 98

Por defecto, Windows® 98 codifica todas las contraseñas que transitan por la red.Para poder utilizar las estaciones Windows® 98 con su red, siga el procedimientoque se describe en esta sección.

La configuración de las contraseñas no decodificadas en Windows 98® se puedehacer de dos formas. Una, sería la utilización del archivoWin98_PlainPassword.reg

que acompaña al Samba. Este archivo se puede localizar en el directoriodocs/ dedocumentaciónen líneade Samba:

# cd /usr/doc/samba*/docs

Usted lo puede copiar para las estaciones Windows 98®. Después, basta abrir elarchivo (dar doble clic sobre el mismo) para que se instale.

396

Page 397: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

También se pueden habilitar las contraseñas editando el registro empleando lautilidad regedit de Windows® para alterar o incluir la clave:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]

"EnablePlainTextPassword"=dword:00000001

Contraseñas decodificadas en Windows NT®

El sistema Windows® NT codifica las contraseñas en algunas versiones y enotras no. Evidentemente, después del tercer paquete de arreglos de bugs (ServicePack 3ó SP3), pasó a codificar todas las contraseñas transmitidas por la red. Porlo tanto, se recomienda seguir los procedimientos descritos en esta sección paraasegurar que funcione como cliente de una red Samba. También recomendamosque usted tenga al menos Windows® NT SP3 instalado.

La configuración de contraseñas no codificadas en Windows® 98 se puede hacerde dos formas. Una de ellas sería utilizar el archivoNT4_PlainPassword.reg queacompaña a Samba. Este archivo se puede localizar en el directoriodocs/ de ladocumentaciónen líneade Samba:

# cd /usr/doc/samba*/docs

Usted puede copiarlo para las estaciones Windows® NT. Después, basta abrir elarchivo (dando doble clic) para que sea instalado.

397

Page 398: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Otra manera de habilitar contraseñas es editar el registro por medio de la utilidadregedit de Windows® para alterar o incluir la clave:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]

"EnablePlainTextPassword"=dword:00000001

Configuración Básica

Figura 10-4. Pantalla de configuración Global de Samba

Una de las primeras configuraciones que usted probablemente deseará hacer esdefinir el grupo de trabajo. Para eso, abra Linuxconf y vaya a lasTareas comoServidor en Configuración de Red y entre enSMB: Servidor de archivosSamba para comenzar la configuración. En este momento, usted debe ver unapantalla parecida con laFigura 10-3.

Pulse enDefiniciones para configurar el grupo de trabajo.

En el campoGrupo de Trabajo, teclee el nombre deseado.

Como Windows® normalmente utiliza el método de seguridad por recurso, usteddebe alterar el comportamiento estándar de Samba, que es el de hacer la autenti-

398

Page 399: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

cación por usuario. Para hacerlo, solamente altere la opciónModo de Autenti-cación paraRecurso. Esta opción puede encontrarla en la carpetaClaves.

Compartiendo un directorio

En esta sección, vamos a mostrar cómo compartir el directorio/home/samba paraque éste se pueda montar en una estación Windows®.

1. Abra el cuadro de diálogoDisco Compartido (Figura 10-5).

Compartiendo un directorio por medio de Samba

Figura 10-5. Compartiendo Discos

Note que estamos compartiendo el directorio/home/samba , con el nombrede recurso compartido (aquél que aparecerá en el Configuración de Redesde Windows®) “público”. Permitimos, también que el usuario, cualquierusuario, pueda grabar en el directorio. Además, definimos que solamente loscomputadores en nuestro dominio, lo pueden acceder.

Para compartir un directorio, necesita solamente especificar un nombre, paralos recursos compartidos, cuál es el directorio que se exportará y definir lasopciones de simple acceso.

399

Page 400: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Montando un volumen Samba

Usted puede tener la necesidad de acceder a un volumen de una máquina Win-dows® a partir de su Conectiva Linux. Hacerlo no solamente es posible, sinotambién muy sencillo.

El proceso se debe hacer por medio de la línea de comando. Imaginando queusted quiere montar el discoC: del computadorcopernico , que fue compartidocon el nombreC, en su directorio Conectiva Linux/mnt/copernico :

# smbmount //copernico/c /mnt/copernico

#

Note que en algunos casos (usted está montando un volumen de un servidor Win-dows NT®, por ejemplo), será necesario que informe un usuario y una contraseñapara poder utilizar el comandosmbmount.

# smbmount //copernico/c /mnt/copernico -o username=mara,password=selva

Eso funcionará si el usuariomara está registrado en el computadoryaguareté conla contraseñaselva .

Iniciando Samba

Para que su servidor Conectiva Linux pueda funcionar como un servidor Samba,

400

Page 401: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

se debe iniciar el serviciosmbd . Para eso, abra un terminal y teclee:

# /etc/rc.d/init.d/smb start

Iniciando servicios SMB : [ OK ]

Iniciando servicios NMB : [ OK ]

Configuración del cliente

Esta sección describe la configuración paso a paso de un cliente Windows® 98.La instalación en las otras versiones de Windows® deberá tener una lista de pa-sos semejantes. Si tiene alguna duda, deberá consultar la documentación de Win-dows® concerniente a los pasos de instalación de una red punto a punto.

1. Instale normalmente su tarjeta de red según la documentación de Windows®. Ustedprecisará del protocolo TCP/IP y del servicioClientes para Redes Microsoft. Nue-vamente, consulte la documentación de Windows® para tener información sobrecómo instalar este servicio.

2. Pulse en la carpetaIdentificación en la pantalla de configuración de redes y teclee elnombre de su computador y el nombre de su grupo de trabajo. En nuestro ejemplo,el computador se llamarákepler y formará parte del grupo de trabajomiorganizacion .

3. Pulse en la carpetaControl de Acceso.

401

Page 402: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

4. Volviendo hacia la pantalla de configuración de redes, abra la pantalla de propiedadesde protocolo TCP/IP; pulse enConfiguración DNS y agregue la dirección IP delservidor Samba a la lista de servidores DNS. Si ya no lo hubiera hecho, active DNS(opciónActivar DNS en la misma pantalla ). Vea que esta configuración solamentese aplica para redes que tengan un servidor DNS. Usted también deberá, editar lapantallaDirección IP, informando la dirección de IP que va a utilizar la estación (sisu red posee un servidor DHCP, no precisará de esta configuración).

5. Presione enOK y deje la configuración de red. No se puede configurar Windows®inmediatamente y así usted tendrá que reiniciarlo cuando se lo solicite.

Esos pasos deberán permitirle colocar una estación Windows® 98 en su redLinux. Después que la máquina se haya reiniciado usted podrá abrirConfigu-ración de red para navegar por los computadores disponibles en la red.

Utilización de SWAT

Además de Linuxconf, es posible configurar Samba a través de otra interfaz ami-gable: SWAT. Se trata de una interfazwebpara la configuración. Una gran ventajade SWAT es la de permitir la configuración remota de un servidor Samba, ya quesólo es necesario acceder al computador por Internet.

Para habilitar a SWAT a partir de su servidor, es necesario editar el archivo/etc/inetd.conf y descomentar (retirar el “#” inicial) de la línea:

swat stream tcp nowait.400 root /usr/sbin/swat swat

402

Page 403: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

que está, normalmente, al final del archivo. Si usted no encuentra una línea seme-jante, se puede agregar la línea de arriba.

Después que se hace la edición, el servicioinetd se debe reiniciar:

killall -HUP inetd

o además:

/etc/rc.d/init.d/inet restart

La diferencia entre los dos comandos es que el segundo iniciará el servicio, si noestá iniciado.

A partir del momento en el queinetd se reinicie, SWAT será accesible por mediodel puerto 901 de su servidor. Usted puede acceder a SWAT http://localhost:901por medio de cualquier navegador (vea laFigura 10-6).

Figura 10-6. S W A T

403

Page 404: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Mars-NWE

Mars-NWE es un emulador de Netware®, o sea, es un programa que define unsubconjunto de protocolo NCP de la Novell®, de forma que las estaciones loreconozcan como un servidor Netware®.

Mars es una buena opción al Netware en redes en las que hay por lo menosun administrador con buen conocimiento de Linux. Además, las empresas queiniciaron un proceso de migración para Linux y poseen algunas estaciones DOStambién pueden utilizar a Mars-NWE.

Como Mars-NWE es un emulador, algunas utilidades de configuración de la Nov-ell® no funcionan con él y su configuración se debe hacer dentro de Linux.

Introducción y conceptos

El protocolo IPX

El IPX es un protocolo de transporte1. La administración de la sesión se realizapor otros protocolos. En el caso de Netware®, este protocolo es el NCP.

Al contrario de TCP/IP, en el protocolo IPX no hay necesidad de especificar losnúmeros de red, ya que ellos son siempre los números identificadores de la tarjeta

1. Protocolo que se encarga de transportar un paquete de la red de un origen para un destino.

404

Page 405: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

de red2.

Además, al protocolo IPX se le puede encaminar. Eso hace que los servidoresNetware®, incluso el Mars-NWE, automáticamente desempeñen la función deencaminadores, siempre que estén conectados a más de una red. Estos servidoresconstantemente se anuncian por medio de paquetes debroadcastde manera quees posible crear tablas de encaminamiento dinámicas.

El objeto Bindery

Es importante destacar que Mars-NWE no atiende a la mayoría de los objetosbinderydel propio servidor, comotrusteesy limitaciones de horario. Así, la con-figuración de los permisos se debe hacer por medio del propio Linux. Los únicosobjetosbinderyreconocidos por el Mars-NWE son las contraseñas de los usua-rios. De cualquier modo, todos los objetosbinderyse almacenan en el directorio/var/mars_nwe , por lo que, es una buena idea mantener copias de seguridad delmismo. Hay planes para que otros objetos debinderyse soporten en versionesfuturas de Mars.

2. Número atribuido a cada tarjeta en la fábrica. Estos números de 48bits jamás deberían com-plicarse.

405

Page 406: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Scripts de Logon

Losscriptsse almacenan en el directorioSYS:MAIL\ , tal como en un servidor Net-ware®. Además, usted podrá crear/alterar esos archivos por medio deSYSCON.

A veces elSYSCON no logra grabar elscript de logon; graba un archivoLO-

GIN.BAK en el directorio del usuario y no consigue cambiarle el nombre paraLOGIN.Generalmente esto es un problema de permisos en directorios o archivos viejos (osea, archivos copiados de un servidor Netware® ya existente). Cambie el nombremanualmente en Linux y atribuya los permisos de usuario. Seguramente eso noocurrirá de nuevo.

Si usted está migrando de Netware® para Mars, seguramente va a montar el vo-lumen Netware® conncpmount y copiar los datos para un directorio como,por ejemplo,/home/netware/sys . Es bueno que una vez que se haga una copia,usted borre los subdirectorios del directorioSYS:MAIL . Si no lo hace, quedarán allílos directorios antiguos, creados por el servidor Netware®. Y es verdad que losnúmeros de usuario atribuidos por el Netware® (que son justamente los nombresde los directorios) no van a coincidir con los números creados por Mars; y ustedtendrá que descubrir “de quién es cada uno” y atribuir los permisos correctos conchown y chmod etc. Se recomienda borrar todo e iniciar Mars de manera quetodos los directorios se generen automáticamente.

Autenticación de Usuarios

Cada uno de los usuarios Netware® debe corresponder a un usuario Linux re-

406

Page 407: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

gistrado en el archivo/etc/passwd . Pero, la autenticación de los usuarios de Marsno se hace por medio del archivo/etc/passwd o del /etc/shadow , sino mediante elarchivo/etc/nwserv.conf .

Como Mars no respeta lostrusteeses necesario establecer los permisos en elpropio Linux mediante los comandoschmod, chgrp y chown.

Ya vimos que el archivo de configuración de Mars establece una relación entreusuarios Netware® y usuarios UNIX. Los comandos antes citados trabajan so-lamente con usuarios UNIX, por lo tanto los permisos se tienen que “pensar”en términos de usuarios UNIX. Es verdad que si los usuarios UNIX tuvieran losmismos nombres de los usuarios Netware®, todo se hace más fácil.

El usuario UNIX asociado al “supervisor” puede ser el root, o un usuario común.Si fuera un usuario común, debe tener un grupo primario sólo suyo y tambiéndebe participar de todos los grupos donde haya usuarios UNIX asociados conusuarios Netware®. Eso garantiza que el supervisor pueda de hecho leer y grabarcualquier archivo de los volúmenes exportados.

Asociar el root al supervisor ahorra bastante tiempo. Sin embargo, si el servidorestá en un ambiente inseguro (expuesto a Internet, o con usuarios desconocidos,etc.) es mejor asociar el supervisor a un usuario Unix común.

Inicialmente se deben observar los siguientes puntos:

• Los directorios y archivosSYS:SYSTEM, SYS:PUBLIC y SYS:LOGIN tienen que pertenecer aroot:root y con permisos de lectura para todos los usuarios.

• El directorioSYS:MAIL debe pertenecer a root:root (o por el usuario y grupo asociado alsupervisor), pero con permiso de lectura para todos los usuarios.

407

Page 408: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

• Los demás directorios y archivos deben pertenecer a los respectivos usuarios y grupos.

• Los permisos de todos los directorios deben ser 2775, si son legibles a todos los usua-rios y 2770 si son legibles solamente para los usuarios del grupo. El dígito "2" accionael bit SGID del directorio; así, cualquier archivo y directorio nuevo que se genere den-tro del directorio, pertenecerá a los usuarios que los originaron, pero el grupo serásiempre el mismo del directorio madre. Así los demás usuarios del grupo también ten-drán acceso garantizado a los nuevos archivos y directorios. Note que eso complementala configuración de las máscaras de permisos del archivo/etc/nwserv.conf ;

• El directorio raíz de cada volumen (como en el archivo ejemplo, el directorio/home/netware/sys )debe tener permisos 775 y pertenecer al usuario supervisor, salvo en el caso en que losusuarios tengan permisos para crear archivos y directorios en la raíz del volumen. Enese caso los permisos deben ser 777.

• Los directorios dentro deMAIL/ deben pertenecer a los respectivos usuarios y grupos.Los archivosLOGIN pueden pertenecer al usuario o también al root (en este último caso,el archivo está protegiendo intentos de alteración que partan del propio usuario). Noteque el archivo y el directorio precisan ser, al menos, legibles para el usuario, así comoel directorio MAIL.

• Vea que, si usted dejó que Mars los origine solo, los permisos de los directorios bajoSYS:MAIL ya estarán todos correctos, sin necesidad de cualquier intervención del usuario.

Cuando un usuario no tenga permiso de lectura para algún directorio, éste leaparecerá vacío.

• Si, por ejemplo, un usuario necesita tener acceso al archivoVOLUMEN:DIR1\ARCHIVO, pre-

408

Page 409: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

cisará tener, al menos, acceso de lectura al directorio-raíz de VOLUMEN, así como atodos los directorios del camino. Si no puede leer el directorio, el usuario no distinguirásubdirectorios y archivos.

Utilidades DOS

Muchas operaciones (registro de usuarios, contraseñas, etc.) se pueden hacer me-diante el propio Linux con las utilidades/usr/bin/nw* . Sin embargo es verdad queusted necesitará de una u otra utilidad de Novell® (IPX20, SYSCON, LOGIN ,SLIST etc.) Hay unas pocas versiones gratuitas de algunas de esas utilidades(LOGIN y SLIST), lo que es insuficiente para una red con estaciones DOS. Serádifícil mantener una red Novell® totalmente libre de software comercial.

Si tiene un Netware® licenciado, copie los directoriosSYS:PUBLIC y SYS:SYSTEM

para el servidor Mars.

Note que este problema solamente se aplica al caso de redes con estaciones DOS.Como las estaciones Windows® 95/98 incluyen un cliente para las redes Net-ware® que no dependen de ninguna utilidad DOS, usted será capaz de constituiruna red totalmente libre de software comercial Netware® si todas sus estacionesfueran Windows®.

Si sus estaciones fuesen todas Linux, tampoco habrá necesidad de las utilidadesDOS. Sin embargo, no hay necesidad de Mars-NWE en una red así, ya que esposible y mucho más lógico, construir una red con base en el protocolo TCP/IP.

409

Page 410: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Rendimiento

Según el autor de Mars, “el rendimiento de Mars-NWE es ligeramente inferioral Netware® 3.12, en el mismohardware, pero es superior al Netware® 4”. Lostests demostraron que Mars-NWE es más rápido (10-15%) que Netware® 3.12para operaciones comunes en archivos (lectura y grabación de pequeños trechos,etc).

Sin embargo, Mars es cerca de 50% más lento en operaciones de lectura/escriturade grandes trechos, como por ejemplo unCOPY de DOS. Ese rendimiento sepuede mejorar mediante un recurso denominadopacket burst, que todavía estáen estado experimental. Para obtener más información sobre cómo habilitar esterecurso veala sección de nombreVersión de Netware®.

Problemas conocidos

Además de saber que algunos procedimientos son un tanto complejos para quienestá acostumbrado con Netware®, Mars-NWE tiene una característica indeseable.Si un usuario abre un archivo de forma exclusiva y después intenta abrir de nuevoel mismo archivo, tendrá éxito, mientras que el comportamiento de un servidorNetware® sería el de negar cualquier intento de reapertura.

Note que eso ocurre solamente si el archivo se abre múltiples veces por mediode una misma conexión. Si un usuario entra en el sistema con el mismo nombreen diferentes estaciones e intenta abrir un mismo archivo en modo exclusivo entodas ellas, no tendrá éxito a partir de la segunda estación. El impacto de ese bug

410

Page 411: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

de Mars varía en función de los programas utilizados.

Si los usuarios suelen abrir múltiples instancias de una misma aplicación y esaaplicación usa apertura de archivos en modo exclusivo para garantizar la integri-dad de ciertas operaciones, puede haber problemas. Si usted tiene problemas coneso, puede prohibir a los usuarios con estaciones Windows® que abran múltiplesinstancias de la misma aplicación.

Otro problema posible es que Mars no va a cargar/ejecutar sus NLMs. Una ex-tensión eventualmente encontrada en servidores Netware® 3 es el BTrieve®. Yaexiste BTrieve® para Linux, pero es un producto comercial.

Configuración

La configuración de Mars no se puede hacer todavía por medio de Linuxconf.Así, el proceso de configuración de un servidor Mars se debe realizar por mediode la edición de archivos de configuración/etc/nwserv.conf .

El archivo/etc/nwserv.conf controla todo el comportamiento de su servidor Mars-NWE. Note que las opciones siempre están precedidas por un número identifi-cador. Este número se utiliza por Mars para reconocer la función de cada línea.En esta sección, vamos a mostrarle cómo configurar las opciones más comunes(note que existen varias otras, pero que son poco utilizadas). Usted podrá en-contrar información sobre las mismas en el propio archivo/etc/nwserv.conf pordefecto o estándar que acompaña la instalación.

411

Page 412: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Volúmenes del Servidor

Usted debe especificar cuáles serán los volúmenes del servidor Mars. Para es-pecificar un volumen de servidor, tendrá que incluir una línea para cada volumenen el archivo de configuración. Esta línea tiene la siguiente sintaxis:

1 VOLUMEN DIR_LINUX OPCIONES MASC_DIR MASC_ARCH

donde:

VOLUMEN: nombre del volumen como se lo verá por las estaciones.

DIR_LINUX: directorio del Conectiva Linux donde este volumen estará almacenado.

OPCIONES: las opciones son:opción k, que permite nombres en letras minúsculasen Conectiva Linux. Estos nombres se convertirán automáticamente en letras mayúsculaspara estaciones DOS. Si esta opción no se ha especificado, los nombres tienen que tenerletras mayúsculas en Conectiva Linux;opción o: especifica que los subdirectorios estánen el mismo sistema de archivos. Eso permite que Mars haga algunas optimizaciones.

MASC_DIR: aquí usted puede especificar los permisos estándar de directorios. Se crea-rán nuevos directorios con estos permisos.

MASC_ARCH: aquí usted puede especificar los permisos estándar para los archivos.Todos los nuevos archivos se crearán con estos permisos.

No se olvide que la presencia del volumenSYSes obligatoria.

Ejemplo:

412

Page 413: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

1 SYS /home/netware/sys ko 775 775

1 FABRICA /home/netware/fabrica ko 775 775

1 PERSONAL /home/netware/personal ko 775 775

Nombre del Servidor Netware®

Para definir el nombre del servidor Netware®, basta incluir una línea que contieneel nombre deseado:

2 NOMBRE_SERVIDOR

Donde NOMBRE_SERVIDOR

Ejemplo:

2 FABRICA

Eso define el nombre del servidor comoFABRICA.

413

Page 414: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Red Interna

Usted puede especificar el número de su red interna. Se puede especificar la op-ción auto , para que Mars elija automáticamente el número de la red interna (uti-liza simplemente el número IP de la interfaz de red).

3 NUM_RED

DondeNUM_RED es el número de su red interna (opcionalmente, utiliceauto ).

Ejemplo:

3 auto

Tarjetas de Red

Los parámetros para la configuración de las tarjetas de red son:

4 NUM_RED INTERFAZ PATRÓN_PAQUETE TIEMPO

donde:

NUM_RED: es el número de la red.

INTERFAZ: es lainterfazde red de Linux.

414

Page 415: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

ESTÁNDAR_PAQUETE: es el estándar o predefinido de empaquetamiento utilizadopor el servidor. Esta definición puede ser802.2 , 802.3 , ethernet_ii , snap , token o auto .Obviamente, este estándar de empaquetamiento debe ser el mismo utilizado por las esta-ciones. Elbootremoto de Netware® exige802.3 .

TIEMPO: es el tiempo que lleva un paquete para que se transmita por lainterfaz. Paratarjetas de red, utilice siempre 1.

Todas las interfaces de red deben tener números de IP, aunque el servidor no estésirviendo a ningún protocolo con base en TCP/IP.

Ejemplo:

4 0x01 eth0 802.3 1

Almacenamiento de Rutas

Como estándar, Mars no guarda las rutas cuando se desactiva. Así, siempre que seactiva Mars, pasa de 1 a 2 minutos buscándolas. Eso se puede modificar haciendoque Mars guarde las rutas en el momento en que se desactiva.

5 GUARDAR

DondeGUARDAR es un valor numérico. "0" hace que Mars no guarde las rutas,"1" hace que Mars guarde las rutas en el momento de desactivación, acelerando

415

Page 416: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

la iniciación posterior.

Ejemplo:

5 0

En este ejemplo, Mars está configurado para no guardar las rutas.

Versión de Netware®

Usted puede indicar la versión de Netware® que Mars aparentará ser. Eso esimportante para algunos programas que sólo funcionan con versiones específicasde Netware®.

6 VERSION PACKET_BURST

Donde:

VERSION: es un código especificando la versión de Netware®. Este código puede ser:0 para Netware® 2.15, 1 para Netware® 3.11 y 2 para Netware® 3.12.

PACKET_BURST: es un código para habilitar o deshabilitarpacket burst. Este recur-so todavía es experimental en Mars, pero es capaz de aumentar considerablemente elcomportamiento del servidor. El código puede ser 0x1 para habilitar o si no 0x0 paradeshabilitar el recurso.

416

Page 417: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Ejemplo:

6 2 0x0

Eso define el servidor como Netware® 3.12 sinpacket burst.

Tratamiento de Contraseñas

Usted puede definir cómo se tratarán las contraseñas de los clientes DOS.

7 MODO

DondeMODO es un código que indica cómo tratar las contraseñas:

0: obliga a codificar todas las contrasenas.

1: obliga la codificación de todas las contrasenas, pero soporta la rutina no codificada decambios de contrasena.

7: permite contrasenas no codificadas, pero no admite contrasenas vacías.

8: permite contrasenas no codificadas y contrasenas vacías.

9: permite solamente contrasenas no codificadas.

Ejemplo:

417

Page 418: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

7 0

Define el comportamiento por defecto.

Seguridad de Archivos durante el Proceso de Login

Hay muchas opciones que controlan los sistemas de seguridad de los archivosdurante la fase delogin.

0: los clientes sólo pueden acceder al directorioSYS:LOGIN. Esta es la opción estándar.

1: los clientes pueden acceder a otros archivos además de losSYS:LOGIN/* , pero todavíasujetos a los permisos de Linux.

2: este modo permite acceso a los archivos de la siguiente forma: si el cliente intentaabrir un archivo para escribir, pero el mismo permite solamente que se lea, Mars permitela apertura, pero solamente para lectura.

4: permite que los directorios se nombren nuevamente mediante una llamada denomina-da NCP que normalmente sólo funcionaría con archivos.

8: ignorar las restricciones de estación y de tiempo en el caso del supervisor. Actual-mente, esta opción no hace nada, ya que Mars todavía no soporta este tipo de objetobindery.

16: permite que no se apague un archivo que está usando otro usuario.

418

Page 419: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

32: almacena las entradas de los archivos para usarlos después. Normalmente, solamentelos directorios se almacenan. Eso es necesario si usted utiliza ncpfs como cliente Mars.

64: limita el espacio libre en casi 2GB. Eso es necesario para algunos clientes antiguosde DOS.

8 MODO

DondeMODO es la suma de los códigos de las opciones deseadas.

Ejemplo:

8 20

Eso define a cuáles directorios se les puede cambiar el nombre mediante NCP (4)y cuáles archivos en uso se pueden borrar (16).

Usuario Invitado

Usted debe especificar un usuario de Linux para corresponder al usuario "invi-tado" (guest). Durante el proceso deboot remoto ylogin, el servidor le dará esepermiso al cliente, por lo tanto es importante verificar que este usuario tengaacceso a los archivos necesarios (SYS:LOGIN\LOGIN.exe y SYS:LOGIN\NET$DOS.SYS)

10 UID 11 GID

419

Page 420: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Donde:

UID: es el número del usuario "invitado".

GID: es el número del grupo del usuario "invitado".

Usted puede especificar el usuario: gruponobody:nobody (99:99) para que sea elusuario "invitado".

Ejemplo:

10 99 11 99

Eso define al usuarionobody:nobody como usuario invitado.

Usuarios con poder de supervisor

Usted debe definir cuáles serán los usuarios con poderes de supervisor.

12 USU_NW USU_LINUX CONTRASEÑA

Donde:

USU_NW: es el nombre del usuario "supervisor"en Netware®.

USU_LINUX: es la cuenta del usuario en Linux.

420

Page 421: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

CONTRASENA: es la contrasena del usuario en Linux. Note que es una buena ideacambiar los permisos del archivo/etc/nwserv.conf para 700, de manera que nadie puedaleerlos y descubrir la contrasena del supervisor.

Ejemplo:

12 SUPERVISOR root !92oi28#

Eso define que el usuarioroot será el supervisor y que su contraseña es!92oi28#

Usuarios de Netware®

Usted puede registrar los usuarios de Netware®. Hay dos maneras de anotar suscontraseñas: como parámetro de esta línea en el archivo de configuración o me-dianteSYSCON.

13

USU_NW:USU_LINUX:[CONTRASEÑA]

Donde:

USU_NW: es el nombre del usuario en Netware®.

USU_LINUX: es el nombre del usuario Linux asociado.

421

Page 422: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

CONTRASENA: es la contrasena del usuario. Note que este parámetro es opcional, yaque la contrasena puede ser configurada por el supervisor víaSYSCON.

Si la contraseña se configura medianteSYSCON, el usuario puede alterar la queel administrador le ha atribuido temporalmente.

Un mismo usuario Linux puede estar asociado a varios usuarios Netware®, loque facilita la instalación de seguridad.

Ejemplo:

13 CLARA jefatura

13 JORGE jefatura

13 MARCIO producción

13 DEMERVAL demerval

Estas líneas registran algunos usuarios. Note queCLARAy JORGEestán registradospara un mismo usuario Linux (jefatura ).

Registro automático de usuarios

Es posible anotar automáticamente los usuarios Linux y los usuarios de Net-ware®.

15 REGISTRO_AUTOMATICO

422

Page 423: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

DondeREGISTRO_AUTOMATICO es 0 para deshabilitar y 1 para habilitar elregistro automático de usuarios.

Ejemplo:

15 0

Deshabilita el registro automático. Fíjese que no es conveniente deshabilitar estaopción.

Creación de los directorios esenciales

Con la opción 16, Mars siempre comprobará la existencia de los directorios esen-ciales (MAIL, directorios de usuarios, etc..) y los creará, si hubiera necesidad.

16 COMPROBAR

DondeCOMPROBAR es 0 para no verificar y 1 para comprobar la existencia delos archivos (eso, obviamente, implica en crear los mismos en caso de necesidad).

423

Page 424: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

Script de Login Estándar

Hay un problema cuandoSYSCON intenta grabar el primerscript de login: nologra hacerlo. Si usted habilita esta opción, este problema estará resuelto y secreará unscript de login estándar (vacío).

17 CREAR

DondeCREAR es 0x0 para no crear y es 0x1 para crear.

Ejemplo:

17 0x1

Este ejemplo instruye Mars para que siempre cree unscript de login estándar,cuando el usuario no posea uno.

Desconexión del Banner de Impresión

Con esta opción, usted puede desconectar la impresión delbannerincondicional-mente. Eso es útil principalmente cuando se está utilizando estaciones Windows95® antiguas, ya que las mismas no ofrecen esa importantísima opción.

18 BANNER

424

Page 425: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

DondeBANNER es 0 para no imprimir y 1 para permitir la impresión. Note que,si se especifica el valor 1, la impresión delbannertodavía se puede evitar pormedio de las opciones de Netware®.

Ejemplo:

18 0

Jamás imprima elbanneren las impresiones.

Colas de Impresión

Usted puede especificar las colas de impresión para utilizar las estaciones. Cadacola ocupa una línea:

21 NOMBRE DIRECTORIO COMANDO

Donde:

NOMBRE: es el nombre de la cola de impresión de Netware®.

DIRECTORIO: es el directorio donde las tareas de impresión se graban. Note que estedirectorio tiene que existir y que no puede ser el directorio de cola de Linux (/var/spool/lpd/* ).

Ejemplo:

425

Page 426: Mestre Servidor Servidor Es

Capítulo 10. Redes Mixtas

21 LASER SYS:/PRINT/LP lpr -P text

En esta misma guía vamos a presentar otro protocolo para trabajar con redesmixtas, vea en el apéndice B.

426

Page 427: Mestre Servidor Servidor Es

Apéndice A. Appletalk

Conectiva Linux ofrece el paquete Netatalk en su distribución. Este paquete con-tiene el protocoloAppletalk, que permite al servidor Conectiva Linux servir im-presoras y archivos para estaciones Macintosh®.

Vea que el camino de vuelta no es posible, o sea, Macintosh no puede ser servidorde una red Linux. Esto depende de la creación de un módulo delnúcleoque aúnestá en sus etapas iniciales de desarrollo.

Netatalk acepta conexiones vía protocoloEthertalky TCP/IP. Los computadoresMacintosh más nuevos dan privilegio al TCP/IP como protocolo de transporte.

El paquete Netatalk consiste en 3 servicios que actúan en conjunto, aunque sepuedan activar y desactivar independientemente:

• atalkd: Sirve aAppletalkvíaEthertalk.

• afpd: Sirve aAppletalkvía TCP/IP.

• papd: Juega un papel de intermediario de los servicios de impresión para los otros dosservicios.

Si no se comparte la impresora y no se necesita elEthertalk, se puede iniciar sóloel afpd y, así, ahorrar un poco de memoria.

427

Page 428: Mestre Servidor Servidor Es

Apéndice A. Appletalk

Instalando Netatalk

Para instalar Netatalk:

• Acceda al directorio de paquetes del CD 1 de Conectiva Linux

# cd /mnt/cdrom/conectiva/RPMS

• Instale los paquetes de Netatalk:

# rpm -ivh netatalk-*

netatalk ###########################################

netatalk-devel ###########################################

Configurando Netatalk

Netatalk de Conectiva Linux ya viene configurado para las aplicaciones simples.Todo lo que hay que hacer es especificar los directorios que serán exportadoscomo volúmenes para las estaciones Macintosh.

428

Page 429: Mestre Servidor Servidor Es

Apéndice A. Appletalk

Netatalk Concentra todos sus archivos de configuración en el directorio/etc/atalk .

Exportando directorios

Para especificar cuáles directorios se exportarán como volúmenes para los clientesMacintosh, se debe editar el archivo/etc/atalk/AppleVolumes.default y añadir laslíneas correspondientes a los directorios.

Las líneas de/etc/atalk/AppleVolumes.default tienen el siguiente formato:

PATH [NOMBRE] [casefold=X] [codepage=X] [options=X,Y,Z] \

[access=X,@Y,Z] [dbpath=X] [password=X]

Donde:

• NOMBRE: Es una descripción del volumen.

• casefold:Son opciones de cuadro de texto de los nombres de archivos y directorios.Puede ser:

• tolower: Convierte las letras en minúsculas, en el servidor y en los clientes.

• toupper: Convierte las letras en mayúsculas, en el servidor y en los clientes.

• xlatelower: Convierte en minúsculas en el cliente y en mayúsculas en el servidor.

429

Page 430: Mestre Servidor Servidor Es

Apéndice A. Appletalk

• xlateupper: Convierte en mayúsculas en el cliente y en minúsculas en el servidor.

• codepage:Señala la página de códigos que será utilizada. El parámetro es el nombrede un archivo del directorionls .

• options: Son opciones diversas divididas por comas. Puede ser cualquier combinaciónde:

• prodos: Permite compatibilidad con clientes AppleII®.

• crlf: Habilita la conversión de los caracteres de nueva línea de los archivos textosentre los dos ambientes.

• noadouble: No crea los archivos .AppleDouble a no ser que sea necesaria unadivisión de los recursos. Los archivos .AppleDouble son creados para cada archivoen un directorio. Macintosh guarda información como ícono, tipo de archivo, etc, endichos archivos. Aisladamente ellos son bastante pequeños (589bytes), pero puedenocupar mucho espacio debido al gran número de archivos generados.

• access:Es una lista de nombres de usuarios o grupos que no pueden acceder al volu-men. Una arroba ("@") debe preceder a los grupos;

• dbpath: Directorio donde la base de datos será grabada.

430

Page 431: Mestre Servidor Servidor Es

Apéndice A. Appletalk

• password:Es una contraseña para proteger el directorio.

Configurando permisos de acceso

Usuarios

Para acceder al servidor Netatalk, el cliente Macintosh debe proveer un nombrede usuario y una contraseña, que deben estar registrados en el servidor ConectivaLinux.

Se puede crear un usuario único que será utilizado por todas las estaciones Mac-intosh al mismo tiempo. Aunque eso facilite la administración, perjudica la se-guridad ya que cualquier usuario tendrá acceso total a los archivos de los demás.

Permisos en el directorio de los volúmenes

Los usuarios necesitan tener permiso de escritura en los directorios de los volú-menes que accedan víaAppletalk.

431

Page 432: Mestre Servidor Servidor Es

Apéndice A. Appletalk

Eso porque Netatalk necesita guardar allí la información referente al cliente Mac-intosh. Además, se crearán en estos directorios sus respectivas “Papeleras”.

Como la creación de un directorio con todos los permisos para todos los usuariosno es algo deseable en el servidor Conectiva Linux, se puede crear un grupoatalk ,colocar los usuarios de Macintosh en este grupo y sólo permitir escritura en losarchivos a los miembros de este grupo.

En la estación

Para acceder a los volúmenes, utiliceNetwork Browser. Expanda la secciónAp-pleTalk. Si está todo bien configurado, el nombre del servidor Conectiva Linuxya debe aparecer en la lista.

Expanda el servidor Conectiva Linux para visualizar los volúmenes exportados.En ese instante, MacOS® solicitará un nombre de usuario y una contraseña, quese deberá haber registrado en Conectiva Linux.

Haciendo doble clic sobre cualquier volumen, una nueva ventana se abrirá, mos-trando los archivos y directorios del volumen en forma de íconos o en forma delista.

Si se hace doble clic en un volumen y su contenido no aparece, eso indica faltade permisos (ver lala sección de nombreConfigurando permisos de acceso). Porotro lado, si se consigue acceder al volumen, pero se tiene permisos insuficientespara manipular determinado archivo, MacOS® informará sobre el problema.

432

Page 433: Mestre Servidor Servidor Es

Apéndice A. Appletalk

MacOS® tiene la característica indeseable de mantener encachelos permisosnegativos. O sea, seguirá informando falla de acceso aunque los permisos hayansido modificados en Conectiva Linux. Habrá necesidad de forzar MacOS® adesconectarse del servidor Linux de alguna forma - sea reiniciando Mac, reini-ciando el servicio Netatalk o rompiendo la conexión TCP/IP.

Iniciando Netatalk

Para iniciar Netatalk:

# cds

atalk dhcpd httpd kudzu mysql nfs postgresql

atd functions inet linuxconf-setup named nfslock random

autofs gpm keytable lpd netfs pcmcia sendmail

crond halt killall mars-nwe network portmap single

# ./atalk start

Starting AppleTalk Services: [ OK ]

Starting papd service: [ OK ]

Starting afpd service: [ OK ]

Se puede utilizar ntsysv para configurar estos servicios para que se inicien au-tomáticamente.

433

Page 434: Mestre Servidor Servidor Es

Apéndice A. Appletalk

434

Page 435: Mestre Servidor Servidor Es

Apéndice B. Licencias generales

Introducción

Prácticamente todo el software contenido en el CD-ROM de Conectiva Linux esde libre distribución. Pocos requieren algún tipo de autorización especial para suuso, obtenidos por Conectiva S.A. (http://es.conectiva.com) y algunos softwaredesarrollados por la propia Conectiva, son puestos a disposición bajo licenciacomercial de uso.

La mayoría de los software se distribuye bajo una de las tres licencias presen-tadas en este capítulo. Por favor, verifique en cada software cuáles son sus com-ponentes, así como los términos de su distribución.

Todos el software de los CD-ROMs producidos por Conectiva es copyright de ®Conectiva S.A. (http://es.conectiva.com). A menos que exista manifestación ex-presa, el software contenido en los CDs es de libre distribución bajo los términosde la Licencia Pública GNU (GPL).

Los términos Red Hat® y rpm® son marcas de propiedad deRed Hat Software,Inc. Los términos Conectiva y WebBatch son marcas de propiedad de ConectivaS.A. (http://es.conectiva.com).

435

Page 436: Mestre Servidor Servidor Es

Apéndice B. Licencias generales

BSD Copyright

Copyright ® 1991, 1992, 1993, 1994 The Regents of the University of California.Todos los derechos reservados.

Se permite, dentro de las siguientes condiciones, la redistribución y uso en lasformas de código fuente o binarios, con o sin modificación:

1. La redistribución del software debe contener toda la información sobre derechos deautor, esta lista de condiciones y el aviso de abajo.;

2. La redistribución de binarios o ejecutables debe contener toda la información sobrederechos de autor, listas de condiciones y el aviso de abajo.

3. Todos los comerciales y anuncios que mencionen funcionalidades de este softwaredeben presentar el siguiente texto:Este producto incluye software desarrolladopor la Universidad de California, Berkeley y sus contribuyentes;

4. El nombre de la Universidad, o de sus contribuyentes, no puede ser utilizado paraendosar o promover productos derivados de este software sin expresa autorizaciónpor escrito.

ESTE SOFTWARE SE DISTRIBUYE POR SUS MONITORES Y CON-TRIBUYENTES EN LA FORMA EN QUE SE ENCUENTRA, Y CUAL-QUIER GARANTÍA EXPRESA O IMPLÍCITA, INCLUYENDO, PERONO LIMITADAS A LAS GARANTÍAS COMERCIALES Y LA ATENCIÓNA DETERMINADOS PROPÓSITOS NO SON RECONOCIDAS. EN NIN-GUNA HIPÓTESIS LOS MONITORES O SUS CONTRIBUYENTES SERÁN

436

Page 437: Mestre Servidor Servidor Es

Apéndice B. Licencias generales

RESPONSABLES POR NINGÚN DAÑO DIRECTO, INDIRECTO, ACCI-DENTAL, ESPECIAL, INCLUYENDO, PERO NO LIMITANDO LA SUSTI-TUCIÓN DE MERCANCÍAS O SERVICIOS, IMPOSIBILIDAD DE USO,PÉRDIDA DE DATOS, LUCROS CESANTES O INTERRUPCIÓN DE AC-TIVIDADES COMERCIALES, CAUSADOS EN CUALQUIER BASE POREL USO DE ESTE SOFTWARE.

X Copyright

Copyright® 1987 X Consortium

Se concede y garantiza a cualquier persona, libre de costos, la obtención de copiade este software y de los archivos de documentación asociados (el Software), pu-diendo trabajar con el Software sin restricciones, incluyendo los derechos de uso,copia, modificación, unificación, publicación, distribución, sublicenciamiento oventa de copias del Software, y el permiso a las personas a las que se entregue elSoftware, dentro de las siguientes condiciones:

Las informaciones de copyright presentadas a continuación deben estar presentesen todas las copias o partes sustanciales del Software:

EL SOFTWARE SE PONDRÁ A DISPOSICIÓN EN LA FORMA EN QUESE ENCUENTRE, SIN GARANTÍAS DE NINGUNA ESPECIE, EXPRE-SAS O IMPLÍCITAS, INCLUIDAS, PERO NO LIMITADAS A LASGARAN-TÍAS COMERCIALES, Y A LA ATENCIÓN A DETERMINADOS FINES.

437

Page 438: Mestre Servidor Servidor Es

Apéndice B. Licencias generales

DE NINGUNA MANERA EL CONSORCIO X (XCONSORTIUM) SERÁRESPONSABLE POR NINGUNA RECLAMACIÓN, DAÑO U OTRAS PÉR-DIDAS, A MENOS QUE SE EXPRESE EN CONTRATO, ACUERDO UOTRAS FORMAS, EN LO QUE SE REFIERE A LA UTILIZACIÓN, CO-MERCIALIZACIÓN, CONEXIÓN U OTROS CONTACTOS CON ESTESOFTWARE.

Excepto por el contenido en ese aviso, el nombre del Consorcio X (X Consor-tium) no podrá utilizarse en ningún comercial u otra forma de promoción deventas, uso u otras negociaciones de este Software, sin la autorización expresadel X Consortium.

Copyright ® 1987 Digital Equipment Corporation, Maynard, Massachusetts. To-dos los derechos reservados.

Está garantizado, el permiso de uso, copia, modificación y distribución de estesoftware y su documentación con cualquier objetivo y sin costo, desde que elcopyright abajo aparezca en todas las copias y que tanto el copyright, como esteaviso y el nombre de Digital aparezcan, no pudiendo ser usados en anuncios opublicidad referente a la distribución del software sin autorización expresa porescrito.

DIGITAL NO OFRECE NINGÚN TIPO DE GARANTíA EN EL USO DEESTE SOFTWARE, INCLUYENDO TODAS LAS COMERCIALES Y DEATENCIÓN A DETERMINADOS PROPÓSITOS, Y BAJO NINGÚN PUNTODE VISTA, DIGITAL SERÁ RESPONSABLE POR ALGUNA RECLAMA-CIÓN, DAÑO U OTRAS PÉRDIDAS, A MENOS QUE SE EXPRESE ENCONTRATO, ACUERDO U OTRAS FORMAS, EN LA UTILIZACIÓN,COMERCIALIZACIÓN, CONEXIÓN U OTROS CONTACTOS CON ESTE

438

Page 439: Mestre Servidor Servidor Es

Apéndice B. Licencias generales

SOFTWARE.

439

Page 440: Mestre Servidor Servidor Es

Apéndice B. Licencias generales

440

Page 441: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso yGarantía del Producto

Antes de instalar Conectiva Linux en su computador, o cualquiera de los paque-tes o programas incluidos en este producto, por favor, lea este documento cuida-dosamente. Este documento contiene información importante sobre los derechoslegales de este producto. Le recomendamos considerar los puntos presentadosaquí, bien como conocer y entender los términos y condiciones por los que esteprograma está licenciado para usted. Cuando instala cualquier programa incluidoen este producto, usted acepta automáticamente los términos y condiciones si-guientes.

General

Los derechos de autor del Sistema Operativo Conectiva Linux se basan en la Li-cencia Pública General GNU (“GPL”). Consideramos que la GPL pone a disposi-ción los mejores mecanismos para todos los beneficios y libertades de los progra-mas de “libre distribución”. Usted puede encontrar una copia de la GPL en el ma-nual de instalación de Conectiva Linux, en http://es.conectiva.com (http://es.conectiva.com)y en diversos sitios en Internet. Conectiva Linux es un sistema operativo modu-lar, compuesto por centenas de programas, cada uno de ellos escrito por personas

441

Page 442: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

diferentes y con su propio derecho de autor. En este documento, se les hace refe-rencia, individual y colectivamente como “Programas”. Varios Programas tienensu derecho de autor basado en la GPL y otras licencias que permiten la copia,modificación y redistribución. Por favor, verifique la documentación on-line queviene con cada uno de los programas incluidos en Conectiva Linux, para verificarsu licencia específica. Le sugerimos que lea estas licencias cuidadosamente, paraentender sus derechos y utilizar mejor las ventajas que Conectiva Linux pone asu disposición.

Licencia limitada de productos

Además de los programas de libre distribución, Conectiva puede incluir en esteproducto distintos programas y aplicaciones que no están sujetos a la GPL u otraslicencias que permiten modificación y redistribución. Algunos de estos progra-mas se muestran a continuación:

• AcrobatReader®

• AcuCobol-4.3®

• Aker®

• Arkeia®

442

Page 443: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

• BR®

• Dataflex®

• Domino®

• FlagShip®

• JRE®

• Jade®

• MZS®

• Oracle8i®

• SpoolBiew®

• db2®

• oss®

• vmware®

• xni®

Generalmente cada uno de estos componentes tiene licencia únicamente en suforma binaria, de manera restringida, es decir que usted podrá instalarlos en un

443

Page 444: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

único computador para su uso individual. Está prohibida la copia, redistribución,ingeniería reversa y/o modificación de los mismos . Cualquier violación de lostérminos de las licencias, cancelará inmediatamente su licencia individual. Paraconocer los términos precisos de las licencias de estos componentes, por favorverifique la documentación on-line que viene con cada uno de ellos. Si usted noestá de acuerdo en aceptar los términos de la licencia de estos componentes, nolos instale en su computador. Si desea instalarlos en más de un computador, entreen contacto con el distribuidor de los programas o aplicaciones correspondientespara adquirir las respectivas licencias.

Antes de la instalación

ANTES DE INSTALAR CONECTIVA LINUX O CUALQUIERA DE LOS PRO-GRAMAS O APLICACIONES INCLUIDOS EN ÉL, LEA ATENTAMENTELOS TÉRMINOS Y CONDICIONES SIGUIENTES. LA INSTALACIÓN DECUALQUIERA DE ESTOS PROGRAMAS, INDICA SU ACEPTACIÓN DELOS TÉRMINOS Y CONDICIONES SIGUIENTES. SI USTED NO ESTÁ DEACUERDO CON ESTOS TÉRMINOS Y CONDICIONES NO INSTALE ES-TOS PROGRAMAS.

LOS PROGRAMAS, INCLUSO LOS CÓDIGOS FUENTE, DOCUMENTA-CIÓN, APARIENCIA, ESTRUCTURA Y ORGANIZACIÓN, SON PRODUC-TOS DE PROPIEDAD DE CONECTIVA S.A., INC, ORACLE, SUN ENTREOTROS, Y ESTÁN PROTEGIDOS POR EL DERECHO DE AUTOR, ADEMÁS

444

Page 445: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

DE OTRAS LEYES. ESTOS PROGRAMAS ASÍ COMO CUALQUIER COPIA,MODIFICACIÓN O PARTE ORIGINADA A PARTIR DE ELLOS, DEBENSIEMPRE PERMANECER CON LOS ANTERIORMENTE MENCIONADOS,SOMETIDOS A LOS TÉRMINOS Y CONDICIONES DE LA GPL U OTRASLICENCIAS RELACIONADAS CON LOS MISMOS.

Garantía Limitada

EXCEPTO SI SE DICE ESPECIFICAMENTE EN ESTE ACUERDO, LOS PRO-GRAMAS PUESTOS A DISPOSICIÓN Y LICENCIADOS, “TAL Y COMOESTÁN”, NO TIENEN GARANTÍA DE NINGÚN TIPO, NI EXPRESA NI IM-PLÍCITA, LO CUAL INCLUYE, PERO NO LIMITA, LAS GARANTÍAS DECOMERCIALIZACIÓN Y CONVENIENCIA PARA UN PROPÓSITO PAR-TICULAR.

Conectiva S.A. (http://es.conectiva.com) garantiza que el medio en el cual es-tán grabados los programas está libre de defectos de fabricación y manufactura,en condiciones normales de uso, durante un período de 30 días a partir de lafecha de la compra. Conectiva S.A. (http://es.conectiva.com), no garantiza quelas funciones que contienen los programas sean compatibles con los requisitosque usted espera de ellas o que el funcionamiento de los programas esté comple-tamente libre de errores ni que aparezcan exactamente como están descritos en ladocumentación que se anexa al producto.

445

Page 446: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

Limitación de Reparación yResponsabilidad

Por el máximo permitido por las leyes aplicables, las reparaciones descritas acontinuación, se aceptan como únicas y deben estar disponibles solamente sieste producto ha sido registrado en Conectiva S.A. (http://es.conectiva.com), deacuerdo con las instrucciones disponibles en el mismo, hasta diez días despuésde que usted lo haya recibido.

La responsabilidad de Conectiva S.A. (http://es.conectiva.com), y su reparaciónexclusiva, se limita a los casos en que el medio en el que se puso a disposiciónel programa está con defecto. En este caso usted podrá devolverlo, dentro deun plazo de 30 días a partir de la fecha de compra, adjuntando una copia de sufactura. Conectiva S.A. de acuerdo con su criterio, lo cambiará o procederá a ladevolución del dinero.

POR EL MÁXIMO PERMITIDO POR LAS LEYES APLICABLES, EN NIN-GÚN CASO CONECTIVA S.A. SERÁ RESPONSABLE POR CUALQUIERDAÑO. LO CUAL INCLUYE, LUCROS CESANTES, PÉRDIDAS ECONÓMI-CAS U OTROS DAÑOS ACCIDENTALES O CONSECUENTES DEL USOAPROPIADO O INAPROPIADO DE LOS PROGRAMAS Y/O APLICACIO-NES. INCLUYENDO LOS DEBIDOS A LA INEPTITUD PARA EL USO DELOS PROGRAMAS Y/O APLICACIONES, AUN EN EL CASO DE QUE CO-NECTIVA S.A. O ALGÚN DISTRIBUIDOR AUTORIZADO, NO HAYA EFEC-TUADO LAS ADVERTENCIAS CORRIENTES SOBRE ESTOS TIPOS DE

446

Page 447: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

PROBLEMAS.

General

Si alguna cláusula de este Acuerdo no se considera válida, las otras cláusulas nose deberán afectar por este motivo. El acuerdo se establece según la legislaciónbrasileña. En caso de conflicto de jurisdicción, para solucionar dudas, omisioneso cualquier otro asunto relacionado con el presente convenio, queda definidacomo competente la Cámara Arbitral del bloque comercial del cual estos paíseshacen parte u otra Cámara competente, según el arreglo comercial establecido en-tre estos mismos países, definiéndose en última instancia la OMC (OrganizaciónMundial de Comercio) para solucionar cualquier asunto legal.

Derechos de autor ®2000 Conectiva S.A. (http://es.conectiva.com). Todos losderechos reservados. Conectiva y Conectiva Linux son marcas registradas de Co-nectiva S.A. (http://es.conectiva.com). Linux es una marca registrada de LinusTorvalds en varios países.

447

Page 448: Mestre Servidor Servidor Es

Apéndice C. Licencia de Uso y Garantía del Producto

448

Page 449: Mestre Servidor Servidor Es

Apéndice D. Licencia PúblicaGeneral GNU

GNU GENERAL PUBLIC LICENSE

Versión 2, Junio 1991

Esta es una traducción no oficial de la Licencia Pública General GNU al español.No ha sido publicada por la Free Software Foundation y no expresa legalmentelos términos de distribución que usa la GNU GPL – sólo el texto original en Inglésde la misma lo manifiesta. No obstante, esperamos que esta traducción ayudará alos hispanohablantes a entender mejor la GNU GPL.

Copyright \copyright 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,Cambridge, MA 02139, USA.

Se le permite a cualquier persona copiar y distribuir copias inalteradas de estedocumento de licencia.

Introducción

Las licencias de muchos software se desarrollan para limitar la libertad de uso, in-tercambios y modificaciones. La Licencia Pública General de GNU, al contrario,

449

Page 450: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

pretende garantizar la libertad de compartir y alterar software de libre distribución- haciéndolos de libre distribución también para cualquier usuario. La LicenciaPública General se aplica a la mayoría de los software de la Free Software Foun-dation y a cualquier autor que esté de acuerdo en utilizar sus normas (algunossoftware de la FSF son cubiertos por la GNU Library General Public License).

Cuando nos referimos a software de libre distribución, nos referimos a la libertady no al precio. Nuestra Licencia Pública General se creó para garantizar la libertadde distribución de copias de software de libre distribución (y cobrar por esto, sies de interés del distribuidor), la cual recibió los códigos fuente que pueden seralterados o utilizados en parte, en los nuevos programas.

Para asegurar los derechos de los programadores se hacen algunas restriccionesy se prohíbe que las personas nieguen esos derechos o soliciten su derogación.Estas restricciones se aplican incluso a algunas responsabilidades sobre la dis-tribución o modificación del software. Por ejemplo, cuando se distribuyen copiasde determinado programa por una tasa determinada o gratuitamente, se debe in-formar sobre todos los derechos que inciden sobre ellas, asegurándose que loscódigos fuentes estén disponibles, inclusive la Licencia Pública General GNU.

La protección de los derechos involucra dos pasos: (1) copyright del software y(2) licencia que concede permiso legal para copia, distribución y modificación desoftware.

Además para la protección de la FSF y del autor, es importante que todos en-tiendan queno existen garantías para software de libre distribución. Si alguienmodifica y distribuye el software, no reflejará más el trabajo original del autor yen consecuencia, no podrá gozar de las garantías originales.

Finalmente, cualquier programa de libre distribución está constantemente ame-

450

Page 451: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

nazado porlas patentes de software. Buscamos evitar el peligro de que los dis-tribuidores de estos programas obtengan patentes individuales, convirtiéndose ensus dueños efectivos. Para evitarlo, se hicieron declaraciones expresas de quecualquier solicitación de patente, debe hacerse permitiendo la utilización a cual-quier individuo, sin necesidad de la licencia de uso.

Los términos y condiciones precisas para realizar copias, distribución y modifi-caciones se describen a continuación.

Términos y condiciones para copia,distribución y modificaciones

1. Esta licencia se aplica a cualquier programa u otro trabajo que contenga un avisocolocado por el detentor de los derechos de autor, diciendo que puede ser distribuidobajo las condiciones de la Licencia Pública General. El programa se refiere a cual-quier software, trabajo o a un trabajo basado en un programa. Significa tanto el propioprograma, como cualquier trabajo derivado, de acuerdo con la ley de derechos de au-tor. Es decir, un trabajo que contenga el programa o una parte de éste, en su formaoriginal, con modificaciones o traducido para otra lengua (la traducción está incluidasin limitaciones en el término modificación).

451

Page 452: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

Actividades diferentes de efectuar copias, distribución y modificaciones, noestán cubiertas por esta Licencia y quedan fuera de su alcance. El acto deejecutar el programa no está restringido y su salida está cubierta solamenteen caso de que el contenido tenga trabajos con base en el mismo (indepen-dientemente de que se hayan creado durante la ejecución del programa). Siesto es así, depende de las funciones ejecutadas por el programa.

2. El código fuente del Programa se puede copiar y distribuir de la forma como fuerecibido, en cualquier medio, siempre que se coloque un aviso adecuado sobre loscopyrights y la falta de garantías. Todos los avisos que se refieran a la LicenciaPública General y a la ausencia de garantías, deben estar inalterados y todos losproductos oriundos del programa deben estar acompañados de esta Licencia PúblicaGeneral.

Está permitido el cobro de tasas por el acto físico de transferencia o grabaciónde copias. Se pueden dar garantías y soporte a cambio del cobro de valores.

3. Se puede modificar la copia o copias del programa de la forma que se desee o inclusocrear un trabajo con base en el programa, copiarlo y distribuir tales modificacionesbajo lostérminos de la sección 1 anterior y de lo siguiente:

[a.] Debe haber un aviso destacando que los datos originales fueron alteradosen los archivos y las fechas correspondientes a los cambios.

[b.] Debe haber un aviso de que el trabajo distribuido o publicado es,en forma total o parcial, derivado del programa o de alguna parte suya

452

Page 453: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

y que puede ser licenciado totalmente sin costos para terceros según lostérminos de esta Licencia.

[c.] Si el programa modificado se ejecuta en forma interactiva, es obli-gatorio, al iniciar su ejecución que presente la información de copyrighty de ausencia de garantías (o de que la garantía es de responsabilidad deterceros) y que los usuarios pueden redistribuir el programa bajo estascondiciones, indicándole cómo acceder a esta Licencia completa.

4. Estos requisitos se aplican a trabajos de modificación en general. Si algunas sec-ciones identificables no son derivadas del programa y pueden considerarse comopartes independientes,entonces esta Licencia y sus Términos no se aplican a estassecciones cuando sean distribuidas separadamente. Pero si se distribuyen estas sec-ciones como parte de un trabajo basado en el programa, la distribución, como untodo, debe contener los términos de esta Licencia, cuyos permisos se extienden altrabajo en su totalidad y no a cada una de las partes independientemente de quien lashaya desarrollado.

Más que tener la intención de refutar los derechos sobre la labor desarrolladapor alguien, esta sección tiene por objetivo propiciar la correcta distribuciónde trabajos derivados del programa.

Además, la mera inclusión en un volumen de almacenaje (medio de distribu-ción) de trabajos que tengan como base el programa u otros trabajos basadosen él, no obliga la aplicación de esta Licencia y de sus términos a dicho tra-bajo.

453

Page 454: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

Están permitidas, la copia y la distribución del Programa (o un trabajo basadoen éste) en la forma de código objeto o ejecutable, de acuerdo con los térmi-nos de las Secciones 1 y 2 anteriores, desde que se cumpla lo siguiente:

[a.] Que se suministren los códigos fuente legibles, que se deben distribuir en laforma de las Secciones 1 y 2 ya mencionadas arriba, de la forma normalmenteutilizada para el manejo del software.

[b.] Que venga con una oferta escrita, válida por três años como mínimo,de poner a disposición de terceros, una copia completa de los códigosfuente en medio magnético, de acuerdo con las Secciones 1 y 2 arriba.Esto por un costo no superior al costo del medio físico de almacenaje.

[c.] Que esté anexada la misma información recibida en relación conla oferta de la distribución del código fuente correspondiente. Esta al-ternativa solamente está permitida para distribuciones no comerciales ysolamente si el programa recibido en la forma de objeto o ejecutabletiene tal oferta, de acuerdo con la sección 2 anterior.

El código fuente de un trabajo es la mejor forma de que se produzcan al-teraciones en ese trabajo. Cuando se habla de códigos fuente completos sehabla de todos los fuentes, de todos los módulos, además de las definicionesde interfaces asociadas, archivos, scripts...utilizados en la compilación e ins-talación del ejecutable. Como una excepción, el código fuente distribuidopodrá no incluir algunos componentes que no se encuentren en su campo deacción, como compilador, núcleo, etc... para el sistema operativo donde el

454

Page 455: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

trabajo se ejecute.

Si la distribución del ejecutable u objeto se realiza a través de acceso a undeterminado punto, se debe hacer, a los códigos fuente oferta equivalente deacceso, aunque terceros no estén obligados a copiar los fuentes juntos con losobjetos simultáneamente.

5. No se permite la copia, modificación, sublicenciamiento o distribución del programa,excepto bajo las condiciones expresas en esta Licencia. Cualquier intento de copia,modificación, sublicenciamiento o distribución del programa está prohibido, y losderechos descritos en esta Licencia cesarán inmediatamente. Los terceros, que hayanrecibido copias o derechos bajo la forma de esta Licencia, no tendrán sus derechosretirados siempre y cuando permanezcan dentro de las cláusulas de la misma.

6. No es necesaria la aceptación formal de esta Licencia, a pesar de que no habrá docu-mento o contrato que garantice permiso de modificación o distribución del programao sus trabajos derivados. Esas acciones están prohibidas por ley, en el caso de queno se acepten las condiciones de esta Licencia. La modificación o distribución delprograma, o cualquier trabajo basado en éste, implica la aceptación de esta Licenciay de todos los términos de ésta, para copia, distribución o modificación del programao trabajos basados en éste.

7. Cada vez que el programa se distribuya (o cualquier trabajo basado en éste), el re-ceptor automáticamente recibe una licencia del detentor original de los derechos decopia, distribución o modificación del programa objeto de estos términos y condi-ciones. No pueden imponerse otras restricciones a los receptores.

8. En caso que decisiones judiciales o alegaciones de uso indebido de patentes o dere-

455

Page 456: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

chos de autor, impongan restricciones que contradigan esta Licencia, éstas no in-hiben su aplicación. Si no es posible distribuir el programa de tal forma que garan-tice simultáneamente las obligaciones de esta Licencia y otras que sean necesarias,entonces el programa no podrá distribuirse.

Si esta Sección se considera no válida por cualquier motivo particular o gene-ral, su resultado implicará en la no validación general de esta Licencia para lacopia, modificación,sublicenciamiento o distribución del programa o trabajosbasados en éste.

El propósito de esta sección no es, de ninguna manera, incitar a nadie a in-fringir derechos reclamados en cuestiones válidas y procedentes, y sí protegerlas premisas del sistema de libre distribución de software. Muchas personashan hecho contribuciones generosas al sistema, en la forma de programas, yes necesario garantizar la consistencia y credibilidad del sistema, cabiendo aéstos, y no a terceros, decidir la forma de distribución de los software.

Esta sección pretende aclarar los motivos que generaron las demás cláusulasde esta Licencia.

9. Si la distribución del programa, dentro de los términos de esta Licencia, tiene res-tricciones en algún País, por patentes o derechos de autor, el detentor original de losderechos de autor del programa cobijado por esta Licencia puede adicionar explíci-tamente limitaciones geográficas de distribución, excluyendo esos países, haciendoque la distribución solamente puedarealizarse en los países no incluidos en esta limi-tación.

10.La Fundación de Software de Libre Distribución (FSF - Free Software Foundation)puede publicar versiones revisadas o nuevas versiones de esta Licencia Pública Ge-

456

Page 457: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

neral periódicamente. Estas nuevas versiones mantendrán los mismos objetivos y elespíritu de la presente versión, pudiendo variar en detalles referidos a las nuevassituaciones en que se encuentren.

A cada versión se le asigna un número distinto. Si el Programa menciona, unnúmero de la versión específica de esta Licencia que tenga en su contenidola expresión “ versión más actualizada”, es posible optar por las condicionesde aquella versión o de cualquier versión más reciente publicada por la FSF.

11.Si se desea incorporar parte del programa a otros programas de libre distribuciónde software es necesario tener la autorización formal del autor. Para software de loscuales la FSF tenga los derechos de autor, pueden abrirse excepciones siempre quese mantenga el espíritu y objetivos originales de esta Licencia.

12.COMO EL PROGRAMA ESTÁ LICENCIADO SIN COSTO, NO EXISTE NIN-GUNA GARANTÍA PARA ÉL. EXCEPTO CUANDO TERCEROS SE EXPRE-SEN FORMALMENTE, EL PROGRAMA SE PONE A DISPOSICIÓN EN SUFORMATO ORIGINAL, SIN GARANTÍAS DE NINGUNA NATURALEZA, EX-PRESAS O IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADAS, LAS GA-RANTÍAS COMERCIALES Y DE ATENCIÓN PARA UN FIN DETERMINADO.LA CALIDAD Y EL RENDIMIENTO SON DE RIESGO EXCLUSIVO DE LOSUSUARIOS. CORREN POR SU CUENTA LOS COSTOS DE EVENTUALES AL-TERACIONES, CORRECCIONES Y REPARACIONES QUE SE JUZGUEN NE-CESARIOS.

13.EL AUTOR O TERCEROS QUE HUBIERAN MODIFICADO EL PROGRAMA,NO ASUMEN NINGUNA RESPONSABILIDAD POR LOS DAÑOS O PERJUI-CIOS QUE PROVENGAN DEL MAL USO O DE LA FALTA DE HABILIDAD EN

457

Page 458: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

EL EMPLEO DEL MISMO (INCLUYENDO PERO NO LIMITADA A LA PÉR-DIDA DE DATOS O DATOS ERRÓNEOS), AÚN CUANDONO SE HAYA EMI-TIDO UN AVISO SOBRE LOS POSIBLES ERRORES O DAÑOS. EXCEPTO ENLOS CASOS QUE LO REQUIERA UNA DECISIÓN JUDICIAL O POR LIBREVOLUNTAD DE LOS MISMOS.

FIN DE LA LICENCIA

¿Cómo aplicar estos términos a nuevosprogramas?

Si usted desarrolló un nuevo programa y desea su amplia difusión al público, lamejor forma de conseguirlo es convertirlo en un software de libre distribuciónque cualquiera pueda distribuir bajo las condiciones de esta Licencia.

Para eso basta anexar este aviso al programa. Se recomienda indicar ya en elcomienzo de cada archivo fuente, la ausencia de garantías y la anotación de unarchivo que contenga el texto general de esta Licencia, por ejemplo:

(una línea para colocar el nombre del programa y una

breve descripción de lo que hace)

458

Page 459: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

Copyright ® 19yy nombre del autor

Este programa es un software de libre distribución que puede copiarse

y distribuirse bajo los términos de la Licencia Pública General GNU,

como la publica Free Software Foundation, versión 2 de la licencia o

(a criterio del autor) cualquier versión posterior.

Este programa se distribuye con el deseo de que sea útil a sus

usuarios, sin embargo NO TIENE NINGUNA GARANTÍA, EXPLÍCITA O

IMPLÍCITA, COMERCIAL O DE ATENCIÓN A UN FIN DETERMINADO.

Para obtener mÁs detalles consulte la Licencia Pública General

GNU.

Junto con este software debe haber una copia de la Licencia Pública

General GNU, en inglés o español, de no ser así, escriba a Free

Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Incluya también el medio de entrar en contacto con usted, por correo electrónico,dirección comercial o residencial.

Si el programa es interactivo, presente en su inicio un breve aviso, como porejemplo:

Gnomovision versión 69, Copyright nombre del autor Gnomovision

459

Page 460: Mestre Servidor Servidor Es

Apéndice D. Licencia Pública General GNU

NO TIENE NINGUNA GARANTÍA; para obtener más detalles teclee

“muestre garantía”. Éste es un software de libre distribución

y usted está autorizado a distribuirlo siempre que cumpla

ciertas condiciones.

Para obtener más detalles, teclee “muestre condición”

Los comandos hipotéticos “muestre garantía” y “muestre condición” presentaránlas partes apropiadas de la Licencia Pública General GNU. Evidentemente loscomandos pueden variar o ser accionados por otras interfaces como clic de ratón,etc.

Esta Licencia Pública General no permite la incorporación de su programa enprogramas que no sean de libre distribución. Si su programa es una subrutina debiblioteca, tal vez a usted le parezca más interesante permitir la “implementación”de aplicaciones que no sean de libre distribución con su biblioteca. Si es eso loque desea hacer, en vez de usar esta Licencia use la Licencia Pública GeneralGNU para Bibliotecas.

460

Page 461: Mestre Servidor Servidor Es

Índice

Símbolos

/var/log/htmlaccess.log,43

/var/spool/mail,53

AIDE, 345

grupos predefinidos,349

almacenamiento en cache,196

aplicaciones

AIDE, 345

appletalk

afpd,427

atalkd,427

papd,427

servicios,427

archivo /etc/aide.conf

líneas de configuración,347

líneas de selección,347

archivo /etc/host.allow,310

archivo /etc/host.deny,310

archivo /etc/inetd.conf,402

archivo /var/named,218

archivo /var/named/named.ca,221

archivo /var/named/named.local,220

archivo /var/spool/lpd,425

archivo resolv.conf,225

archivo sendmail.cf,294

Bind

archivos de configuración,216, 218,220, 221

dominio,219

comodines,310

correo electrónico

MTA, 269

461

Page 462: Mestre Servidor Servidor Es

DNS

almacenamiento en cache,196

archivo /var/named,218

archivo /var/named/name.ca,221

archivo /var/named/name.local,220

Bind, 216

configuración,206

configurando,223

dominio,219

dominios,191

DPN,191

estructura de la base de datos,187

forward zones,208

instalación,197

máquina de resolución de nombres,196, 196

resolución de nombres,196

servidor de nombres,197, 209, 214,215, 224, 224

dominios de Internet,191

filtro de paquetes

acciones posibles,316

finger,307

firewall

configurando,319

opciones,317, 317, 318, 318, 318

FTP

tcp_wrappers,308

IMAP, 269

buzón,285

buzón de correo,285, 286, 288, 289

directorio /var/spool/mail,284

opciones de configuración,282

ipchains

instalando,319

LDAP

ACL, 158

462

Page 463: Mestre Servidor Servidor Es

comando ldapsearch,162

configurando,158, 158, 158

linuxconf

información sobre los archivos,55

Sendmail,293

mapas de IPs inversos,204

Mars-NWE

banner de impresión,424

cola de impresión,425, 425

packet burst,416

usuario,421, 422

versión de Netware,416

MTA, 269

Postfix,293

Qmail,293

Sendmail,293

máquina de resolución de nombres,196

funciones,196

named,214

NFS

configuración,388, 389, 390

configurando,391

iniciación del servicio nfs,390

ntsysv

configurando named,215

POP

configurando,292

portmap,390

protocolo

IMAP, 269

SMTP,269

proxy

reglas de acceso,265, 265

Qmail,293

resolución de nombres,196

Samba

463

Page 464: Mestre Servidor Servidor Es

archivo /etc/inetd.conf,402

configurando,402

seguridad

AIDE, 345

archivo /etc/host.allow,310

archivo /etc/host.deny,310

comodines,310

control de acceso,310

tcpd,307

verificando,345

Sendmail

archivo m4,295

archivo sendmail.cf,294

configurando,293

SMTP,269

configurando,293

Squid

almacenaje,264, 264

SSL,260

TCP Wrappers,307

telnet,307

A

acceso móvil,178

habilitando,179

incluyendo perfiles,178

acceso remoto,386

ACL, 151

agrupación de discos duros,99

AIDE

configurando,347

utilizando,353

aide-m5,354

alias de IP,238

464

Page 465: Mestre Servidor Servidor Es

almacenamiento de rutas,415

alta disponibilidad,357

administración de nodos,367

administración de servicios,369

aplicación,366

cálculo,360

defecto,363

DRBD, 368, 369

duplicación,359

duplicación de discos,367

error,362

escalonador Mon,369

failback,365

failover,364

falla, 362

heartbeat,376, 378, 379, 379, 380,381

misión,365

MTTF, 361

MTTR, 361

objetivos,359

RAID, 112, 139

redundancia,359

ReiserFS,368

sistema de archivos,368

Apache,230

configuración,231

configurando,237, 237, 238, 241

iniciando,234

instalación,231

máquina virtual,241

registros de error,242

registros de transferencia,242

scripts CGI,242

aplicaciones

Apache,230

465

Page 466: Mestre Servidor Servidor Es

authconfig,170

dnsserver,261

LDAP, 143

linuxconf,35

Samba,392

Squid,261

appletalk

Netatalk,427

archivo .mensaje,256

archivo /etc/aide.conf,347

líneas de macro,347

archivo /etc/atalk,429

archivo /etc/exports,389

archivo /etc/ftpaccess,253

archivo /etc/ha.d/ha.cf,383

archivo /etc/ha.d/haresources,382

archivo /etc/inetd.conf,244, 310

archivo /etc/nwserv.conf,407, 411

archivo /etc/passwd,407

archivo /etc/raidtab,125, 130, 136

archivo /etc/services,292, 304

archivo /etc/shadow,407

archivo /etc/sysconfig/network,330

archivo /proc/mdstat,134

archivo /var/log/messages,327

archivo inetd.conf,292, 303

archivo ldap.conf,160

archivo named.conf,217

archivo pam.d,171

archivo passwd,170, 173

archivo resolv.conf,223

archivo sladp.conf,157

archivo slapd.at.conf,179

archivo slapd.conf

personalizando,181

archivo slapd.oc.conf,179

466

Page 467: Mestre Servidor Servidor Es

archivo squid.conf,262

archivos

seguridad del login,418

archivos de configuración,57

autenticación,170, 407

configurando,173, 174

B

Bind

archivos de configuración,217

bindery,405

C

cache,264

caching,259

clases de objetos,149

cola de impresión,425

Compartiendo discos,399

compartiendo un directorio,399

contraseñas

tratamiento,417

contraseñas codificadas,395

contraseñas decodificadas,395

control de acceso,265, 310

control de acceso al servidor FTP,248

control de servicios,64, 64, 65

correo electrónico,267

intercambio de mensajes,268

MUA, 268

protocolo IMAP,276

protocolo POP,273

protocolo SMTP,270

sniffer,274, 274

467

Page 468: Mestre Servidor Servidor Es

D

disco de reposición,111

disponibilidad de los servidores

alta,359

disponibilidad de servidores

básica,358

continua,359

DNS,187

archivo named.conf,217

configuración,202, 202, 202, 204,210

configurando,198, 200, 211

dirección IP,213

dominio,194, 201

dominios,190, 193

funcionalidades,212

funcionamiento,188

nombres de dominio,188, 189, 189,

189, 191

servidor de nombres,194, 195, 195

zona,194

DPT-RAID, 101

DRDB, 368

configuración,371

configurando,370, 371

iniciando,373

DSP,101

duplicación,111, 359

E

ECC,112

enmascaramiento de IP,340, 341

468

Page 469: Mestre Servidor Servidor Es

F

filtro de paquetes,316

configurando,319

firewall

archivo /var/log/messages,327

comando ipchains,319

configurando,323, 324, 326, 328,341, 343

filtro de paquetes,316, 319

Forward, 328, 330, 332, 333, 334,336

función printk(),327

opciones,318

por entrada,320

por reenvío,340

reglas de,317

reglas de entrada,321, 322, 322

forward zones,208

FQDN,150

FTP

archivo .mensaje,256

archivo /etc/ftpaccess,253

caching,259

configurando,255

servicios,243

G

GNOME

herramienta para LDAP,175

GPL,449

H

Heartbeat

469

Page 470: Mestre Servidor Servidor Es

archivo /etc/ha.d/ha.cf,383

archivo /etc/ha.d/haresources,382

configurando,377, 382

instalación,376

hipertexto,227

HTTP

requerimiento,229

requisición,228

I

IMAP, 276

comando LIST,280

configurando,292

estados,277

internet super-server,303

ipchains,319

IPX, 404

L

LDAP

acceso móvil,178, 178, 179, 183

archivo de atributos,179

archivo de registros,174

archivo ldap.conf,160

archivo LDIF,181

archivo objectclass,179

archivo syslog.conf,174

autenticación,170, 171

base de datos,175

clases de objetos,149

atributo cn,149

atributo description,149

470

Page 471: Mestre Servidor Servidor Es

atributo sn,149

opción objectClass,149

opción person,149

opción schemacheck,149

cliente LDAP GQ,175

comando ldapadduser,174

comando ldapdeluser,174

comandos,162

configurando,157, 158, 158, 166

control de acceso ACL,151

directorio X.500,154

directorios,144

DNS,146

entradas,147

estructura,148

FQDN,150

funcionamiento,152

Herramientas gráficas,175

información

accediendo,150

organizando,148

protegiendo,151

registrando,150

iniciando el servidor,160

instalando,156

modelo cliente-servidor,152

nombre de dominio,148

NSS,170, 173

PAM, 170, 171

paquetes,156

protocolo DAP,154

RDN, 150

reiniciando el servidor,183

RFC,147

script migrate_all_offline,159

servicios globales,146

471

Page 472: Mestre Servidor Servidor Es

slapd,181

slurpd,156

usuarios,174, 174

utilizando,162

utilizando URLs,169

licencia

GPL,449

linux conf

DNS,198

linuxconf,35

/usr/sbin/useradd-sql,63

/var/log/htmlaccess.log,43

activando configuraciones,48

activando las configuraciones,50

alias de IP,238

Apache,234

archivos de configuración,57, 58

atribución de bandas de,213

ayuda,48

cambiando configuraciones,62

características,36

comandos y "daemons",60, 61

configuraciones,35

configurando,44, 45, 51, 64, 65, 223,237, 255, 402

control de servicios,64

filtrado de archivos,54

informe de alteraciones,49

iniciando,39, 41, 42, 42, 43

interfaz,36, 37, 38, 38, 38

interfaz gráfica de,39

módulos,51

NFS,387

permiso de archivos,53

personalizando funciones,62

Qué es,35

472

Page 473: Mestre Servidor Servidor Es

Samba,394

secciones de,41

seguridad,303

servicio,214

setuid,56

teclas de referencia rápida,37

utilizando,39

M

Macintosh,427

mapas de IPs inversos

añadiendo,205

Mars-NWE,404, 407

configurando,409, 411, 411, 413,414, 414, 415

contraseñas,417, 417

ncpmount,406

Netware,410

paquetes de broadcast,405

permisos,407

script de login estándar,424

scripts de logon,406

seguridad durante el login,418, 419

supervisor,407

usuario,419, 420

utilidades DOS,409

volúmenes del servidor,412, 412

mkraid,138

modelo cliente-servidor,152

MTTF, 361

MTTR, 361

MUA, 268

módulos MD,104

473

Page 474: Mestre Servidor Servidor Es

N

NAT, 341

Netatalk,427

archivo /etc/atalk,429

configurando,428, 431, 431, 432,433

exportando directorios,429

iniciando,433

instalando,428

Netscape

acceso móvil,178, 178, 183

archivo slapd.at.conf,179

configurando LDAP,166

dirección de mensajes,168, 168

NFS,385

accediendo volúmenes nfs,392

configuración,389

configurando,387

instalación,386

linuxconf,388

nombre de dominio,148

nombres de dominio,187

absoluto,189

configurando,237

estructura,189

relativo,189

NSS,170

ntsysv,301

instalando,301

P

PAM, 170

paridad

información,114

474

Page 475: Mestre Servidor Servidor Es

permiso de archivos,53

protocolo

appletalk,427

Ethertalk,427

FTP,243

HTTP,228

IPX, 404

NCP,404

NetBIOS,393

POP,273

SMB, 392

TCP/IP,401

protocolos

LDAP, 144

proxy

caching,259

reglas de acceso,265

Squid,259

R

RAID, 99

agrupación,126, 132

alta disponibilidad,112, 139

comando mkraid,138

configurando,124, 125, 125, 127,128, 129, 131, 133, 136

controlador MD,105, 105

controladoras,102, 102, 102

creando particiones,124

ECC,112

embudo de escritura,116

implementación,100

montando para el uso,135

niveles,106, 122

rendimiento,119, 120

475

Page 476: Mestre Servidor Servidor Es

requisitos de espacio,123

segmentación,108

SSI,141

stripping,110

tipos de hardware,103, 103

utilidad GDTMON,102

vía hardware,100, 100, 101, 101

vía software,104, 106, 107, 108, 111,111, 112, 114, 116, 118, 118

RDN, 150

recursos compartidos,392

red

iniciando linuxconf,43

red Windows

propiedades,401

redes heterogéneas,385

redundancia,359

redundancia y falla de discos,107

registro automático de usuarios,422

ReiserFS,368

instalación,374

repetidores,210

RFC,147

réplica de discos,131

S

Samba,392

configuración,394

configurando,393, 395, 398, 399,399, 401, 401, 401

contraseñas,395, 396

emulador de Netware,404

iniciando,401

instalación,393

Mars-NWE,404

476

Page 477: Mestre Servidor Servidor Es

protocolo IPX,404

protocolo SMB,392

red Windows,401

servicio inetd,403

SWAT, 402

volumen,400

scripts CGI,242

segmentación de datos

stripes,108

seguridad,297

AIDE, 347

aide-m5,354

amenazas a la,298

base de datos,351

checksum,345

configurando,303

deshabilitando servicios innecesar-ios,300, 304

firewall, 299, 316, 317

inetd,303

lista de clientes,311

ntsysv,301

paquete tcp_wrappers,307, 313, 314

servicios standalone,300

verificando,345

visión general,299

Sendmail,293

servicios

iniciando,302

servidor,156

de nombres,194

DNS,187

FTP,227

LDAP, 156

Macintosh,427

Netware,404

477

Page 478: Mestre Servidor Servidor Es

NFS,385

protección,151

proxy,227, 259

Samba,393

web,227

Windows,393

servidor web

Apache,230

setuid,56

slapd,181

slurpd,156, 156

SMTP

proceso de intercambio de mensajes,270

sniffer,274, 274

Squid,259

archivo squid.conf,262

archivos de cache,264

control de acceso,265

instalando,261

objetos en la memoria,263

ventajas,260

SSI,141

stripping,110

SWAT, 402

U

usuario

anónimo,249

invitado,249

real,249

utilidades DOS,409

478

Page 479: Mestre Servidor Servidor Es

V

volúmenes nfs,392

volúmenes Samba,400

W

WU-FTPD,243

accesos anónimos,250

archivo,255

archivo /etc/inetd.conf,244

archivos,252

configuración,254

configurando,245, 246, 247, 247

directorio /incoming,253

instalando,243

usuario,248, 249, 249

Page 480: Mestre Servidor Servidor Es
Page 481: Mestre Servidor Servidor Es