381
SuSELinux EnterpriseServer8 para iSeries y pSeries de IBM Administración

Sles Admin Ipseries

Embed Size (px)

Citation preview

Page 1: Sles Admin Ipseries

SuSELinuxEnterpriseServer8

para iSeries y pSeries de IBM

Administración

Page 2: Sles Admin Ipseries

Edición 2004

Copyright ©

Esta obra es propiedad intelectual de SuSE Linux AG.

Se permite su reproducción total o parcial siempre que cada una de las copias con-tenga esta nota de copyright.

Toda la información contenida en este libro ha sido compilada minuciosamente. Sinembargo, no es posible excluir cualquier tipo de error. Los autores, traductores ySuSE Linux AG no se hacen responsables de posibles errores ni aceptarán responsa-bilidad jurídica alguna derivada de estos errores o sus consecuencias.

Los productos de software o hardware mencionados en este libro son en muchoscasos marcas registradas. SuSE Linux AG se atiene esencialmente a la grafía de losfabricantes.

La reproducción de nombres comerciales, marcas registradas, etc. en este documentono justifica, aún sin una indicación explícita, la suposición de que tales nombres sepuedan considerar como libres según la legislación de nombres comerciales y protec-ción de marcas.

Las siguientes son marcas registradas por International Business Machines Corpora-tion en los Estados Unidos y/o en otros países: IBM, AS/400, AIX, OS/400, iSeries,pSeries, Redbook, DB2 y PowerPC.

Dirija sus comentarios y sugerencias a [email protected]

Autores: Frank Bodammer, Stefan Dirsch, Roman Drahtmüller, Karl Eichwal-der, Werner Fink, Dennis Geider, Carsten Groß, Olaf Hering, AndreasJaeger, Jana Jaeger, Klaus Kämpf, Olaf Kirch, Hubert Mantel, MichaelMatz, Johannes Meixner, Lars Müller, Anas Nashif, Susanne Oberhau-ser, Edith Parzefall, Peter Poeml, Marc Rührschneck, Marcus Schaefer,Klaus Singvogel, Andreas Schwab, Martin Sommer, Klaus G. Wagner,Christian Zoz

Traducción: Tania Guerrero, Matthias Kaehlcke, Arndt MehlhornRedacción: Antje Faber, Dennis Geider, Roland Haidl, Jana Jaeger,

Edith Parzefall, Peter Reinhart, Marc Rührschneck, Thomas Schraitle,Martin Sommer, Rebecca Walter

Diseño: Manuela Piotrowski, Thomas SchraitleComposición: LATEX

Este libro fue impreso sobre papel blanqueado 100 % libre de cloro.

Page 3: Sles Admin Ipseries

Introducción

Acerca del manual

Este manual le proporciona ayuda acerca de cómo administrar SuSE LinuxEnterprise Server for iSeries y pSeries . En él, encontrará la información necesariapara configurar el sistema en detalle y le descubrirá algunos principios básicosrelacionados con las redes.

YaST2, la herramienta central de administración de SuSE Linux Enterprise Server,le facilita una colección completa de módulos a fin ofrecerle un solo punto decontrol para el sistema. Este manual contempla los módulos de YaST2 necesariospara configurar y gestionar el equipo.

Otra de las partes de esta guía está enfocada en la configuración de hardwareadicional tal como impresoras. Por último, la documentación se detiene enprofundizar sobre la configuración de la red y varios de los servicios másimportantes relacionados con ésta. Esta sección incluye también información útilen relación con la seguridad de la red y la integración de SuSE Linux EnterpriseServer en redes heterogéneas.

Conocimientos previos requeridos

Se han realizado varias asunciones respecto a los conocimientos previos de losusuarios de esta guía al redactar la documentación. Por ello, se entiende queusted:

Está familiarizado con la terminología propia del sistema operativo OS/400y el firmware de los sistemas pSeries.

Page 4: Sles Admin Ipseries

Posee unas nociones básicas acerca de cómo manejar un sistema Linux.

Dispone de un buen conocimiento acerca de los dispositivos para lossistemas iSeries y pSeries que se encuentran conectados al equipo.

Convenciones tipográficas

En este manual se utilizan las siguientes convenciones tipográficas:

Convención Significado

YaST indica el nombre de un programa

/etc/passwd indica un fichero o un directorio

〈fichero〉 una sucesión de signos fichero que debeser sustituida por el valor correspondiente(incluidos los paréntesis)

PATH una variable de entorno con el nombre PATH

192.168.1.2 el valor de una variable

ls indica el comando que se debe introducir

usuario indica un usuario

tierra:~ # ls indica que se debe introducir el comando ls enla shell del usuario root , en el directorio de lacomputadora ”tierra”

tux@tierra:~ > ls indica que se debe introducir el comando ls enla shell del usuario tux (nombre oficial del pin-güino de Linux), en el directorio raíz de la com-putadora ”tierra”

C:\> fdisk DOS-Prompt con la entrada del comandofdisk�� ��Alt tecla para pulsar; si están separadas por espa-cios en blanco se deben pulsar una detrás deotra�� ��Control +

�� ��Alt +�� ��Supr separadas por el signo ‘+’ se deben pulsar

simultáneamente

"Permission denied" mensajes del sistema

Cuadro 1: Continúa en la página siguiente. . .

iv

Page 5: Sles Admin Ipseries

‘Actualizar sistema’ la opción de menú ‘Actualizar sistema’

”DMA-Modus” convenciones de nombres, definiciones y de losdenominados . . .

Nuremberg, 26 de enero de 2004

Su equipo SuSE

vSuSE Linux – Enterprise Server 8

Page 6: Sles Admin Ipseries
Page 7: Sles Admin Ipseries

Índice general

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

I Configuración 1

1. YaST2 en modo texto (ncurses) 3

Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Trabajar con los módulos . . . . . . . . . . . . . . . . . . . . . . . 5

Arranque de módulos individuales . . . . . . . . . . . . . . . . . . 5

YaST Online Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. YaST2 en modo gráfico 9

Inicio de YaST2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Cambiar la fuente de instalación . . . . . . . . . . . . . . . . . . . 11

YOU – YaST Actualización Online . . . . . . . . . . . . . . . . . . 11

Instalar/Eliminar Software . . . . . . . . . . . . . . . . . . . . . . 13

Actualización del sistema . . . . . . . . . . . . . . . . . . . . . . . 15

Actualización con CD de parches . . . . . . . . . . . . . . . . . . . 15

Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Monitor y dispositivos de entrada (SaX2) . . . . . . . . . . . . . . 16

Información de hardware . . . . . . . . . . . . . . . . . . . . . . . 16

Red/Básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Page 8: Sles Admin Ipseries

Configuración de la tarjeta de red . . . . . . . . . . . . . . . . . . . 17

E-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Red/Avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Configurar un servidor NFS . . . . . . . . . . . . . . . . . . . . . . 19

Configurar NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Configurar el nombre de host y DNS . . . . . . . . . . . . . . . . . 19

Configurar el enrutador . . . . . . . . . . . . . . . . . . . . . . . . 19

Seguridad y usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Administración de usuarios . . . . . . . . . . . . . . . . . . . . . . 20

Administración de grupos . . . . . . . . . . . . . . . . . . . . . . . 20

Configuración de Seguridad . . . . . . . . . . . . . . . . . . . . . . 21

Cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Crear copias de seguridad (ingl. backups) . . . . . . . . . . . . . . . 25

Recuperación (ingl. restore) . . . . . . . . . . . . . . . . . . . . . . 26

Editor para sysconfig . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Editor Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Particionar para Expertos . . . . . . . . . . . . . . . . . . . . . . . 27

Gestor de volúmenes lógicos (LVM) . . . . . . . . . . . . . . . . . 28

Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Seleccionar la zona horaria . . . . . . . . . . . . . . . . . . . . . . 31

Seleccionar el idioma . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Varios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Registro de arranque . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Registro de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Cargar CD de controladores del fabricante . . . . . . . . . . . . . . 31

viii Índice general

Page 9: Sles Admin Ipseries

3. El sistema X Window 33

Antecedentes históricos . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

La versión 4.x de XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Configuración con SaX2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

SaX2– La ventana principal . . . . . . . . . . . . . . . . . . . . . . 36

Dispositivos gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Tarjeta gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Color y resolución . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Aceleración 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Tamaño de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Multihead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Dispositivos de entrada . . . . . . . . . . . . . . . . . . . . . . . . 40

AccessX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Optimar la instalación del sistema X Window . . . . . . . . . . . . . . . 42

Incorporar fuentes (TrueType) adicionales . . . . . . . . . . . . . . 48

4. Impresoras 53

Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Instalar una impresora con YaST2 . . . . . . . . . . . . . . . . . . . . . . 61

Colas de impresión y configuraciones . . . . . . . . . . . . . . . . 61

Fundamentos de la configuración de impresoras con YaST2 . . . . 62

Configuración automática . . . . . . . . . . . . . . . . . . . . . . . 64

Configuración manual . . . . . . . . . . . . . . . . . . . . . . . . . 65

Configuración para aplicaciones . . . . . . . . . . . . . . . . . . . . . . 69

Imprimir desde la línea de comandos . . . . . . . . . . . . . . . . . 69

El sistema de impresión LPRng/filtro lpd . . . . . . . . . . . . . . 69

El sistema de impresión CUPS . . . . . . . . . . . . . . . . . . . . 70

Configuración manual de puertos locales . . . . . . . . . . . . . . . . . 70

Puertos paralelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Puerto USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Puerto IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

ixSuSE Linux – Enterprise Server 8

Page 10: Sles Admin Ipseries

Puerto serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Configuración manual de LPRng/lpdfilter . . . . . . . . . . . . . . . . . 77

El gestor de impresión LPRng/lpdfilter . . . . . . . . . . . . . . . . . . 77

Herramientas de línea de comandos para LPRng . . . . . . . . . . . . . 78

Para colas de impresión locales . . . . . . . . . . . . . . . . . . . . 79

Para colas de impresión remotas . . . . . . . . . . . . . . . . . . . 81

El filtro de impresión del sistema LPRng/lpdfilter . . . . . . . . . . . . 83

Filtros de impresión autodefinidos para LPRng Gestor de impresión . . 93

El sistema de impresión CUPS . . . . . . . . . . . . . . . . . . . . . . . 98

Convenciones lingüísticas . . . . . . . . . . . . . . . . . . . . . . . 98

IPP y servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Configuración del servidor CUPS . . . . . . . . . . . . . . . . . . . 99

Impresoras de red . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Manejo interno de las tareas . . . . . . . . . . . . . . . . . . . . . . 101

Consejos y trucos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Herramientas de línea de comandos para sistemas de impresión CUPS . 104

Para colas de impresión locales . . . . . . . . . . . . . . . . . . . . 105

Para colas de impresión remotas . . . . . . . . . . . . . . . . . . . 108

Algo sobre Ghostscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Algo sobre a2ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Modificar el formato PostScript con psutils . . . . . . . . . . . . . . . . 115

psnup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

pstops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

psselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Control de la pantalla con Ghostscript . . . . . . . . . . . . . . . . 120

Codificación de texto ASCII . . . . . . . . . . . . . . . . . . . . . . . . . 120

Imprimir en una red TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . 122

Aclaración de términos . . . . . . . . . . . . . . . . . . . . . . . . 123

Resolución de problemas . . . . . . . . . . . . . . . . . . . . . . . 131

Servidor de impresión LPD y IPP . . . . . . . . . . . . . . . . . . . 135

Sólo con CUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

LPRng/lpdfilter y CUPS . . . . . . . . . . . . . . . . . . . . . . . . 135

x Índice general

Page 11: Sles Admin Ipseries

II Sistema 137

5. El Kernel 139

Fuentes del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Módulos del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

6. Características del sistema 143

Estándares de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Filesystem Hierarchy Standard (FHS) . . . . . . . . . . . . . . . . . 144

Linux Standard Base (LSB) . . . . . . . . . . . . . . . . . . . . . . . 144

teTeX – TeX en SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . 144

Entornos de ejemplo para FTP y HTTP . . . . . . . . . . . . . . . . . . . 144

Observaciones sobre paquetes especiales . . . . . . . . . . . . . . . . . . 145

El paquete bash y /etc/profile . . . . . . . . . . . . . . . . . . . . 145

El paquete cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Archivos de registro – el paquete logrotate . . . . . . . . . . . . . . 146

Páginas man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

El comando ulimit . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

El comando free . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

El fichero /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . 150

Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Distribución del teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Configuración nacional – I18N/L10N . . . . . . . . . . . . . . . . . . . 152

7. Soporte para aplicaciones de 32 bits y 64 bits en un entorno de 64bits 157

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Soporte en tiempo de ejecución . . . . . . . . . . . . . . . . . . . . . . . 158

Desarrollo de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Cuestiones relativas al kernel . . . . . . . . . . . . . . . . . . . . . . . . 161

xiSuSE Linux – Enterprise Server 8

Page 12: Sles Admin Ipseries

8. El concepto de arranque de SuSE Linux Enterprise Server 163

El programa init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Los niveles de ejecución – ”Runlevel” . . . . . . . . . . . . . . . . . . . 165

Cambio de nivel de ejecución . . . . . . . . . . . . . . . . . . . . . . . . 166

Los scripts de inicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

Editor para Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

SuSEconfig, /etc/sysconfig y /etc/rc.config . . . . . . . . . . . . . . . . 171

Configuración del sistema con el editor Sysconfig de YaST2 . . . . . . . 173

Scripts y variables – Configuración del sistema . . . . . . . . . . . . . . 174

III Red 205

9. Fundamentos de conexión a redes 207

TCP/IP - El protocolo de red utilizado por Linux . . . . . . . . . . . . . 208

Modelo de capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

Direcciones IP y routing . . . . . . . . . . . . . . . . . . . . . . . . 212

Domain Name System . . . . . . . . . . . . . . . . . . . . . . . . . 215

IPv6 – La próxima generación de Internet . . . . . . . . . . . . . . . . . 216

El por qué del nuevo protocolo de Internet . . . . . . . . . . . . . . 216

Estructura de una dirección IPv6 . . . . . . . . . . . . . . . . . . . 218

Máscaras de red en IPv6 . . . . . . . . . . . . . . . . . . . . . . . . 220

Literatura y enlaces sobre IPv6 . . . . . . . . . . . . . . . . . . . . 220

El acceso a la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Preparativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Configuración de red con YaST2 . . . . . . . . . . . . . . . . . . . 222

Configurar IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

Configuración manual de la red . . . . . . . . . . . . . . . . . . . . . . . 225

Ficheros de configuración . . . . . . . . . . . . . . . . . . . . . . . 225

Scripts de arranque (Startup-Scripts) . . . . . . . . . . . . . . . . . 233

Routing en SuSE Linux Enterprise Server . . . . . . . . . . . . . . . . . 233

DNS – Domain Name Service . . . . . . . . . . . . . . . . . . . . . . . . 235

Iniciar el servidor de nombres BIND . . . . . . . . . . . . . . . . . 235

xii Índice general

Page 13: Sles Admin Ipseries

El fichero de configuración /etc/named.conf . . . . . . . . . . . . 237

Información adicional . . . . . . . . . . . . . . . . . . . . . . . . . 244

NIS – Network Information Service . . . . . . . . . . . . . . . . . . . . . 245

Servidor NIS-Master y Slave . . . . . . . . . . . . . . . . . . . . . . 245

El módulo del ciente NIS en YaST2 . . . . . . . . . . . . . . . . . . 247

Configuración manual de un cliente NIS . . . . . . . . . . . . . . . 248

NFS – Sistema de ficheros distribuidos . . . . . . . . . . . . . . . . . . . 250

Importar sistemas de ficheros con YaST2 . . . . . . . . . . . . . . . 250

Importación manual de sistemas de ficheros . . . . . . . . . . . . . 250

Exportar sistemas de ficheros con YaST2 . . . . . . . . . . . . . . . 251

Exportar manualmente sistemas de ficheros . . . . . . . . . . . . . 251

DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

El protocolo DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Los paquetes de software DHCP . . . . . . . . . . . . . . . . . . . 256

El servidor DHCP: dhcpd . . . . . . . . . . . . . . . . . . . . . . . 256

Computadora con dirección IP fija . . . . . . . . . . . . . . . . . . 258

Más información . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

10. Redes heterogéneas 261

Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

Instalación y configuración del servidor . . . . . . . . . . . . . . . 263

Samba como servidor de dominio . . . . . . . . . . . . . . . . . . . 267

Instalación de los clientes . . . . . . . . . . . . . . . . . . . . . . . 268

Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Netatalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

Configuración del servidor de ficheros . . . . . . . . . . . . . . . . 271

Configuración del servidor de impresión . . . . . . . . . . . . . . . 275

Arrancar el servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 275

xiiiSuSE Linux – Enterprise Server 8

Page 14: Sles Admin Ipseries

11. Internet 277

Servidor proxy: Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

¿Qué es un caché proxy? . . . . . . . . . . . . . . . . . . . . . . . . 278

Información general sobre cachés proxy . . . . . . . . . . . . . . . 279

Requerimientos del sistema . . . . . . . . . . . . . . . . . . . . . . 280

Arrancar Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

El fichero de configuración /etc/squid.conf . . . . . . . . . . . . . 284

Configuración de un proxy transparente . . . . . . . . . . . . . . . 289

Squid y otros programas . . . . . . . . . . . . . . . . . . . . . . . . 292

Más información sobre Squid . . . . . . . . . . . . . . . . . . . . . 297

12. Redes seguras 299

Cortafuegos y masquerading . . . . . . . . . . . . . . . . . . . . . . . . 300

Fundamentos del masquerading . . . . . . . . . . . . . . . . . . . 300

Fundamentos del cortafuegos . . . . . . . . . . . . . . . . . . . . . 302

SuSEfirewall2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

SSH – secure shell, la alternativa segura . . . . . . . . . . . . . . . . . . 305

El paquete OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . 306

El programa ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

scp – copiar con seguridad . . . . . . . . . . . . . . . . . . . . . . . 307

sftp - transmisión segura de datos . . . . . . . . . . . . . . . . . . . 308

El daemon SSH (sshd) – el lado del servidor . . . . . . . . . . . . . 308

Mecanismos de autentificación de SSH . . . . . . . . . . . . . . . . 309

”X” y autentificación remota . . . . . . . . . . . . . . . . . . . . . . 311

Autentificación en la red — Kerberos . . . . . . . . . . . . . . . . . . . . 312

Terminología de Kerberos . . . . . . . . . . . . . . . . . . . . . . . 312

¿Cómo funciona? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Efectos de Kerberos a nivel de usuario . . . . . . . . . . . . . . . . 316

Información adicional sobre Kerberos . . . . . . . . . . . . . . . . 318

Instalación y administración de Kerberos . . . . . . . . . . . . . . . . . 318

Elección de Realms en Kerberos . . . . . . . . . . . . . . . . . . . . 319

Configuración del hardware KDC . . . . . . . . . . . . . . . . . . . 319

xiv Índice general

Page 15: Sles Admin Ipseries

Sincronización del reloj . . . . . . . . . . . . . . . . . . . . . . . . 321

Configuración del registro . . . . . . . . . . . . . . . . . . . . . . . 321

Instalación del KDC . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Configuración de los clientes Kerberos . . . . . . . . . . . . . . . . 325

Gestión de los principales . . . . . . . . . . . . . . . . . . . . . . . 328

Activación del soporte PAM para Kerberos . . . . . . . . . . . . . 329

Configuración de los servidores de red para Kerberos . . . . . . . 333

Configuración de sshd para la autenticación Kerberos . . . . . . . 334

Utilización de LDAP y Kerberos . . . . . . . . . . . . . . . . . . . 335

A. Página man de e2fsck 337

B. La licencia pública general GNU (GPL) 341

Bibliografía 353

xvSuSE Linux – Enterprise Server 8

Page 16: Sles Admin Ipseries
Page 17: Sles Admin Ipseries

Parte I

Configuración

Page 18: Sles Admin Ipseries
Page 19: Sles Admin Ipseries

1Ya

ST2e

nm

od

ote

xto(n

curse

s)

YaST2 en modo texto (ncurses)

YaST2 también puede utilizarse a través de un terminal basado en texto. Estoresulta especialmente útil cuando el administrador no tiene la posibilidad deacceder al sistema por medio de una consola gráfica con X11.

Funcionamiento

Para iniciar YaST2 en modo texto, introduzca yast en un terminal como usuarioroot .

El uso de YaST2 en modo texto puede resultar algo raro al principio, pero es dehecho muy sencillo. Con las teclas

�� ��Tab ,�� ��Alt +

�� ��Tab ,�� ��Espacio , flechas de dirección

(�� ��↑ y

�� ��↓ ) y�� ��Intro , así como con las combinaciones, se puede manejar en principio

todo el programa. Al arrancar YaST2 en modo texto, lo primero que aparece es elCentro de Control de YaST2 (véase figura 1.1 en la página siguiente).

Esta ventana está dividida en tres áreas: A la izquierda se pueden observar lascategorías a las que pertenecen los distintos módulos. Cuando la lista de catego-rías se encuentra activada, aparece enmarcada por un borde blanco. La categoríaactiva seleccionada está resaltada en color. Los módulos correspondientes a lacategoría activa se muestran a la derecha dentro de un marco blanco. En la parteinferior se encuentran los botones de ‘Ayuda’ y ‘Salir’.

Después de iniciar por primera vez el Centro de Control de YaST2, se seleccio-na automáticamente la primera categoría, ‘Software’. Puede cambiar de unacategoría a otra usando

�� ��↑ and�� ��↓ . Para iniciar un módulo perteneciente a la

categoría seleccionada, utilice�� ��→ . A continuación, la lista de módulos aparecerá

enmarcada por una ancha línea blanca. Use�� ��↑ or

�� ��↓ para moverse por la listade módulos. Al seleccionar un módulo, su nombre aparece resaltado en color yen la parte inferior de la ventana se muestra un breve texto describiendo dichomódulo.

Page 20: Sles Admin Ipseries

Figura 1.1: Ventana principal del Centro de Control de YaST2

Inicie el módulo deseado pulsando�� ��Intro cuando esté seleccionado. El módulo

contiene varios botones o campos de selección con letras de distinto color(amarillas en la configuración estándar). La combinación

�� ��Alt +�� ��letra_amarilla le

permite seleccionar un botón directamente.

Abandone el Centro de Control de YaST2 con el botón ‘Salir’ en la parte inferiorde la ventana o bien seleccionando el apartado ‘Salir’ en la lista de categorías ypulsando

�� ��Intro .

Limitaciones de las combinaciones de teclas

Si utiliza combinaciones de teclas con�� ��Alt en su sistema con un servidor X en

funcionamiento, puede que éstas no funcionen con YaST2. Además puede queteclas como

�� ��Alt o�� ��⇑ ya estén ocupadas por otras configuraciones del terminal

que se utiliza.�� ��Alt en vez de�� ��Esc : Los atajos de teclado con Alt pueden realizarse con

�� ��Esc envez de

�� ��Alt , p. ej.�� ��Esc +

�� ��h en vez de�� ��Alt +

�� ��h .

Pasar hacia adelante o hacia atrás con�� ��Control +

�� ��f y�� ��Control +

�� ��b : En casode que las combinaciones con

�� ��Alt y�� ��⇑ ya estén ocupadas por el gestor

de ventanas o el terminal, utilice de forma alternativa las combinaciones�� ��Control +�� ��f (hacia adelante) y

�� ��Control +�� ��b (hacia atrás).

4

Page 21: Sles Admin Ipseries

1Ya

ST2e

nm

od

ote

xto(n

curse

s)

Trabajar con los módulos

A continuación se parte de que las combinaciones de teclas con�� ��Alt funcionan

correctamente. En caso necesario, haga las sustituciones correspondientes ocambie a una consola de sólo texto.

Navegación entre botones/listas de selección: Con�� ��Tab y

�� ��Alt +�� ��Tab puede

navegar entre los botones y los cuadros de listas de selección.

Navegación por listas de selección: En un cuadro activo en el que se encuentrauna lista de selección, muévase con las teclas de dirección (

�� ��↑ y�� ��↓ ) entre

los distintos elementos, p. ej. entre los módulos de un grupo de módulosen el centro de control.

Seleccionar: La selección de botones con corchetes vacíos (casillas de control) ocon paréntesis puede realizarse con las teclas

�� ��Espacio o�� ��Intro . La selección

de botones en la parte inferior de los módulos o del centro de control serealiza con

�� ��Intro si están seleccionados (en color verde) o, más rápidamente,con la combinación

�� ��Alt +�� ��letra_amarilla .

Figura 1.2: El módulo de instalación de software

Arranque de módulos individuales

Para ahorrar tiempo, puede iniciar los módulos de YaST individualmente. Bastacon introducir:

yast 〈nombre_módulo 〉

El módulo de red p. ej. se arranca con yast lan .

5SuSE Linux – Enterprise Server 8

Page 22: Sles Admin Ipseries

Puede obtener una lista con el nombre de todos los módulos disponibles en susistema con

yast -l

o con

yast --list

YaST Online Update

La actualización en línea de YaST (YOU, YaST Online Update) puede controlarsee iniciarse desde una consola. Como administrador, puede fijar un cron jobsemanal para que el sistema se actualice periódicamente con YOU.

Cron job para YOU

Puesto que no todo el que quiere o debe utilizar YOU está familiarizado conlos cron jobs, a continuación presentamos una breve introducción. Existenprincipalmente dos posibilidades para un cron job; aquí se describe la mássencilla:

1. Entre al sistema como root

2. Inicie el editor de crontab con el comando

crontab -e

3. Escriba i para acceder al modo de inserción del programa vi

4. Introduzca las siguientes líneas:

MAILTO=” ”13 3 * * 0 /sbin/yast2 online_update auto.get

53 3 * * 0 /sbin/yast2 online_update auto.install

Las primeras 5 posiciones de las dos últimas líneas indican de izquierdaa derecha: 13=minutos, 3=horas, *=es igual al día del mes, *=es igualal mes del año, 0=domingo. Esto quiere decir que se iniciará un cronjob cada domingo a las 3 horas y 13 minutos de la noche. El segundocron job se iniciará 40 minutos después, los domingos a las 3 horas y 53

6 YaST Online Update

Page 23: Sles Admin Ipseries

1Ya

ST2e

nm

od

ote

xto(n

curse

s)

minutos. La línea MAILTO=” ” impide que root reciba el resultado deYaST2-ncurses por correo electrónico, por lo que puede quedar vacía.

AvisoIntroduzca la hora para los cron jobs arbitrariamente, es decir, noes necesario que sea la misma hora que en el ejemplo anterior,ya que de ser así habría una sobrecarga en el servidor FTP o serebasaría el número máximo de accesos que se pueden realizarsimultáneamente.

Aviso

5. Guarde el cron job con la siguiente secuencia de teclas (una detrás deotra)

�� ��Esc :wq o, alternativamente,�� ��Esc ZZ.

El daemon cron se reiniciará automáticamente y su cron job quedará guardadoen el fichero /var/spool/cron/tabs/root .

7SuSE Linux – Enterprise Server 8

Page 24: Sles Admin Ipseries
Page 25: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

YaST2 en modo gráfico

Con la ayuda de YaST2 puede incorporar al sistema SuSE Linux Enterprise Servercomponentes de hardware adicionales, tales como una impresora o una tarjetade sonido, configurar e instalar servicios del sistema, acceso a Internet, así comoinstalar nuevo software o eliminar paquetes que no necesite.

Inicio de YaST2 . . . . . . . . . . . . . . . . . . . . . . . . . 10Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Red/Básica . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Red/Avanzada . . . . . . . . . . . . . . . . . . . . . . . . . 18Seguridad y usuarios . . . . . . . . . . . . . . . . . . . . . 20System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Varios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Page 26: Sles Admin Ipseries

Inicio de YaST2La mejor forma de iniciar YaST2 en modo gráfico es a través del sistema de menúsde KDE. Para ello, puede utilizar tanto el mouse como el teclado.Una vez arrancado, lo siguiente que aparece es el centro de control de YaST2L̇a zona de la izquierda está dividida en ‘Software’, ‘Hardware’, ‘Red/Básica’,‘Network/Basic’, ‘Advanced Network’, ‘Security & Users’, ‘System’ y ‘Misce-llaneous’. Si pulsa en uno de los iconos, aparecerá en la parte de la derechalos módulos correspondientes. La configuración de los distintos módulos sueleocurrir en varios pasos.En la configuración de los módulos, YaST2 le conduce a través de los diálogospulsando ‘Next’. En la parte de la izquierda, puede consultar textos de ayudasobre el correspondiente tema.Tras haber llevado a cabo la introducción de todos los valores, ha de concluirel proceso pulsando ‘Finish’ en el último cuadro de diálogo. Tras ello, laconfiguración habrá quedado almacenada.

Figura 2.1: Configuración y administración del sistema en YaST2

SoftwareEsta opción sirve para instalar software adicional o eliminar el existente; tambiénes posible cambiar la fuente de instalación. A parte de esto existen dos herra-

10 Inicio de YaST2

Page 27: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

mientas para la actualización del sistema: Una para la actualización ”normal” yotra para la actualización en línea mediante nuestro servidor FTP.

Cambiar la fuente de instalación

La fuente de instalación es el medio en el que está disponible el software ainstalar. Puede instalar desde un CD (el medio más común), desde un servidoren la red o desde un disco duro. (Puede encontrar más información en eldetallado texto de ayuda de YaST2 y en el manual de Instalación de SuSE LinuxEnterprise Server).

Cuando abandona el módulo con la opción ‘Finalizar’, la configuración esalmacenada y aplicada a los módulos de configuración ‘Instalar/desinstalarsoftware’ y ‘Actualización del sistema’.

Figura 2.2: Modificación de la fuente de instalación

YOU – YaST Actualización Online

La actualización online de YaST2 permite la instalación de importantes mejoras.Los correspondientes parches están disponibles en el servidor FTP de SuSE. Lospaquetes pueden ser instalados automáticamente. También le permite realizar

11SuSE Linux – Enterprise Server 8

Page 28: Sles Admin Ipseries

una actualización personalizada especificando los parches que desea añadir a susistema SuSE Linux Enterprise Server mediante ‘Actualización manual’.Con ‘Siguiente’, obtendrá una lista de los parches disponibles, (si ha escogido‘Actualización manual’). Aquí puede realizar la selección de los paquetes quedesear instalar, pero también puede aceptar la propuesta que le ofrece YaST2. Laactualización quedará finalizada una vez que pulse sobre ‘Siguiente’ o ‘Finalizar’.

Actualización online en consolaLa actualización online también puede ser ejecutada desde la línea de comandos.Como root se puede utilizar el comando:

tierra:/root # yast2 online_update .auto.get

para recibir desde el servidor que se encuentre en primera posición en la lis-ta /etc/suseservers la lista de los parches actuales de todos los rpm. Sisólo quiere cargar unos determinados parches, se pueden utilizar opcionescomo security , recommended , document , YaST2 y optional . securitysólo carga parches relacionados con la seguridad; recommended sirve paracargar los parches que SuSE recomienda; document ofrece información sobrelos parches o el servidor FTP; YaST2 sólo carga los parches para YaST2; y conoptional se cargan los parches de menor importancia. La información sobrelos parches se guarda en /var/lib/YaST2/you/<basearch>/update/<productname>/<version>/patches . Sólo root está autorizado a leer-los; X.Y representa la versión de SuSE Linux en cuestión.El comando para cargar, por ejemplo, los parches de seguridad es:

tierra:/root # yast2 online_update .auto.get security

Cada vez que utiliza .auto.get , se actualiza la lista de los servidores FTPen /etc/suseservers . Para desactivarlo, modifique dentro del fichero/etc/sysconfig/onlineupdate la línea:

tierra:/root # YAST2_LOADFTPSERVER="yes"

poniendo no en lugar de yes .La instalación de los parches se lleva a cabo mediante:

tierra:/root # yast2 online_update .auto.install

Con este comando se instalan todos los parches que se hayan bajado de Inter-net. Para instalar un cierto grupo de parches, se pueden utilizar las mismasopciones como en el caso de .auto.get .La ventaja de este método es la automatización; como administrador de sis-tema tiene la posibilidad de descargar, por ejemplo, los paquetes durante lanoche e instalarlos a la mañana siguiente.

12 Software

Page 29: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Instalar/Eliminar Software

Este módulo hace posible instalar, actualizar o desinstalar software. Si quiereinstalar con un CD, inserte el primer CD en la unidad correspondiente.

El filtro de selección

En la parte superior izquierda de la ventana principal escoja en la opción ‘Fil-tro’ el criterio de presentación de los paquetes. El criterio por defecto es ‘Se-lecciones’.

Estos grupos de paquetes se presentan a la izquierda en una estructura de ár-bol. Si hace clic en uno de los grupos principales (por ejemplo, ‘Desarrollo’ o‘Documentación’), aparecerá en la parte superior derecha de la ventana todoslos paquetes que pertenecen a este grupo principal. Haga clic en uno de lossubgrupos y verá los correspondientes paquetes de este subgrupo.

Entre todos los filtros de selección es especialmente interesante ‘Selecciones’,que ya se ha encontrado durante la instalación, si en la ventana de sugeren-cias entró en las configuraciones de software. Con el filtro de selección puedeinstalar mediante un solo clic selecciones predeterminadas de ciertas apli-caciones. Éste es el único filtro en el que puede activar algo en la parte iz-quierda. Aquí se instalarán todos los paquetes que haya seleccionado. Si enla selección estándar ha deseleccionado, por ejemplo, KDE, se desinstalarántodos los paquetes de KDE. En cada selección, puede ver a la derecha los pa-quetes correspondientes con su estado actual. Naturalmente también puedeseleccionar o deseleccionar paquetes individuales según sus preferencias.

Las selecciones predeterminadas incluyen ‘Desarrollo’, ‘KDE’ o ‘Servidorweb’.

La ventana de paquetes

En la ventana de paquetes de la derecha puede ver, de izquierda a derecha,el estado de cada paquete, el nombre del paquete, una breve descripción, eltamaño, la versión y la fuente en la que puede escogerlo y si quiere instalarel código fuente junto con el paquete.

El estado del paquete se representa mediante diversos iconos. Un paquetepuede tener los siguientes estados:

ni está instalado ni se instalará

se instalará mediante selección manual

13SuSE Linux – Enterprise Server 8

Page 30: Sles Admin Ipseries

se instalará porque depende de otro paquete seleccionado (dependen-cia)

será sustituido por una nueva versión (actualizado)

será eliminado (desinstalado)

es ”tabú”: evita que el paquete se instale al tener dependencias con otropaquete que se está instalando (sólo para expertos)

prohibido: impide que este paquete se actualice o elimine (útil para pa-quetes compilados a mano o que proceden de otras fuentes)

renombrado: no se puede elegir este estado manualmente (sólo en casosen que un paquete ha sido actualizado y el nuevo tiene otro nombre)

Al hacer clic en los iconos que se encuentran a la izquierda del nombre delos paquetes, puede modificar el estado. Sólo se ofrecen los estados que ten-gan sentido, por ejemplo, un paquete no instalado no puede adoptar el esta-do ”Desinstalar”.

AvisoExiste la posibilidad de marcar paquetes instalados para ser elimina-dos. Tenga en cuenta las indicaciones de aviso y no elimine ningúnpaquete del sistema básico de Linux.

Aviso

La ventana de información

En la parte inferior derecha se encuentra la ventana que, mediante pestañas.contiene información de los paquetes seleccionados: una descripción detalla-da, datos técnicos, una lista de ficheros que se instalan con cada paquete, lospaquetes que este paquete a su vez necesita, los paquetes que necesitan estepaquete, y en su caso los conflictos con otros paquetes que están instalados oque se han seleccionado para instalar.

La búsqueda

Con el botón ‘Buscar’ aterrizará en una ventana en la que puede buscar enfunción del nombre de los paquetes o de trozos del nombre. Una vez obtengael resultado, puede escoger que quiere hacer con los paquetes que ha encon-trado.

14 Software

Page 31: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Actualización del sistema

Utilice este módulo para mantener su sistema al día. Puede iniciarlo en dis-tintas fases del proceso. Los paquetes que han de ser actualizados son detec-tados por YaST2 o bien seleccionados por usted manualmente.

Esta función resulta muy útil cuando se ha borrado accidentalmente un fi-chero binario importante. El módulo de actualización muestra el paquete desoftware correspondiente y lo selecciona para actualizarlo. Así, la búsquedadel paquete de software apropiado se realiza automáticamente con el consi-guiente ahorro de tiempo.

Actualización con CD de parches

Contrariamente a lo que ocurre con la actualización online, aquí los paquetesno se recogen de un servidor FTP, sino que se instalan desde una unidad deCD-ROM.

Tras introducir el CD de parches, se mostrarán en la ventana de los módulosde YaST2 todos los parches que se encuentran en el CD. Puede elegir de lalista de parches aquellos que quiera instalar. Si se ha olvidado de introducirel CD en la unidad correspondiente, aparecerá un mensaje de error. Introduz-ca el CD y arranque de nuevo la actualización de parches con CD.

Hardware

El primer paso para configurar el hardware es conectarlo según las indica-ciones del fabricante. Los dispositivos externos como impresoras o módemsse han de encender antes de ejecutar el módulo correspondiente de YaST2.YaST2 reconoce automáticamente una buena parte de los dispositivos habitua-les, tras lo cual muestra los datos técnicos. En caso de que el reconocimientoautomático fallase, YaST2 ofrece una lista de dispositivos ordenados por fabri-cante y modelo, de la que puede seleccionar el dispositivo correcto.

Dentro de ‘Hardware’ se encuentra la herramienta de configuración para lainstalación de diversos dispositivos. En la información sobre el hardware sepueden consultar los datos del hardware reconocido automáticamente porYaST2.

15SuSE Linux – Enterprise Server 8

Page 32: Sles Admin Ipseries

Impresoras

Con este módulo puede configurar las impresoras conectadas a su sistema. Sesoportan tanto impresoras locales como de red. Puede encontrar más informa-ción en el Capítulo Impresoras en la página 53.

Monitor y dispositivos de entrada (SaX2)

Este módulo se encarga de la configuración de la interfaz gráfica X11, así co-mo de los dispositivos de entradas en sistemas que soportan un entorno grá-fico. Asimismo, puede ser utilizado para modificar una configuración X11existente (por ejemplo, variar la profundidad de color). El Capítulo El sistemaX Window en la página 33 proporciona todos los detalles que necesita conocerrespecto a este tema.

Información de hardware

YaST2 realiza un reconocimiento de hardware para la configuración de com-ponentes de hardware. En esta ventana se muestran los datos técnicos reco-nocidos.

Figura 2.3: Mostrar información del hardware

16 Hardware

Page 33: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Red/Básica

En ‘Red/Básica’ se encuentran diferentes herramientas para establecer el ac-ceso a Internet: Se puede configurar ADSL, T-DSL en Alemania, la tarjeta dered, RDSI, el nombre de host y DNS. Asimismo, puede configurarse los deta-lles para el enrutado.

Configuración de la tarjeta de red

Mediante esta opción puede configurarse la tarjeta de red para su conexión ala red local así como el acceso a Internet para SuSE Linux Enterprise Server.Si desea ampliar la información acerca de la configuración de la tarjeta de redy la conexión a Internet, por favor, consulte el Capítulo El acceso a la red en lapágina 222.

E-mail

El módulo de configuración para enviar correo fue adaptado a las necesida-des actuales y ahora también se soporta postfix además de sendmail. En laprimera ventana de diálogo de configuración se debe seleccionar el tipo deconexión dentro del menú ‘Redes/Avanzadas’:

‘Host con conexión permanente a la red’Se trata de las denominadas líneas de transferencia rápida (”líneas dedi-cadas”) que se suelen implementar en grandes compañías u otras insti-tuciones que trabajan mucho con Internet. Es una conexión permanentea Internet, por lo que no se necesita realizar ninguna llamada. No obs-tante, esta opción del menú se aplica solamente a miembros de una redlocal en la que, en lugar de una conexión permanente a Internet, se usaun servidor central de correo electrónico para enviar e-mails.

‘Host con conexión temporal a la red (MODEM o RDSI)’Esto es lo que se aplica a la mayor parte de los usuarios que poseen unordenador en casa, el cual no pertenece a ninguna red, y que no obs-tante, se conectan ocasionalmente a Internet mediante llamada a travésde MODEM, T–DSL/ADSL o RDSI.

‘Sin conexión de red’Seleccione esta opción si no tiene acceso a Internet y si tampoco formaparte de ninguna red local; no podrá recibir ni mandar correos electró-nicos.

17SuSE Linux – Enterprise Server 8

Page 34: Sles Admin Ipseries

En los siguientes pasos se configurará el proveedor para el correo saliente ycrear al menos un usuario local. Si tiene una conexión bajo demanda ”dial-up”, es posible utilizar diferentes servidores POP según el usuario que se co-necte.

También puede definir varios alias o dominios virtuales. Puede salir de laconfiguración con ‘Finalizar’.

Figura 2.4: Configuración de Mail en YaST2

Red/Avanzada

Para los administradores de red, existen módulos para el inicio y la paradade servicios de sistema, servidor y cliente NFS, enrutado, configuración dered modo experto y cliente NIS. En el caso de ‘Configuración de red modoexperto’ se ofrecen las mismas funciones que en ‘Configuración de la tarjetade red’ dentro de ‘Red/Básica’ con la diferencia de tener también la posibili-dad de configurar el módem.

18 Red/Avanzada

Page 35: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Configurar un servidor NFS

Con YaST2 puede convertir una computadora de su red en un servidor NFSrápidamente. Éste es un servidor que prepara directorios y ficheros para to-das las computadoras que tienen permitido el acceso. Diversas aplicaciones sepueden p. ej. poner a disposición de los demás usuarios, sin que sea necesarioinstalarlas localmente en cada computadora.

Puede encontrar más detalles sobre cómo configurar un sistema como servi-dor NFS en el apartado NFS – Sistema de ficheros distribuidos en la página 250.

Configurar NIS

En cuanto más de un sistema Unix dentro de una red quiera acceder a recur-sos compartidos, se debe establecer con seguridad que los usuarios y gruposfijados en todas las computadoras de la red están sincronizados. La red debeser transparente para el usuario; independientemente de la computadora enla que trabaje, el usuario debe encontrarse siempre el mismo entorno.

En el apartado NIS – Network Information Service en la página 245 se encuen-tra la explicación para configurar NIS tanto en un cliente como en un servi-dor.

Configurar el nombre de host y DNS

Aquí se puede configurar el nombre de host y los datos DNS del sistema.Se debe evitar realizar modificaciones posteriormente, puesto que estos pa-rámetros son necesarios para que la red funcione correctamente. Para másinformación, consulte las secciones El acceso a la red en la página 222 y DNS –Domain Name Service en la página 235.

Configurar el enrutador

Estos parámetros también son importantes para una correcta configuración dela red. Puede encontrar información más precisa en la sección El acceso a lared en la página 222.

19SuSE Linux – Enterprise Server 8

Page 36: Sles Admin Ipseries

Seguridad y usuarios

Administración de usuarios

En primer lugar asegúrese de que la opción ‘Administración de usuarios’ estáseleccionada. YaST2 le presentará un listado con todos los usuarios que exis-ten en administración de usuarios. Si un usuario ha de ser eliminado, simple-mente seleccione el usuario y pulse en ‘Eliminar’. Para ‘Añadir’ un usuario,llene los campos requeridos. Después este usuario podrá acceder a la com-putadora introduciendo ese nombre y la contraseña en el login. En la opción‘Detalles’ de ‘Editar’ encontrará las posibilidades de edición.

Figura 2.5: Administración de usuarios

Administración de grupos

En primer lugar asegúrese de que la opción ‘Administración de grupos’ estáseleccionada. YaST2 le ofrece un listado de todos los grupos. Si un grupo de-be ser eliminado simplemente selecciónelo de la lista y pulse en ‘Eliminar’.Asimismo, ‘Añadir’ y ‘Editar’ grupos es muy sencillo. Simplemente ha deseguir el mismo procedimiento descrito en ”Crear un nuevo grupo”.

20 Seguridad y usuarios

Page 37: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Figura 2.6: Administración de grupos

Configuración de Seguridad

En la pantalla de inicio ‘Configuración de Seguridad Local’, a la que puedeaccederse desde ‘Seguridad y usuarios’, existen 4 opciones disponibles quepuede seleccionar:

El nivel 1 es para una estación de trabajo (preconfigurado), el nivel 2 para es-taciones de trabajo con red (preconfigurado), el nivel 3 para servidores conred (preconfigurado) y la opción Definido por el usuario sirve para una confi-guración personalizada.

Si presiona sobre uno de las 3 primeras opciones, podrá aceptar una confi-guración preconfigurada de la seguridad del sistema. Para hacer esto, pulsesimplemente sobre ‘Finalizar’. Bajo ‘Detalles’ tendrá acceso a las distintas con-figuraciones, que puede cambiar cuando desee. Si elige ‘Definido por el usua-rio’, puede pasar de un diálogo a otro presionando sobre ‘Siguiente’. Aquí,hallará los valores que fueron preconfigurados de la instalación.

‘Configuración de la contraseña’ Aquí, puede definir la longitud que la con-traseña debe poseer para futuros usuarios (longitud mínima y máxima).De cinco a ocho caracteres es un número razonable. No obstante, puedeelegir el número de días de validez de una contraseña, cuándo expira y

21SuSE Linux – Enterprise Server 8

Page 38: Sles Admin Ipseries

con cuántos días de antelación le debe avisar (la advertencia se realiza-rá cuando el usuario entre en modo consola).

‘Configuración de arranque’ Esta pantalla le permite la configuración dedos asuntos. Primero: ¿Cómo será interpretada la combinación de te-clas

�� ��Ctrl +�� ��Alt +

�� ��Supr ? Normalmente, esta combinación provoca queel sistema se reinicie al introducirla en la consola de texto. Excepto ensu máquina o servidor esta información es accesible a todo el mundo,y puede darse el caso de que esta acción se lleve a cabo sin autoriza-ción. Si selecciona ‘Parar’, esta combinación de teclas causará el reiniciodel sistema y con ‘Ignorar’, esta combinación perderá completamente suefecto.

Segundo: ¿Quién tiene permiso para cerrar ((ingl. shutdown)) la máqui-na desde KDM (ingl. KDE Display Manager), el login gráfico? ‘Solamenteel root’ (el administrador del sistema), ‘Todos los usuarios’, ‘Nadie’ o‘Usuarios locales’? Si selecciona ‘Nadie’, el sistema solamente puede serreiniciado vía la consola de texto.

‘Login’ Normalmente, después de un intento fallido de login, existe un pe-ríodo de espera antes del cual el login no es posible. El propósito deesto es hacer más difícil la entrada a través de ”rastreadores de contra-señas” (ingl. sniffers). En suma, posee la opción de activar los elementos‘Grabar intentos de login fallidos’ y ‘Grabar intentos de login con éxito’.Si sospecha que alguien está intentando averiguar su contraseña, puedecomprobar las entradas realizadas al sistema a través de los ficheros logubicados en /var/log .

‘Añadir configuraciones de usuario’ Cada usuario posee un número deidentificación de usuario así como un nombre alfabético. La rela-ción entre estas dos cantidades es establecida mediante el fichero/etc/passwd . Usando los datos de esta ventana, puede definir el ran-go de variación asignado a la parte numérica del identificador de usua-rio, al añadir un nuevo usuario. Un mínimo de 500 es una cantidadrazonable para los usuarios y no deberían ocupar números inferiores aeste.

‘Configuraciones varias’ Para ‘Establecer los permisos de ficheros’, existen3 opciones diferentes: ‘Fácil’, ‘Seguro’ y ‘Paranoico’. La primera serásuficiente para la gran mayoría de usuarios. El texto de ayuda de YaST2le proporcionará información sobre estos 3 niveles de seguridad.

La opción ‘Paranoico’ es extremadamente restrictiva y debería servircomo el nivel básico de operaciones para la configuración que debenhacer los administradores del sistema. Si selecciona ‘Paranoico’, deberá

22 Seguridad y usuarios

Page 39: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

tener en cuenta posibles perturbaciones y malos funcionamientos en eluso de ciertos programas, debido a que no poseerán los permisos deacceso adecuados a varios ficheros.

También, en esta ventana, puede definir que usuarios pueden iniciar elupdatedb. Este programa se ejecutará automáticamente una vez al díao después de cada arranque, generando una base de datos (locatedb)en la que está almacenada la localización exacta de cada fichero de sucomputadora (para usar locatedb ejecútelo con el comando locate ).Si selecciona ‘Ninguno’, cada usuario sólo podrá hallar la localizaciónde un fichero en la base de datos para conseguir su ruta. Si seleccio-na root , como superusuario, podrá listar todos los directorios con elcomando locate.

Otra opción es la de activar el ítem ‘Omitir el directorio actual desde laruta de usuario root’, una selección razonable.

Pulse sobre ‘Finalizar’ para cerrar esta configuración.

Figura 2.7: Configuración de seguridad

23SuSE Linux – Enterprise Server 8

Page 40: Sles Admin Ipseries

Cortafuegos

Con este módulo puede activar y configurar fácilmente el SuSE Firewall. Siestá conectado a Internet, debería tener cuidado, ya que hoy en día las posi-bilidades de ataque son enormes y el SuSE Firewall le proporciona una pro-tección adecuada.

Después de arrancar el módulo aparecerán cuatro diálogos. En el primero es-coja el puerto que quiere proteger. (véase la Figura 2.8). En ‘Puerto externo’escoja el puerto de Internet. La opción ‘Puerto interno’ sólo es importante sise encuentra en una red interna y también quiere proteger su computadoracontra esta red. Entonces, su computadora se encontrará en una ”zona des-militarizada” (DMZ, (ingl. demilitarized zone)), la cual sólo suele ser relevantepara redes de empresas.

Figura 2.8: SuSE-Firewall: Selección de los puertos a proteger

Una vez seleccionado el puerto, active en la siguiente ventana de diálogo losservicios a los que se puede acceder en su computadora desde Internet (véaseFigura 2.9 en la página siguiente). Si no quiere disponer de ninguno de estosservicios en el servidor, y sólo desea acceder a Internet para navegar y recibiry enviar e-mails, no active ninguno. Cuantas más ”puertas” estén cerradas,menos posibilidades habrá de intrusos.

Ante todo, en el tercer diálogo, no modifique nada si no está familiarizado

24 Seguridad y usuarios

Page 41: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Figura 2.9: SuSE-Firewall: Servicios accesibles desde fuera

con conceptos como (ingl. masquerading) y ”rutas de rastreo” (ingl. traceroute),al igual que en la anterior ventana, en que las opciones estándar de protocoloeran suficientes para los casos normales.

Si hace clic en ‘Siguiente’ aparecerá una pequeña ventana de confirmación.Después, se guardará la nueva configuración en el disco duro y, al reiniciar,su computadora estará protegida en gran medida contra los ataques al conec-tarse a Internet.

Puede encontrar más información sobre SuSE Firewall en el Capítulo Cortafue-gos y masquerading en la página 300.

System

Crear copias de seguridad (ingl. backups)

El módulo de copias de seguridad de YaST2 permite realizar fácilmente actua-lizaciones del sistema. El módulo no realiza un respaldo completo del siste-ma, sino que sólo guarda información sobre paquetes que se hayan modifica-do, áreas críticas del sistema y ficheros de configuración.

25SuSE Linux – Enterprise Server 8

Page 42: Sles Admin Ipseries

La configuración de este módulo permite determinar el alcance del respaldo.Por defecto se guarda información sobre los paquetes que se hayan instaladodesde la última instalación. Aparte de esto se puede guardar mucha infor-mación que no pertenece a ningún paquete como p. ej.muchos ficheros deconfiguración del directorio /etc o de su directorio home. Adicionalmente esposible respaldar también información crítica como la tabla de partición o elMBR. Esta información se utilizará en caso de una restauración.

Recuperación (ingl. restore)

Con el módulo de recuperación (Figura 2.10 en la página siguiente) puederecuperar su sistema a partir de un archivo de copias de seguridad. Siga lasinstrucciones en YaST2. Al pulsar ‘Siguiente’ aparecerán los distintos diálogos.Al principio introduzca dónde se encuentra cada fichero, ya sea en medios deintercambio, en discos locales o en sistemas de ficheros en la red. A continua-ción, obtendrá las correspondientes descripciones y contenidos del archivo ypodrá elegir qué debe ser recuperado.Más adelante, podrá escoger en dos diálogos primero los paquetes a desins-talar, que han sido añadido nuevos desde la última copia de seguridad, ysegundo los paquetes eliminados desde la última copia de seguridad y quequiere volver a instalar. Con estos dos pasos adicionales puede restaurarexactamente el estado del sistema tal y como estaba en el momento en quese efectuó la última copia de seguridad.

AvisoPuesto que en casos normales este módulo permite instalar, sustituiro desinstalar muchos paquetes y ficheros, sólo debería utilizarlo siestá familiarizado con las copias de seguridad (ingl. backups); de locontrario puede que pierda datos.

Aviso

Editor para sysconfig

En el directorio /etc/sysconfig se encuentran los ficheros con las configu-raciones más importantes para SuSE Linux Enterprise Server (antiguamenteen el fichero /etc/rc.config ). El ”editor para sysconfig” presenta todas lasposibilidades de configuración. Se puede modificar los valores que despuésquedarán guardadas en los distintos ficheros de configuración.La sección SuSEconfig, /etc/sysconfig y /etc/rc.config en la página 171 ff contieneinformación detallada acerca del editor para sysconfig además de las varia-bles sysconfig.

26 System

Page 43: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Figura 2.10: Recuperación

Editor Runlevel

Los niveles de ejecución (ingl. ()Runlevel) del sistema, los denominados ”mo-dos de funcionamiento”, se inician tras el arranque del sistema. En SuSE Li-nux Enterprise Server el nivel por defecto es 5 (modo multiusuario con redy el login gráfico KDM). Con este módulo puede, primero, modificar el ni-vel de ejecución por defecto y, segundo, configurarlo. Asimismo, puede es-tablecer qué servicios deben iniciarse en cada nivel de ejecución. Consulte latabla 8.1 en la página 166.

Particionar para Expertos

El módulo de particionar para expertos permite editar particiones existentes,borrarlas o crear nuevas. Existe también la posibilidad de configurar un Soft-RAID o un LVM.

AtenciónPuede obtener una información más detallada y consejos adicionalessobre las particiones en el manual de Instalación de SuSE Linux Enter-prise Server

Atención

27SuSE Linux – Enterprise Server 8

Page 44: Sles Admin Ipseries

Todas las particiones se configuran durante la instalación pero es posible quecon el tiempo se llenen y haga falta añadir un disco duro. Para realizarlo hayque particionar primero el disco nuevo, formatear y montar las particionespara darlas posteriormente de alta en /etc/fstab . Es posible que sea ne-cesario mover algunos datos al disco nuevo, p. ej. para mover una partición/opt demasiado pequeña al nuevo disco.

Hay que tener mucho cuidado al reparticionar el disco duro con el que seestá trabajando. En principio es posible pero hace falta arrancar el sistemainmediatamente después de realizarlo. Por tanto, arrancar desde CD y repar-ticionar conlleva mucho menos riesgo.

El botón ‘Opciones Experto’ dentro del particionador abre un menú con lassiguientes opciones:

Reread Partition Table Leer nuevamente las particiones del disco duro. Senecesita p. ej. en caso de haber particionado en la consola de texto.

Adopt Mount Points from Existing /etc/fstab Se utiliza sólo durante la ins-talación. Leer la fstab antigua sirve para instalar el sistema nueva-mente en lugar de actualizarlo. Leyendo la fstab antigua no hace faltaintroducir los puntos de anclaje manualmente.

Delete Partition Table and Disk Label Borrar la tabla de particiones com-pletamente. Puede ser útil en caso de tener p. ej. problemas con ciertosformatos de disco extraños; todos los datos en el disco duro se pierden.

Gestor de volúmenes lógicos (LVM)

El gestor de volúmenes lógicos (ingl. Logical Volume Manager (LVM)) permitedistribuir el espacio en disco de forma flexible sobre diferentes sistemas deficheros. El LVM se desarrolló por la dificultad de modificar las particionesen un sistema en ejecución. LVM pone en común un ”pool” virtual (VolumeGroup – abreviado VG) de espacio en disco. De este VG se forman los volú-menes lógicos según necesidad. El sistema operativo accede entonces a estosen lugar de acceder a las particiones físicas.

Particularidades:

Es posible juntar varias particiones o discos para formar una particiónlógica grande.

Si un LV se queda (p. ej. /usr ) sin espacio, es posible aumentar su ta-maño si está correctamente configurado.

28 System

Page 45: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

LVM permite añadir discos duros o LV incluso cuando el sistema estáen marcha. Esto requiere – evidentemente – hardware que se puedacambiar en caliente (hot swap).

Utilizar LVM vale la pena para PCs que se usan mucho en casa o para servi-dores pequeños. El LVM es ideal para un volumen de datos creciente comop. ej. en el caso de bancos de datos, colecciones de MP3, directorios de usu-arios, etc. En tal caso es posible configurar sistemas de ficheros más grandesque un solo disco duro. Otra ventaja del LVM es la de poder crear hasta 256LVs, sin embargo es importante considerar que el trabajo con el LVM se dife-rencia mucho del trabajo con particiones convencionales.El anexo del manual de Instalación de SuSE Linux Enterprise Server contieneinstrucciones detalladas acerca de la configuración y gestión del LVM.El LVM-Howto oficial contiene detalles sobre la configuración del gestor devolúmenes lógicos o bien en un documento de SuSE:

http://www.sistina.com/lvm/Pages/howto.html

http://www.suse.com/us/support/oracle/

Soft-RAID

La idea de un RAID (ingl. Redundant Array of Inexpensive Disks) es el de juntarvarias particiones para formar un disco duro ”virtual” grande y así optimi-zar el rendimiento o la seguridad de los datos. El ”RAID-Level” determinala forma de unir y de acceder a los discos duros que se conectan a una con-troladora RAID. Estas controladoras suelen emplear el protocolo SCSI ya queéste es capaz de controlar más discos duros de una forma más eficiente queel protocolo IDE. Además ofrece ventajas respecto al tratamiento de coman-dos en paralelo.En lugar de una controladora RAID costosa, el Soft-RAID es también capazde encargarse de estas tareas. SuSE Linux Enterprise Server ofrece la posibi-lidad de unir mediante YaST2 varios discos duros en un Soft-RAID. Es unaalternativa muy económica al Hardware-RAID.

Niveles RAID habituales

RAID 0 Este nivel mejora la velocidad de acceso a los datos. En realidad nose trata de un RAID porque no existe ninguna seguridad de datos perola denominación ”RAID 0” se ha hecho habitual para esta constelacióncon al menos dos discos duros. El rendimiento es muy alto, pero todoel sistema RAID se estropea al dañarse un solo disco y todos los datosse pierden.

29SuSE Linux – Enterprise Server 8

Page 46: Sles Admin Ipseries

RAID 1 Este nivel ofrece una seguridad aceptable de los datos, porque seencuentran copiados con exactitud en otro disco duro. La constelaciónse denomina ”Mirroring” o ”Mirror” de disco; también es usual hablarde discos ”espejo”. Esto quiere decir que existe una duplicación simul-tánea de los datos en uno o varios discos. Cuando un disco se estropeaexiste una copia en otro, así que se pueden romper todos los discos aexcepción de uno sin perder datos. La velocidad de escritura baja del10 al 20 % por la necesidad de escribir los datos en más de un disco,pero la velocidad de lectura es bastante más alta porque los datos sepueden leer simultáneamente en varios discos.

RAID 5 RAID 5 es el resultado optimizado de los dos anteriores niveles deRAID en cuanto al rendimiento y la seguridad de datos. La capacidadde almacenamiento del RAID equivale a la capacidad total de los discosduros menos uno; es decir, los datos se distribuyen igual que en el casode RAID 0 sobre todos los discos y la seguridad de los datos está dadapor la información de paridad que se encuentra, en el caso de RAID 5,sobre uno de los discos. Estos ”bloques de paridad” se enlazan median-te un XOR lógico para conseguir la recuperación de una partición des-pués de su rotura. En el caso de RAID 5 nunca se debe estropear másde un disco duro en el mismo momento para no perder información.Por eso es importante reemplazar un disco duro dañado lo más rápidoposible.

Puede encontrar una introducción a la configuración de Soft RAID y más in-formación en los siguientes Howto:

/usr/share/doc/packages/raidtools/Software-RAID-HOWTO.html

http://www.LinuxDoc.org/HOWTO/Software-RAID-HOWTO.html

o en la lista de correo de Linux RAID en

http://www.mail-archive.com/[email protected]

en la que puede encontrar también ayuda para problemas más complejos.

30 System

Page 47: Sles Admin Ipseries

2Ya

ST2e

nm

od

og

ráfic

o

Seleccionar la zona horaria

Aunque la zona horaria ya se define durante el proceso de instalación, aquípodrá realizar modificaciones. Simplemente pulse en su país y seleccione‘Hora local’ o ‘GMT’ (Hora meridiano Greenwich). ‘GMT’ es muy usado ensistemas Linux. Las máquinas con otros sistemas operativos como MicrosoftWindows usan hora local.

Seleccionar el idioma

Si no ha fijado el idioma durante el proceso de instalación, aquí podrá se-leccionar el idioma que desea utilizar en su sistema Linux. El idioma, porsupuesto, puede ser cambiado en cualquier momento. La configuración delidioma es global, esto es, vale tanto para YaST2 como para el escritorio KDE3.

Varios

Registro de arranque

Los registros de arranque son mensajes que aparecen en pantalla cuandose inicia el sistema. Estos mensajes se encuentran en el fichero /var/log/boot.msg . Puede verlos fácilmente con este módulo de YaST2 y comprobar sitodos los servicios y utilidades han arrancado como era de esperar.

Registro de sistema

Los registros de sistema documentan el funcionamiento del sistema y se al-macenan en el fichero /var/log/messsages . Los mensajes del kernel apa-recen aquí ordenados por fecha y hora.

Cargar CD de controladores del fabricante

Con este módulo, puede instalar automáticamente controladores de disposi-tivos desde un CD que contenga una versión de ellos compatible con SuSELinux Enterprise Server.

Si necesita instalar SuSE Linux Enterprise Server desde cero, puede cargar loscontroladores del CD del fabricante con ayuda de este módulo de YaST2 unavez acabada la instalación del sistema.

31SuSE Linux – Enterprise Server 8

Page 48: Sles Admin Ipseries

Figura 2.11: Visualizar registro de arranque

Figura 2.12: Visualizar los registros de sistema

32 Varios

Page 49: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

El sistema X Window

Antecedentes históricos

El X Window System es prácticamente un estándar para entornos gráficos deusuario en Unix, pero este sistema, denominado también X11, es un sistemapara redes. Las aplicaciones que corren en la computadora tierra puedenmostrar sus salidas en pantalla en la computadora sol si las computadorasestán conectadas vía red. Esta red puede ser una LAN (Local Area Network –red de área local), pero también es posible que las computadoras se comuni-quen a través de miles de kilómetros usando Internet.

X11 se desarrolló gracias a la cooperación entre DEC (Digital Equipment Cor-poration) y el proyecto Athena del MIT (Massachusetts Institute of Techno-logy). La primera versión (X11R1) salió en septiembre de 1987. Desde la ver-sión 6 (Release 6) la X Consortium, Inc., y desde 1996 The Open Group, aco-gieron el desarrollo del X Window System.

XFree86 ™ es una implementación libre de servidores X para sistemas Unix abase de PC (ver http://www.XFree86.org ). XFree86 se sigue desarrollan-do por programadores en todo el mundo, que se unieron en 1992 para formarel XFree86-Team. De esta unión surgió en 1994 la empresa The XFree86 Pro-ject cuyo objetivo es poner XFree86™ a la disposición de un amplio públicoy contribuir con el desarrollo e investigación del sistema X Window. Desdemarzo del 2000 existe la versión XFree86 4.x, que está completamente actuali-zada. SuSE Linux Enterprise Server incorpora por defecto XFree86 4.0, cuyascaracterísticas se explican un poco más adelante.

SuSE quiere expresar su agradecimiento al equipo de XFree86 por su ayuday autorización para incluir servidores beta en nuestros CDs1, sin cuyo trabajosu elaboración habría sido mucho más difícil, si no imposible.

1Algunas secciones de esta documentación están extraídas del capítulo XFree86 Konfigurierende [HHMK96], el cual nos ha sido facilitado amablemente por Dirk Hohndel

Page 50: Sles Admin Ipseries

Los siguientes capítulos se ocupan de la configuración del servidor X. Coneste fin se explican SaX2 y xf86config, unas sencillas herramientas para con-figurar el sistema X Window.

En comparación a xf86config, basado en caracteres, SaX2 trabaja directamentecon el servidor X y se pueden usar con el mouse.

AvisoSe recomienda tener mucho cuidado al configurar el sistema X Win-dow. Jamás se debe arrancar X sin haber terminado la configuración.Un sistema mal ajustado puede provocar daños irreparables al hardwa-re; están en peligro especialmente los monitores de frecuencia fija. SuSEno se responsabiliza de posibles daños. El presente texto fue redacta-do con máximo cuidado, no obstante, no se puede garantizar que losmétodos presentados sean correctos para su hardware y que no puedacausarles daño.

Aviso

La versión 4.x de XFree86

SuSE Linux Enterprise Server incorpora ahora la versión 4.x de XFree86, quese diferencia en algunos aspectos de la versión 3.3, incorporada anteriormen-te. Para el usuario solo existen pequeñas diferencias; los entornos gráficoscomo p. ej. GNOME y KDE se comportan igual a la versión 3.3.6 de XFree86.

¿Cuáles son las ventajas de esta versión?

El nuevo servidor X ya no es un programa ”monolítico”, sino que ahora exis-te una base relativamente pequeña sobre la que se cargan módulos adicio-nales según la necesidad. Por ejemplo, ya no existen servidores X especialespara las diferentes tarjetas gráficas; ahora existe un único ejecutable con nom-bre XFree86 que se encuentra en /usr/X11R6/bin . Este representa el servi-dor X y el controlador que se encarga de la comunicación con la tarjeta es unmódulo que se puede cargar.

El soporte de diferentes dispositivos, fuentes o protocolos se realiza en lamisma forma con módulos que se cargan en tiempo de ejecución. Normal-mente no hace falta preocuparse de esto ya que SaX2 se encarga en gran me-dida de la configuración de los módulos necesarios para el entorno gráfico.

34 La versión 4.x de XFree86

Page 51: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Debido al concepto de módulos, es mucho más fácil para los fabricantes dehardware, desarrollar un controlador p. ej. para una pantalla táctil o una tar-jeta gráfica muy nueva. Incluso los desarrolladores de XFree86 procuraron lacompatibilidad entre diferentes sistemas operativos. Un controlador para unadeterminada tarjeta gráfica que fue compilado bajo FreeBSD se puede usartambién en Linux y vice versa. Esta portabilidad se restringe evidentemente auna determinada plataforma; un módulo compilado para Linux en PowerPC,no se puede usar en un PC con instrucciones x86 (AMDs, Cyrix, Intel, etc.).

Además el soporte del mouse fue mejorado, lo que representa una respuestamás rápida cuando la máquina está muy cargada. En general todo el aparta-do gráfico funciona con más rapidez, debido sobre todo a la arquitectura deaceleración gráfica XAA mejorada (ingl. XFree86 Acceleration Architecture).

El fichero de configuración es un poco diferente, en comparación a XFree863.3.x., y se encuentra ahora en /etc/X11/XF86Config . Para ajustar el servi-dor X en detalle, se recomienda consultar las explicaciones de la sintaxis delfichero de configuración que se encuentran en la sección Optimar la instalacióndel sistema X Window en la página 42.

Otra mejora es el registro de errores que se encuentra ahora en /var/log/XFree86.0.log . Una característica adicional de esta versión es el soporte deopciones especiales como p. ej. fuentes ”true type” y corrección gamma delmonitor.

Configuración con SaX2

La superficie gráfica suele quedar ya configurada durante la instalación. Pe-ro si quiere mejorarla o por ejemplo conectar otro monitor a un sistema enfuncionamiento, puede hacerlo con este módulo de YaST2. La configuraciónactual quedará almacenada antes de que se realice ninguna modificación.

Después aterrizará en el mismo cuadro de diálogo que en la instalación deSuSE Linux Enterprise Server.

Puede elegir entre ‘Sólo en modo texto’ y la superficie gráfica. Para esta últi-ma se mostrarán los siguientes valores: resolución de pantalla, profundidadde color, frecuencia de repetición, fabricante y modelo del monitor, en caso deque haya sido reconocido automáticamente. Si acaba de instalar el sistema ode acoplar una nueva tarjeta gráfica y la quiere inicializar por primera vez,aparecerá una pequeña ventana que le preguntará si quiere activar acelera-ción 3D para su tarjeta gráfica.

Pulse sobre ‘Cambiar’, tras lo cual arrancará SaX2– la herramienta para confi-gurar dispositivos de entrada y de salida – en una ventana aparte.

35SuSE Linux – Enterprise Server 8

Page 52: Sles Admin Ipseries

SaX2– La ventana principal

En la barra de navegación de la izquierda hay cuatro opciones principales:‘Dispositivos gráficos’, ‘Dispositivos de entrada’, ‘Multihead’ y ‘AccessX’. En‘Dispositivos gráficos’ puede configurar el monitor, la tarjeta gráfica, la pro-fundidad de color y la resolución, así como el tamaño de la imagen. En ‘Dis-positivos de entrada’ puede configurar el teclado y el mouse, así como unmonitor de ”pantalla táctil” (ingl. touchscreen) y una tableta gráfica. En el me-nú ‘Multihead’ puede configurar una estación multimonitor. (see Multiheaden la página 39). Aquí puede establecer el modo de presentación del multi-monitor, así como el orden de las pantallas en su escritorio. ‘AccessX’ es unaútil herramienta para el control del puntero del mouse, con bloqueo de teclasnuméricas para el caso en que trabaje con una computadora sin mouse o esteno funcione. Aquí puede modificar la velocidad del puntero del mouse, cuyomanejo estará controlado por las teclas numéricas.

Introduzca el modelo apropiado para el monitor y la tarjeta gráfica. Por logeneral, el sistema reconocerá la pantalla y la tarjeta gráfica, por lo que noserá necesario introducir ninguna configuración.En caso de que el sistema no reconozca su monitor, aparecerá el diálogo deselección de monitores con una larga lista de fabricantes y modelos, en la quemuy probablemente encontrará el suyo. Si no es así, introduzca manualmen-te los valores que se corresponden con su monitor, o escoja la configuraciónestándar, denominada modo Vesa.

Una vez acabada la configuración del monitor y de la tarjeta gráfica en laventana principal, se le ofrecerá la posibilidad de realizar una comprobaciónde la configuración. De este modo, podrá asegurarse de que la configura-ción escogida funciona sin problemas. Si la imagen que aparece no se queda”quieta”, interrumpa la prueba con la tecla

�� ��Esc y reduzca el valor de la fre-cuencia de repetición de la imagen o la resolución o profundidad de color.Todos los cambios realizados – se haya hecho la prueba o no – se activaráncuando reinicie el sistema gráfico o servidor X. Si utiliza KDE, basta con quesalga y vuelva a entrar en el login.

Dispositivos gráficos

Diríjase a ‘Cambiar configuración’ ➝ ‘Propiedades’; aparecerá una ventanacon tres lengüetas: ‘Monitor’, ‘Frecuencias’ y ‘Avanzado’:

‘Monitor’ – Escoja el fabricante en la parte izquierda de la ventana, yel modelo en la parte derecha. En caso de que tenga un disquete condrivers de Linux para su monitor, utilícelo pulsando sobre ‘Disquete dedrivers’.

36 Configuración con SaX2

Page 53: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

‘Frecuencias’ – Introduzca aquí las frecuencias horizontales y verticalesadecuadas para su monitor. La frecuencia vertical se corresponde con lafrecuencia de repetición de la imagen. Normalmente estos valores vie-nen determinados por el modelo de monitor, por lo que no necesitarácambiar nada.

‘Avanzado’ – Aquí aún puede configurar más opciones para su monitor.En el campo de selección que se encuentra en la parte superior puedeestablecer el método de cálculo de la resolución y de la geometría de lapantalla que se debe utilizar. Realice aquí modificaciones sólo si el mo-nitor ha causado problemas. Más adelante podrá cambiar el tamaño dela imagen y activar el modo de ahorro de energía ”DPMS” que desea.

Tarjeta gráfica

En el diálogo de la tarjeta gráfica aparecen dos lengüetas: ‘General’ y ‘Avan-zado’:

‘General’ – Aquí, al igual que en la configuración del monitor, puedeintroducir a la izquierda el fabricante y a la derecha el modelo de latarjeta gráfica.

‘Avanzado’ – A la derecha puede configurar si quiere torcer la pantallahacia la izquierda o perpendicularmente (sólo tiene sentido para algu-nas pantallas TFT). Las entradas para el BusID sólo tienen relevancia sitrabaja con más de una pantalla. Por lo general no necesita cambiar na-da en este apartado. Especialmente no modifique nada si no conoce elsignificado de las distintas opciones. Si es necesario, lea en la documen-tación de su tarjeta gráfica qué significan las distintas opciones.

AtenciónLa configuración de las tarjetas gráficas, soportada por XFree86 3.3.6,no forma parte de la instalación a partir de SuSE Linux Enterprise Ser-ver 8.1. Los ejemplos típicos son las tarjetas PCI S3 antiguas. En lugarde esto YaST2 configura el framebúfer de aceleración en función dela tarjeta gráfica, o el driver vga color 16 genérico para esa tarjeta. Siesto afecta a su tarjeta gráfica, aún puede configurar XFree86 3.3.6 conayuda de SaX 1. Para ello introduzca el comando sax en la línea decomandos.

Atención

37SuSE Linux – Enterprise Server 8

Page 54: Sles Admin Ipseries

Color y resolución

De nuevo aquí hay tres lengüetas: ‘Color’, ‘Resolución’ y ‘Avanzado’.

‘Color’ – Para elegir la profundidad de color, y en función del hardwareutilizado, dispone de las siguientes opciones: 16, 256, 32768, 65536 y16,7 millones de colores a 4, 8, 15, 16 o 24 bits. Debe elegir al menos256 colores.

‘Resolución’ – Al reconocer el hardware se le pedirá la resolución y sólose le ofrecerán combinaciones de resolución y profundidad de color quesu hardware pueda mostrar sin problemas. De ahí que en SuSE LinuxEnterprise Server se reduzca al mínimo el riesgo de dañar su hardwaredebido a una configuración inadecuada. Si aún así prefiere cambiar laresolución manualmente, infórmese en la documentación de su hardwa-re de los posibles problemas que pueden ocurrir.

‘Avanzado’ – Aquí puede añadir resoluciones a las ofrecidas en la len-güeta anterior, para que se muestren en la selección.

Aceleración 3D

Si en la primera instalación o al acoplar la tarjeta gráfica con su correspon-diente configuración, no tiene activada la aceleración 3D, puede hacerlo aquíen cualquier momento.

Tamaño de la imagen

Aquí puede ajustar en ambas lengüetas el tamaño y la posición de la imagencon ayuda de las flechas (véase fig. 3.1 en la página siguiente). Si trabaja conun entorno multimonitor (ingl. multihead) (más de una pantalla), puede pasaral siguiente monitor con el botón ‘Pantalla siguiente’, para fijar allí el tamañoy la posición correspondientes. Con ‘Grabar’, se guardarán las configuracio-nes realizadas.

AvisoA pesar de los mecanismos de protección implementados, tenga es-pecial cuidado con la entrada manual de las frecuencias. Los valoreserróneos pueden causar daños en su monitor. Introduzca los valoresque aparecen en el manual de su monitor.

Aviso

38 Configuración con SaX2

Page 55: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Figura 3.1: Ajuste de la geometría de la imagen

Multihead

Si tiene más de una tarjeta gráfica en su computadora o posee una tarjetagráfica con varias salidas, entonces puede trabajar con más de una pantallaen su sistema. Si trabaja con dos pantallas, se llamará ”Dualhead”, si trabajacon más de dos ”Multihead”. SaX2 reconoce automáticamente si hay más deuna tarjeta gráfica en su sistema, tras lo que prepara la configuración adecua-da. En el diálogo multihead de SaX puede fijar el modo multihead y el ordende las pantallas. Puede elegir entre tres modos: ‘Tradicional’ (por defecto),‘Cinerama’ y ‘Clonado’:

‘Multihead tradicional’ – Cada monitor es una unidad en sí misma. Só-lo el puntero del mouse puede cambiar de una pantalla a otra.

‘Multihead clonada’ – Este modo es necesario en presentaciones y feriasimportantes y sobre todo muy efectista en pantallas del tamaño de unapared. En este modo cada monitor tiene el mismo contenido y el mousesólo se ve en la ventana principal.

‘Multihead cinerama’ – Todas las pantallas ”se fusionan” en una solapantalla grande, las ventanas de los programas se encuentran en todoslos monitores o tienen un tamaño que ocupa más de un monitor.

Por disposición de un entorno multihead se entiende el orden y las relacionesde comportamiento entre las distintas pantallas. Por defecto SaX2 realiza unadisposición en línea de izquierda a derecha según el orden de las tarjetas grá-ficas reconocidas. En el diálogo ‘Disposición’ de las herramientas multihead

39SuSE Linux – Enterprise Server 8

Page 56: Sles Admin Ipseries

puede determinar el orden de los monitores en su escritorio de forma senci-lla: basta con que mueva los símbolos de pantalla con el mouse y los ordeneen la malla tal y como los desea.

Después de haber cerrado el diálogo de la disposición, puede comprobar lanueva configuración pulsando sobre el botón ‘Test’.

Tenga en cuenta que en la actualidad Linux no ofrece aceleración 3D para unentorno multihead Cinerama. En este caso SaX2 desactivará el soporte 3D.

Dispositivos de entrada

Mouse Si el mouse ya funciona, no tiene que hacer nada. Pero si no funcio-na, puede utilizar en su defecto el bloque numérico del teclado que semuestra en la figura AccessX en la página siguiente.

Si falla el reconocimiento automático, configure aquí el mouse manual-mente. Podrá encontrar una descripción del modelo correspondiente enla documentación del mouse.

Escoja el valor correspondiente de la lista de modelos de mouse so-portados. Después de haber marcado el modelo adecuado, confirme laselección pulsando sobre la tecla

����5 del bloque numérico.

Teclado En el campo de selección de este diálogo puede determinar el tipode teclado que utiliza. Debajo puede escoger el idioma de la distribu-ción del teclado. Finalmente en el campo de prueba puede comprobarsi se ha asumido la disposición lingüística correcta; para ello introduzcasignos especiales del idioma escogido.

Pulse en ‘Aplicar’ para que los cambios tengan efecto.

Pantalla táctil En la actualidad se soportan pantallas táctiles XFree86 de lasmarcas Microtouch y Elographics. En este caso SaX2 puede reconocer elmonitor automáticamente, pero no el lápiz. El lápiz se puede considerarun dispositivo de entrada. Para configurarlo correctamente realice lossiguientes pasos:

1. Arranque SaX2 y entre a ‘Dispositivos de entrada’ ➝ ‘Pantalla tác-til’.

2. Pulse sobre ‘Añadir’ y añada una pantalla táctil.

3. Guarde la configuración pulsando sobre ‘Aplicar’. Se recomiendaque pruebe la configuración.

40 Configuración con SaX2

Page 57: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Las pantallas táctiles disponen de una gran variedad de opciones quese deben calibrar primero en la mayoría de los casos. Para esto, lamen-tablemente en Linux no existe ninguna herramienta adecuada. La con-figuración del tamaño de las pantallas táctiles ya está integrada en losvalores por defecto de la configuración estándar por lo que no deberárealizar ninguna configuración adicional.

Tabletas gráficas En la actualidad XFree86 tan sólo soporta unas pocas table-tas gráficas. Para ello SaX2 ofrece la configuración mediante USB o unpuerto serie. Desde el punto de vista de la configuración, una tabletagráfica es como un mouse, o dicho más generalmente, como un disposi-tivo de entrada. Le recomendamos que proceda de la siguiente manera:

1. Arranque SaX2 y diríjase a ‘Dispositivos de entrada’ ➝ ‘Tabletagráfica’.

2. Pulse sobre ‘Añadir’, escoja el fabricante en el siguiente diálogo yañada la tableta gráfica de la lista ofrecida.

3. A la derecha puede seleccionar si tiene un lápiz conectado.4. Compruebe con una tableta de puerto serie si la conexión es co-

rrecta en todos los dispositivos de entrada: /dev/ttyS0 indica elprimer puerto serie, /dev/ttyS1 el segundo, etc..

5. Guarde la configuración para acabar.

AccessX

Si quiere trabajar sin mouse, active AccessX al arrancar SaX2. De esta forma,podrá controlar los movimientos del puntero del ratón en su pantalla con elbloque de teclas numéricas de su teclado. A continuación se explica el mane-jo:

Button 1 corresponde a la tecla�� ��%

Esta tecla activa el botón izquierdo del mouse

Button 2 corresponde a la tecla�� ��X

Esta tecla activa el botón intermedio del mouse

Button 3 corresponde a la tecla����-

Esta tecla activa el botón derecho del mouse

Click corresponde a la tecla����5

Esta tecla le permite hacer un clic con el botón activado del mouse. Sino hay ningún botón activado, se utilizará el botón izquierdo. La acti-vación de la tecla correspondiente volverá a la configuración predeter-minada una vez realizado el clic.

41SuSE Linux – Enterprise Server 8

Page 58: Sles Admin Ipseries

Double Click corresponde a la tecla�� ��+

Esta tecla tiene el mismo efecto que la tecla����5 con la diferencia de que

ejecuta un doble clic.

Button Lock corresponde a la tecla����0

Esta tecla tiene el mismo efecto que la tecla����5 con la diferencia de que

sólo hace un clic de botón del mouse y lo mantiene.

Button Release corresponde a la tecla�� ��Supr

Esta tecla libera el clic continuado del botón del mouse provocado porla tecla

����0 .

En la imagen: Flecha superior izquierda corresponde a la tecla����7

Esta tecla mueve el mouse hacia la parte superior izquierda.

Flecha hacia arriba corresponde a la tecla����8

Esta tecla mueve el mouse hacia arriba en línea recta.

Flecha superior derecha corresponde a la tecla����9

Esta tecla mueve el mouse hacia la parte superior derecha.

Flecha hacia la izquierda corresponde a la tecla����4

Esta tecla mueve el mouse hacia la izquierda.

Flecha hacia la derecha corresponde a la tecla����6

Esta tecla mueve el mouse hacia la derecha.

Flecha inferior izquierda corresponde a la tecla����1

Esta tecla mueve el mouse hacia la parte inferior izquierda.

Flecha hacia abajo corresponde a la tecla����2

Esta tecla mueve el mouse hacia abajo en línea recta.

Flecha inferior derecha corresponde a la tecla����3

Esta tecla mueve el mouse hacia la parte inferior derecha.

Con el regulador de movimiento puede determinar la rapidez con la que sedebe mover el puntero del mouse al activar la tecla correspondiente.

Optimar la instalación del sistema X Window

A continuación se presenta la sintaxis del fichero de configuración /etc/X11/XF86Config . El fichero se divide en secciones que comienzan con la

42 Optimar la instalación del sistema X Window

Page 59: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

palabra clave Section "nombre" y terminan con EndSection. Estas secciones seexplican a grandes rasgos en este apartado.

Además se explica cómo añadir fuentes adicionales, cómo configurar los dis-positivos de entrada y cómo realizar la aceleración 3D. Todas estas configura-ciones se realizan en determinadas secciones dentro de XF86Config . Añadiruna fuente adicional requiere la ayuda de programas externos que están in-cluidos en SuSE Linux Enterprise Server y que forman parte de la instalaciónpor defecto. Los procedimientos que se detallan aquí demuestran las capaci-dades principales, sin pretender ser exhaustivos pero que en cambio sirvande ejemplo.

Los programas SaX2 y xf86config (para XFree86 4.x) generan el fichero XF86Config y lo copian generalmente en el directorio /etc/X11 . Este es el fiche-ro de configuración principal del X Window System que contiene las defini-ciones de mouse, monitor y tarjeta de vídeo.

XF86Config se compone de varios párrafos llamados ”secciones” (ingl. sec-tions) y cada una contempla un determinado aspecto de la configuración. Ca-da sección tiene la forma:

Section 〈Denominador de sección 〉definición 1definición 2definición n

EndSection

Existen los siguientes tipos de secciones:

Files Esta sección describe los path (las ramas) para los juegos decaracteres y la tabla de colores RGB.

ServerFlags Aquí se apuntan indicadores generales (ingl. flags).InputDevice Esta es la sección de configuración de los dispositivos de

entrada. En comparación a XFree86 3.3 se configuran te-clados y mouses así como dispositivos especiales comoJoysticks, tabletas digitalizadoras, etc. Las variables impor-tantes aquí son Driver y las opciones Protocol y Devicepara determinar el protocolo y el dispositivo.

Cuadro 3.1: Continúa en la página siguiente. . .

43SuSE Linux – Enterprise Server 8

Page 60: Sles Admin Ipseries

Monitor Descripción del monitor usado. Los elementos de esta sec-ción son un nombre, que sirve más adelante de referenciaen la definición del Screen, así como el valor de la anchu-ra de banda (Bandwidth [MHz]) y de las frecuencias desincronización permitidas (HorizSync [kHz] y VertRefresh[Hz]). El servidor ”rechaza” cualquier Modeline que nocumple con la especificación del monitor; de esta forma seevita enviar al monitor frecuencias demasiado altas cuandose están manipulando los Modelines.

Modes Aquí se definen los parámetros para las determinadas reso-luciones de pantalla. SaX2 calcula estos parámetros en basea las indicaciones por parte del usuario y por lo generalno se requiere ninguna modificación. Se puede realizar unaintervención manual p. ej. en caso de usar un monitor confrecuencia fija. La explicación exacta de todos los paráme-tros se encuentra en el fichero HOWTO /usr/share/doc/howto/en/XFree86-Video-Timings-HOWTO.gz , ya quepara este libro resultaría demasiado extenso.

Device Esta sección define una determinada tarjeta gráfica cuya re-ferencia es el nombre que aparece por detrás de la palabraclave Device.

Screen Esta sección une finalmente un Driver con un Device pa-ra formar así las indicaciones necesarias para XFree86. Lasub-sección Display permite la definición de un tamañode pantalla virtual (Virtual), del ViewPort y de los Modesusados con este Screen.

ServerLayout Esta sección define el diseño de una configuración con unoo varios monitores (”single” o ”multihead”). Los dispositi-vos de entrada InputDevice y los monitores Screen se unenpara formar un conjunto.

Cuadro 3.1: Secciones (”sections”) en /etc/X11/XF86Config

A continuación se contemplan más de cerca las secciones Monitor, Device yScreen. En la página del manual de XF86Config (man XF86Config ) y enla página del manual de XF86Config (man XF86Config ) hay más informa-ción sobre las demás secciones.

En el fichero XF86Config pueden aparecer varias secciones de los tipos Mo-nitor y Device. También se pueden usar varias secciones Screen dependiendosu uso de la siguiente sección ServerLayout.

44 Optimar la instalación del sistema X Window

Page 61: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Screen-Section

Primero queremos tratar de cerca la sección de Screen. Esta une una secciónde Monitor y de Device y determina qué resolución es proporcional con quéprofundidad de color.

Una sección del tipo Screen puede parecerse p. ej. a la del fichero 1.

Section "Screen"DefaultDepth 16SubSection "Display"

Depth 16Modes "1152x864" "1024x768" "800x600"Virtual 1152x864

EndSubSectionSubSection "Display"

Depth 24Modes "1280x1024"

EndSubSectionSubSection "Display"

Depth 32Modes "640x480"

EndSubSectionSubSection "Display"

Depth 8Modes "1280x1024"

EndSubSectionDevice "Device[0]"Identifier "Screen[0]"Monitor "Monitor[0]"

EndSection

Fichero 1: La sección Screen del fichero /etc/X11/XF86Config

La línea Identifier (en este ejemplo el identificador es Screen[0]) da un nom-bre único a la sección para poder referenciar esta sección de forma inequívocaen la siguiente sección ServerLayout.

La tarjeta gráfica y el monitor definido se asignan mediante las líneas Devicey Monitor a la pantalla Screen. No son más que referencias a las secciones dedispositivo (Device) y Monitor con los nombres correspondientes o identifica-dores ”Identifier”. Estas secciones se explican más adelante.

La variable DefaultColorDepth indica la profundidad de color por defectoque usa el servidor cuando arranca sin definición explícita de ella. Para cadaprofundidad de color prosigue una subsección de Display. La profundidadde color de cada subsección se define por la palabra clave Depth. Los valoresposibles para Depth son 8, 16, 24 y 32 bpp. No todos los módulos de ser-vidor X soportan todos los valores y, 24 y 32 dan como resultado la misma

45SuSE Linux – Enterprise Server 8

Page 62: Sles Admin Ipseries

profundidad de color. 24bpp representa el modo ”packed-pixel” y 32bpp elmodo ”padded-pixel”.

Después de definir la profundidad de color se define con Modes una lista deresoluciones; el servidor X pasa por esta lista de izquierda a derecha. Paracada una de las resoluciones listadas, el servidor busca en la sección Modesun Modeline que corresponda a las capacidades gráficas del monitor y de latarjeta gráfica.

La primera resolución adecuada en este sentido es la que usa el servidor Xpara arrancar el ”Default-Mode”. Con las teclas

�� ��Control +�� ��Alt +

�� ��gris + sepuede ir en la lista de resoluciones a la derecha y con

�� ��Control +�� ��Alt +

�� ��gris -

a la izquierda2. Así se puede modificar la resolución en pantalla durante eltiempo de ejecución del sistema X Window.

Las última línea de la subsección Display con la expresión Depth 16 se refie-re al tamaño de la pantalla virtual . El tamaño máximo de la pantalla virtualdepende de la cantidad de memoria instalada y de la profundidad de colordeseada pero no depende de la resolución máxima del monitor. Como las tar-jetas gráficas modernas ofrecen mucha memoria, se pueden crear escritoriosvirtuales muy grandes. En tal caso es posible que ya no se pueda aprovecharla aceleración 3D, por haber ocupado toda la memoria de vídeo con un escri-torio virtual. Si la tarjeta tiene p. ej. 16 MB Vídeo RAM, entonces la pantallavirtual puede ser de hasta 4096x4096(!) puntos a una profundidad de color de8 Bit. Para los servidores X acelerados no se recomienda de ninguna manerausar todo el espacio de memoria disponible para la pantalla virtual, ya queestos servidores usan la zona de memoria no usada de la tarjeta para diferen-tes cachés de juegos de caracteres y de zonas de gráficos.

Device-Section

Una sección de dispositivo (ingl. Device-Section), describe una determinadatarjeta gráfica. Puede existir una cantidad infinita de secciones de dispositivoen XF86Config mientras que sus nombres, indicados con la palabra claveIdentifier, se distingan. Si hay varias tarjetas gráficas montadas en la máqui-na, estas secciones reciben números consecutivos comenzando con Device[0]para la primera, Device[1] para la segunda, etc. El siguiente fichero muestrael extracto de una sección del tipo Device de una computadora con una tarje-ta PCI tipo Matrox Millennium:

2”Gris” indica aquí que se trata de teclas del bloque numérico, ya que éstas se resaltan aveces en color gris.

46 Optimar la instalación del sistema X Window

Page 63: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Section "Device"BoardName "MGA2064W"BusID "0:19:0"Driver "mga"Identifier "Device[0]"VendorName "Matrox"Option "sw_cursor"

EndSection

La apariencia de la sección Device debería ser semejante a la que se reflejaarriba, en caso de usar SaX2 para la configuración. SaX2 determina Driver yBusID que dependen del hardware usado por la máquina a configurar. BusIDdetermina la posición que ocupa la tarjeta gráfica en el bus PCI o AGP y esequivalente al número que lspci indica. ¡Hay que tener en cuenta que el ser-vidor X usa valores decimales mientras que los de lspci con hexadecimales!

El parámetro Driver determina el controlador para la tarjeta gráfica quepara el caso de la Matrox Millennium es mga. El servidor X busca el con-trolador en el subdirectorio drivers de la rama ModulePath definidoen el apartado Files. La rama completa para una instalación estándar es/usr/X11R6/lib/modules/drivers . El nombre completo del controladorse obtiene añadiendo _drv.o al identificador corto, lo que resulta en nuestroejemplo en mga_drv.o.

Existen opciones adicionales para activar ciertas características del servi-dor X y de su controlador. En este caso se ha usado como ejemplo la op-ción sw_cursor que desactiva el cursor hecho por hardware para emularlomediante software. Según el controlador usado, hay diferentes opciones quese explican junto con los controladores en el directorio /usr/X11R6/lib/X11/doc . Hay opciones generales en la página del manual de XF86Config(man XF86Config ) y la página del manual de XFree86 (man XFree86 ).

Sección Monitor

Las secciones Monitor, tal como las de Device, describen un monitor por cadasección y puede haber una cantidad infinita de estas secciones en el ficherode configuración /etc/X11 /XF86Config . En la sección de ServerLayout sedetermina qué sección de monitor vale a efectos de la configuración.

Solo usuarios muy experimentados deberían generar o ajustar una secciónde Monitor (y sobre todo la de Modes) al igual que una sección de tarjetagráfica. Una parte fundamental de la sección Modes son los ”Modelines” queindican las sincronizaciones (ingl. timings) horizontales y verticales para cadaresolución. La sección Monitor contiene las características del monitor y entreellas sobre todo las frecuencias de refresco máximas.

47SuSE Linux – Enterprise Server 8

Page 64: Sles Admin Ipseries

Aviso¡Sin un buen conocimiento de la función de monitor y de tarjeta grá-fica no se debería cambiar ningún valor de los Modelines, ya que estopodría provocar la destrucción del monitor!

Aviso

Si realmente se atreve a hacer sus propias configuraciones de monitor, debe-ría leer antes la documentación en /usr/X11/lib/X11/doc . Se recomiendaespecialmente la lectura de [FCR93] que explica detalladamente la función delhardware y la definición de los Modelines.

Por fortuna hoy en día, casi nunca hace falta generar Modelines o definicio-nes de monitores ”a mano”. Usando un monitor de multifrecuencia moderno,SaX2 puede leer vía DDC los rangos de frecuencia admitidas y las resolucio-nes óptimas, directamente desde el monitor. Si esto no fuera posible, siemprese puede recurrir a uno de los modos VESA del servidor X que funcionanprácticamente con todas las combinaciones posibles de monitor y de tarjetagráfica.

Incorporar fuentes (TrueType) adicionales

Junto con la instalación normal de un servidor X11R6, se instala una ciertacantidad de fuentes que se encuentran dentro del directorio /usr/X11R6/lib/X11/fonts ordenadas de forma lógica en sub-directorios. El servidor Xsolo tiene en cuenta un sub-directorio si se cumple que:

está apuntado como FontPath en el apartado Files del fichero /etc/X11/XF86Config .

contiene un fichero fonts.dir válido.

no fue dado de baja durante la ejecución del servidor X mediante elcomando xset −fp.

fue dado de alta durante la ejecución del servidor X mediante el co-mando xset +fp.

Aparte del formato propio Type1 (un formato de PostScript) y de pcf parafuentes de bitmap escalables, con la versión 4.0 XFree86 maneja también elnuevo formato ttf (ingl. true type font). Tal y como se describe en la sección Laversión 4.x de XFree86 en la página 34, estas fuentes se soportan como siem-pre mediante módulos que carga el servidor X. Para usar las fuentes TrueTy-pe ya no hacen falta muchos preparativos.

48 Optimar la instalación del sistema X Window

Page 65: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Aparte de la buena escalabilidad, la gran ventaja de la mayoría de las fuentesTrueType es el gran abanico de caracteres incluidos que supera ampliamentelos normales 255 caracteres del juego de caracteres ”iso-8859-1” para Europaoccidental. En consecuencia se puede trabajar sin problemas en cirílico, griegoo en otros idiomas de Europa oriental. Con software adicional incluso funcio-nan las lenguas asiáticas.

La presente explicación contempla sobre todo el uso de juegos se caracteresde 8 bit. Sin embargo también queda la posibilidad de introducir caracteresde un idioma asiático (japonés, chino) usando unos editores especiales queforman parte de SuSE Linux Enterprise Server.

Los juegos de caracteres de 8 bit están formados por 256 caracteres, amplian-do así el juego ASCII que se restringe a los primeros 128 caracteres. De estaforma cada letra ocupa 8 bit en la memoria. Los 128 caracteres adicionales deljuego ampliado no son suficiente para representar todos los caracteres espe-ciales p. ej. de todos los idiomas europeos. Por tanto los idiomas están agru-pados y se representan con una determinada abreviación que corresponde ala norma aplicada p. ej. ”iso-8859-x”. ‘x’ es una cifra entre 1 y 15. La asig-nación exacta de los caracteres p. ej. en el juego de iso-8859-1 respectivamen-te iso-8859-15 se puede encontrar en la página del manual de iso-8859-1(man iso-8859-1 ) respectivamente página del manual de iso-8859-15(man iso-8859-15 ).

Algunos códigos de los juegos de caracteres se encuentran en la tabla 3.2,otros se encuentran en la página del manual mencionada.

Juego decaracteres

Región, idiomas incluidos

iso-8859-1 Idiomas de Europa occidental: Español, Alemán, Francés,Sueco, Finlandés, Danés etc.; para Finlandés y Francésahora es más adecuado iso-8859-15

iso-8859-2 Centro-europeo y este: Húngaro, Checo, Rumano, Polaco,Alemán, etc.

iso-8859-5 Caracteres del cirílico para el Rusoiso-8859-7 Caracteres para el Griegoiso-8859-9 Caracteres para el Turcoiso-8859-15 Igual a iso-8859-1, pero con caracteres para el Turco y el

carácter para el Euro.

Cuadro 3.2: Códigos de juegos de caracteres importantes

49SuSE Linux – Enterprise Server 8

Page 66: Sles Admin Ipseries

El usuario tiene que seleccionar la codificación de acuerdo al idioma usado.Transfiriendo texto entre diferentes computadoras, este se ha de transferirjunto con su codificación. La ventaja de este sistema es la sencilla implemen-tación del soporte de los caracteres especiales. Una vez seleccionada la codi-ficación correcta, todos los programas (o casi todos) pueden visualizar estoscaracteres, ya que la gran mayoría trabaja con un valor de 8 bit (un byte) pa-ra cada letra. Por otra parte los caracteres especiales se muestran mal, cuandola codificación seleccionada no es la adecuada. Para la mayoría de los pro-gramas del sistema X Window y del entorno KDE se puede seleccionar lacodificación del juego de caracteres; esto se realiza normalmente junto con laconfiguración del tipo de caracteres (p. ej. Helvética, Courier, Times, etc). Losprogramas del entorno gráfico denominan la codificación normalmente comoEncoding.

La desventaja de esta solución es la imposibilidad de representar en pantallaciertas combinaciones de idiomas. Sin tomar medidas adicionales no es posi-ble p. ej. mencionar nombre propios en Cirílico dentro de un texto en Caste-llano.

Las solución a este dilema pasa por Unicode que codifica los caracteres me-diante 2 o más bytes, por lo que se puede trabajar con muchos más caracteresal mismo tiempo. Solo gracias a Unicode es posible trabajar con idiomas asiá-ticos que tienen mucho más que 127 caracteres como p. ej. Chino, Japonés oCoreano. La desventaja es que la mayor parte del software no está preparadapara procesar estas letras y solo mediante software especial es posible leer oescribir letras en Unicode. Hay información adicional sobre el uso de Unicodebajo Linux en http://www.unicode.org . Es de suponer que con el tiempoel soporte de Unicode vaya creciendo; SuSE Linux Enterprise Server ya incor-pora el programa yudit para introducir letras en Unicode. Este programa seencuentra en el paquete yudit , serie xap y, una vez hecha la instalación, enel menú de SuSE bajo Business/Office y Editores.

Después de esta introducción general, se presenta una descripción detalla-da de la instalación de fuentes adicionales, tomando como ejemplo fuentesTrueType.

Averigüe dónde se encuentran las fuentes a instalar en el sistema X Window.Si su sistema incorpora fuentes con licencia especial resulta sencillo de usar,sólo necesita montar la partición con las fuentes.

Si no existe cree un directorio para las fuentes y entre a éste. En SuSE LinuxEnterprise Server este directorio ya existe y se denomina /usr/X11R6/lib/X11/fonts/truetype ; las fuentes se han de copiar en este sitio.

tierra:/root # cd /usr/X11R6/lib/X11/fonts/truetype

50 Optimar la instalación del sistema X Window

Page 67: Sles Admin Ipseries

3Elsiste

ma

XW

ind

ow

Como próximo paso hay que crear enlaces a los ficheros ttf y al directo-rio de las fuentes. Para fuentes TrueType se necesita un programa especialllamado ttmkfdir (paquete ttmkfdir , serie xap ), para generar el ficherofonts.dir . Las fuentes tradicionales del sistema X Window se dan de al-ta exclusivamente con el comando mkfontdir . En el siguiente comando sereemplaza /directorio/de/las/fuentes con el directorio que realmentecontiene las fuentes:

tierra:/usr/X11R6/lib/X11/fonts/truetype #ln -s 〈/directorio/de/las/fuentes 〉/*.ttf .

tierra:/usr/X11R6/lib/X11/fonts/truetype #ttmkfdir | sed s/ˆ[0-9]*// >fonts.scale.myfonts

tierra:/usr/X11R6/lib/X11/fonts/truetype #/sbin/conf.d/SuSEconfig.fonts

Para dar de alta las fuentes cuando el servidor X ya está en ejecución, use elcomando:

tierra:~ # xset +fp /usr/X11R6/lib/X11/fonts/truetype

TrucoEl comando xset accede al servidor X mediante el protocolo X, porlo que debe tener derechos de acceso al servidor en ejecución. Este seconsigue p. ej., cuando tux es idéntico al usuario que ha iniciado elservidor X. Hay más información en la página del manual de xauth(man xauth ).

Truco

Para configurar las fuentes de forma permanente se recomienda incorporarel directorio de las mismas al fichero XF86Config . Es posible utilizar SaX2para llevar a cabo esta acción. Para modificar el directorio de las fuentes, es-coja el modo de configuración ‘Custom’ de SaX2. Para añadir un directoriode fuentes hay que seleccionar ‘Add’ dentro del diálogo ‘Directorio fuentes’.

Para comprobar si las fuentes fueron configuradas correctamente se puedeusar el programa xlsfonts. Si está todo correctamente configurado, éstas apa-recen en una lista que debe incluir la fuente TrueType recién instalada. Otraposibilidad es usar el gestor de fuentes de KDE que muestra las fuentes ins-taladas junto con un ejemplo de texto. Se arranca desde el centro de controlde KDE.

tierra:~ # xlsfonts

51SuSE Linux – Enterprise Server 8

Page 68: Sles Admin Ipseries

Todos los programas del sistema X Window pueden usar ahora las fuentesque se hayan configurado de esta forma.

52 Optimar la instalación del sistema X Window

Page 69: Sles Admin Ipseries

4Im

pre

sora

s

Impresoras

El presente capítulo ofrece información detallada sobre el trabajo con impre-soras. Los ejemplos adicionales posibilitan una comprensión más profundadel entorno de impresión. Le serán de ayuda para encontrar la solución a dis-tintos problemas, así como a reconocer rápidamente diagnósticos inadecuadosde los problemas que se puedan presentar.

Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . 54Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Instalar una impresora con YaST2 . . . . . . . . . . . . . . 61Configuración para aplicaciones . . . . . . . . . . . . . . . 69Configuración manual de puertos locales . . . . . . . . . . 70Configuración manual de LPRng/lpdfilter . . . . . . . . . 77El gestor de impresión LPRng/lpdfilter . . . . . . . . . . . 77Herramientas de línea de comandos para LPRng . . . . . 78El filtro de impresión del sistema LPRng/lpdfilter . . . . . 83Filtros de impresión autodefinidos para LPRng

Gestor de impresión . . . . . . . . . . . . . . . . . . . 93El sistema de impresión CUPS . . . . . . . . . . . . . . . . 98Herramientas de línea de comandos para sistemas de

impresión CUPS . . . . . . . . . . . . . . . . . . . . . 104Algo sobre Ghostscript . . . . . . . . . . . . . . . . . . . . 109Algo sobre a2ps . . . . . . . . . . . . . . . . . . . . . . . . 113Modificar el formato PostScript con psutils . . . . . . . . . 115Codificación de texto ASCII . . . . . . . . . . . . . . . . . 120Imprimir en una red TCP/IP . . . . . . . . . . . . . . . . . 122

Page 70: Sles Admin Ipseries

Fundamentos

En Linux las impresoras funcionan mediante colas de impresión.

Los datos a imprimir se envían a una cola de impresión que los almacenahasta que esta los reenvía posteriormente a la impresora a través del ”spoo-ler” de impresión.

La mayoría de las veces los datos a imprimir no se encuentran en la formaadecuada para enviarlos a la impresora. Así por ejemplo un gráfico debe serantes generalmente convertido a otro formato que la impresora pueda uti-lizar. Esta conversión al ”lenguaje de impresión” se realiza mediante el ”fil-tro de impresión”, que el spooler conecta para que los datos a imprimir seanconvertidos y la impresora pueda imprimirlos directamente.

Truco

Impresión con SuSE Linux Enterprise ServerEste capítulo describe la configuración y utilización de impresorasen todas las plataformas de SuSE Linux Enterprise Server. Tenga encuenta que es posible que algunas característica s (especialmente lasrelacionadas con el hardware) no estén presentes para su equipo.

Truco

Ejemplos de lenguajes de impresión estándar

Texto ASCII Al menos, la mayoría de las impresoras pueden imprimir di-rectamente texto ASCII. Las pocas excepciones que existen entiendenalguno de los siguientes lenguajes de impresión.

PostScript PostScript es el lenguaje de impresión estándar utilizado paratareas de impresión en Unix/Linux, las cuales pueden ser imprimidaspor las impresoras PostScript directamente. Este tipo de impresoras sonrelativamente caras, ya que PostScript es un complejo y poderoso len-guaje que exige un alto rendimiento por parte de la computadora a lahora de imprimir. Además la licencia provoca costes adicionales.

PCL3, PCL4, PCL5e, PCL6, ESC/P , ESC/P2 o ESC/P Raster Si no hay unaimpresora PostScript conectada, el filtro de impresión utiliza el progra-ma Ghostscript para convertir los datos en uno de los otros lenguajesde impresión estándar. Para ello se debe utilizar un driver Ghostscriptadecuado para el modelo de impresora de que se trate, con el fin depoder tener en cuenta las particularidades específicas de cada modelo(p.ej. opciones de color).

54 Fundamentos

Page 71: Sles Admin Ipseries

4Im

pre

sora

s

Procedimiento de las tareas de impresión

1. El usuario o un programa en uso lanza una tarea de impresión..

2. Los datos a imprimir se guardan en la cola de impresión. El spooler deimpresión pasa los datos desde ahí al filtro de impresión correspondien-te.

3. El filtro de impresión realiza por lo general lo siguiente:

a) Se identifica el tipo de datos que se deben imprimir.

b) Si no se trata de datos PostScript, se transforman en datos de estelenguaje estándar. En especial, el programa a2ps transforma eltexto ASCII en lenguaje PostScript.

c) Los datos PostScript se convierten a otro lenguaje que la impresorapueda entender.

Si se trata de una impresora PostScript, se envían los datosPostScript directamente a la impresora.Si no se trata de una impresora PostScript, el programaGhostscript emplea un driver que se acomoda al lenguaje deimpresión del modelo de impresora utilizado para transformarlos datos PostScript en datos escritos en el lenguaje de impre-sión correspondiente, que luego enviará a la impresora.

4. Una vez que la orden de impresión ha sido enviada en su totalidad a laimpresora, desaparece de la cola de impresión.

Distintos sistemas de impresión

SuSE Linux Enterprise Server soporta dos tipos de sistemas de impresión:

LPRng/lpdfilter Este es un sistema tradicional compuesto de un spooler deimpresión ”LPRng” y de un filtro de impresión ”filtro lpd”. En siste-mas tradicionales, el administrador del sistema establece toda la con-figuración de una cola de impresión y el usuario sólo puede escogerentre distintas colas. Para elegir una determinada configuración, debenfijarse varias colas de impresión con distintas configuraciones para lamisma impresora. En impresoras de blanco y negro (p. ej. la mayoríade las impresoras láser) basta con una configuración estándar, pero conlas modernas impresoras a chorro de tinta en color es necesario reali-zar distintas configuraciones para imprimir en blanco y negro, en color,en color a gran resolución o con calidad fotográfica. Mediante este tipo

55SuSE Linux – Enterprise Server 8

Page 72: Sles Admin Ipseries

de configuraciones se garantiza automáticamente que sólo se utilizaránaquellas configuraciones que el administrador del sistema ha realizado.Por otro lado, ya que el usuario no puede realizar configuraciones indi-viduales, el administrador del sistema debe configurar muchas colas deimpresión, para poder aprovechar todas las posibilidades que ofrecenlas impresoras actuales y ponerlas a disposición de los usuarios,

CUPS Con el sistema CUPS, el usuario tiene la posibilidad de establecer pa-ra cada impresión unas propiedades específicas de impresión, puestoque no queda fijada toda la configuración de una cola por el adminis-trador del sistema. Las distintas posibilidades de configuración se en-cuentran en un ”archivo PPD” (ingl. ()PostScript Printer Description)en la cola de impresión, que se le presenta al usuario en una ventanade diálogo. Normalmente en el fichero PPD se encuentran todas las po-sibilidades que ofrece la impresora, pero el administrador del sistemapuede modificar este fichero y limitar estas posibilidades.

Puesto que hay coincidencias en los ficheros de configuración, en circunstan-cias normales sólo se puede instalar uno de los dos sistemas de impresión,pero con YaST2 se puede cambiar de un sistema a otro (ver sección Instalaruna impresora con YaST2 en la página 61).

Indicaciones generales para problemas de impresión

La documentación incluye la mayor parte de las preguntas generales y susposibles respuestas.

Para muchos casos especiales puede encontrarse una solución en el banco dedatos de soporte.

Para problemas de impresión los siguientes artículos del banco de datos desoporte son un buen punto de partida: Instalando una impresora y Printer Con-figuration with SuSE Linux 8.0:http://sdb.suse.de/es/sdb/html/jsmeix_print-einrichten.htmlhttp://sdb.suse.de/en/sdb/html/jsmeix_print-einrichten-80.htmlPuede encontrar el banco de datos de soporte en la ayuda del sistema SuSE ola versión actual online en http://sdb.suse.de/es/sdb/html/

Los problemas más importantes de cada versión se encuentran recogidos enun artículo:Known Problems and Special Features in SuSE Linux 8.0http://sdb.suse.de/en/sdb/html/bugs80.html

56 Fundamentos

Page 73: Sles Admin Ipseries

4Im

pre

sora

s

Si se encuentra perdido tanto en la documentación como en la base de datosde soporte, estamos encantados de ayudarle mediante los Servicios de Sopor-te de SuSE: http://www.suse.de/de/services/support/index.html

Requisitos

Requisitos generales

SuSE Linux Enterprise Server debe soportar la impresora; véase las si-guientes fuentes de información.

Banco de datos de impresoras de SuSE – http://cdb.suse.deo http://hardwaredb.suse.de/ Los drivers Ghostscript in-dicados aquí se corresponden con los que aparecen listados en laconfiguración de impresoras de YaST2.

Banco de datos de impresoras de Linuxprinting.org – http://www.linuxprinting.org/ → ‘The Database’ (http://www.linuxprinting.org/database.html ) ohttp://www.linuxprinting.org/printer_list.cgi

Ghostscript – http://www.cs.wisc.edu/~ghost/

Drivers Ghostscript en SuSE Linux Enterprise Server – file:/usr/share/doc/packages/ghostscript/catalog.devices Aquípuede encontrar una lista de drivers Ghostscript que de hechoacompañan a la versión actual de SuSE Linux Enterprise Server.Esto es importante ya que a veces en WWW se menciona un dri-ver Ghostscript que necesita la versión actual ”Aladdin Ghosts-cript”. Por motivos de licencias, en SuSE Linux Enterprise Serverse incluyen ”Ghostscript GNU”. Pero por lo general, habrá un dri-ver Ghostscript que funcione con la impresora.

Es posible comunicarse con la impresora; véase sección Configuraciónmanual de puertos locales en la página 70 o Configuración manual en lapágina 65.

Utilice un kernel original de SuSE sacado de los CD-ROMs, en especialkernels que no haya compilado Vd. mismo. Si existen problemas instaleun kernel original de SuSE y arranque de nuevo.

Le recomendamos que realice la instalación del ‘sistema estándar’ conYaST2, para que todos los paquetes necesarios estén disponibles. Si en

57SuSE Linux – Enterprise Server 8

Page 74: Sles Admin Ipseries

la instalación del sistema estándar no ha cambiado la selección prede-terminada de paquetes, está todo en regla. En caso contrario, instale almenos el ‘(’sistema estándar). Los ‘(’sistemas mínimos) son demasiadopequeños para imprimir.

Determinar el driver de impresión correcto

No es necesario ningún driver de impresión especial para una impresoraPostScript.

Para impresoras que no soporten PostScript un driver Ghostscript se encar-gará de crear los datos específicos para esa impresora. Por tanto los driversGhostscript son el punto decisivo en el que se determina el tipo de impresiónde impresoras que no soporten PostScript. Los datos impresos vienen enton-ces determinados por las configuraciones específicas del driver Ghostscriptseleccionado.

Las listas del apartado Requisitos generales en la página anterior indican tam-bién los drivers de Ghostscript específicos de determinados modelos de im-presoras.

Pregunte al fabricante de la impresora el lenguaje de impresión que su mode-lo de impresora entiende o con qué modelo del banco de datos de impresorases compatible su impresora (véase más abajo). En especial, cuando se trata demodelos nuevos, el fabricante puede probar fácilmente si funciona con Linux.

Si tampoco el fabricante puede dar información sobre el uso de la impresoraen combinación con Linux, puede que le ayuden las siguientes pistas:

Averigüe si su impresora es compatible con un modelo que funcionecon Linux y utilice entonces el driver de Ghostscript del modelo com-patible.

Ser compatible con Linux significa que su impresora puede imprimircorrectamente la misma secuencia binaria que el modelo compatible,ambas impresoras ”entienden” directamente el mismo lenguaje de im-presión, sin necesidad de usar un driver o un programa de emulación(p. ej. de otro sistema operativo).

Las impresoras con descripciones parecidas no son necesariamente com-patibles, ya que no siempre entienden de forma directa el mismo len-guaje de impresión.

La forma más segura de averiguar el lenguaje de la impresora es con-sultar al fabricante. Esta información se encuentra generalmente tam-bién en el manual que acompaña a la impresora.

58 Requisitos

Page 75: Sles Admin Ipseries

4Im

pre

sora

s

PCL5e o PCL6 – Las impresoras que entienden directamente PCL5e oPCL6 deberían funcionar con un driver Ghostscript ljet4 a 600x600dpi. A menudo también se indica PCL5e como PCL5.

PCL4 o PCL5 – Las impresoras que entienden directamente PCL4 oPCL5, deberían funcionar con un driver Ghostscript laserjet, ljet-plus, ljet2p o ljet3, pero están limitadas a 300x300 dpi.

PCL3 Las impresoras que entienden PCL3 directamente deberían fun-cionar con un driver Ghostscript deskjet, hpdj, pcl3, cdjmono,cdj500 o cdj550.

ESC/P2, ESC/P o ESC/P Raster Las impresoras que entienden direc-tamente ESC/P2, ESC/P o ESC/P Raster deberían funcionar conun driver Ghostscript stcolor o con uniprint junto con el uso deladecuado fichero de parámetros *.upp (p. ej.stcany.upp).

La problemática de las impresoras GDI

Puesto que normalmente los fabricantes de hardware no desarrollan driversde impresoras para Linux, se recomienda que la impresora a instalar entiendauno de los lenguajes de impresión más conocidos como PostScript, PCL oESC/P.

Las impresoras normales entienden al menos uno de los lenguajes de impre-sión más conocidos. Pero hay fabricantes que desarrollan impresoras con lasque sólo es posible comunicarse con la versión específica del sistema opera-tivo para la que el fabricante proporciona el driver; a estas impresoras se lasdenomina ”impresoras ODI”. Puesto que tales impresoras no siguen normasestándar, a menudo se producen dificultades cuando se las quiere utilizar conLinux.

GDI es una interfaz desarrollada por Microsoft para la representación grá-fica. El problema no es este en sí mismo, sino que sólo se pueda hablar a lallamada impresora GDI utilizando el lenguaje de impresión propietario delcorrespondiente modelo de impresora. En realidad sería más correcto decir: laimpresora, a la que sólo es posible hablar utilizando un lenguaje de impresiónpropietario.

Pero hay impresoras que, además del modo GDI, entienden un lenguaje deprogramación estándar, para el cual hay que encender o apagar la impresoraconvenientemente. Si junto a Linux utiliza otro sistema operativo, puede queel driver de impresión del otro sistema operativo haya puesto la impresoraen modo GDI, con lo que esta no funcionaría después con Linux. O vuelve aponer la impresora en el otro sistema operativo en modo estándar, o la utiliza

59SuSE Linux – Enterprise Server 8

Page 76: Sles Admin Ipseries

solamente en modo estándar también en el otro sistema operativo, aunquepueda ocurrir a menudo que existen menos posibilidades de impresión a sudisposición (p. ej.una menor resolución).

De un tipo especial son las impresoras que sólo entienden partes rudimen-tarias de un lenguaje de impresión estándar, como pueden ser los comandosnecesarios para la impresión de datos gráficos. A veces tales impresoras pue-den utilizarse normalmente, ya que por lo general los drivers Ghostscript só-lo utilizan los comandos para la impresión de datos gráficos. Puede ocurrirentonces que no se pueda enviar texto ASCII directamente a la impresora, pe-ro Ghostscript suele estar siempre disponible. Especialmente problemáticasson las impresoras que deben ser adaptadas mediante secuencias especiales.Aquí no se puede utilizar ningún driver Ghostscript normal, sino que se ne-cesita un driver especial que realice esta adaptación.

Existen drivers específicos del fabricante para algunas impresoras GDI. Ladesventaja de estos drivers en Linux para impresoras GDI consiste en que nose puede garantizar que funcionen con las distintas versiones (futuras) deLinux.

Las impresoras, que entienden un lenguaje de impresión estándar y sacado ala luz, no dependen ni de un sistema operativo determinado ni de una ver-sión especial de un sistema operativo, y los drivers Linux específicos del fa-bricante para tales impresoras a menudo ofrecen los mejores resultados deimpresión.

En SuSE Linux Enterprise Server se soportan las siguientes impresoras GDIa través de la configuración de impresoras con YaST2, pero puesto que estasimpresoras siempre dan problemas, puede que algún modelo no funcione oque existan grandes restricciones como, p. ej. que sólo se pueda imprimir enblanco y negro y con baja resolución. Tenga en cuenta que no podemos ga-rantizar la fiabilidad de esta información puesto que no probamos los driversde impresoras GDI (no compramos este tipo de impresoras).

Brother HL 720/730/820/1020/1040, MFC 4650/6550MC/9050 y loscorrespondientes modelos compatibles.

HP DeskJet 710/712/720/722/820/1000 y los correspondientes modeloscompatibles.

Lexmark 1000/1020/1100/2030/2050/2070/3200/5000/5700/7000/7200,Z11/42/43/51/52 y los correspondientes modelos compatible. Pue-de encontrar drivers para Linux en http://www.lexmark.com/printers/linuxprinters.html

60 Requisitos

Page 77: Sles Admin Ipseries

4Im

pre

sora

s

Oki Okipage 4w/4w+/6w/8w/8wLite/8z/400w y los correspondientesmodelos compatibles.

Samsung ML-200/210/1000/1010/1020/1200/1210/1220/4500/5080/6040y los correspondientes modelos compatibles.

Por lo que sabemos, al menos la siguientes impresoras ODI no están sopor-tadas por SuSE Linux Enterprise Server, pero seguramente esta lista no estécompleta:

Brother DCP-1000, MP-21C, WL-660

Canon BJC 5000/5100/8000/8500, LBP 460/600/660/800, MultiPASSL6000

Epson AcuLaser C1000, EPL 5500W/5700L/5800L

HP LaserJet 1000/3100/3150

Lexmark Z12/22/23/31/32/33/82, Winwriter 100/150c/200

Minolta PagePro 6L/1100L/18L, Color PagePro L, Magicolor 6100Des-kLaser/2DeskLaserPlus/2DeskLaserDuplex

Nec SuperScript 610plus/660/660plus

Oki Okijet 2010

Samsung ML 85G/5050G, QL 85G

Sharp AJ 2100, AL 1000/800/840/F880/121

Instalar una impresora con YaST2

Colas de impresión y configuraciones

Normalmente se necesitan varias colas de impresión por los siguientes moti-vos:

Se debe hablar a distintas impresoras a través de distintas colas de im-presión.

61SuSE Linux – Enterprise Server 8

Page 78: Sles Admin Ipseries

En cada cola de impresión se puede configurar el filtro de impresión in-dividualmente. Así pues se puede utilizar distintas colas de impresiónpara la misma impresora para poner distintas configuraciones a disposi-ción de los usuarios.

Para imprimir en blanco y negro (p. ej. la mayoría de las impresoras láser)basta una sola configuración estándar, pero para las impresoras a chorro detinta en color se necesita al menos dos configuraciones, o sea, dos colas deimpresión.

Una configuración estándar ”lp” con la que la impresora puede impri-mir en blanco y negro rápidamente y con un bajo coste. Siempre de-bería haber una cola de impresión con el nombre lp , ya que este es elnombre tradicional de una cola de impresión estándar.

Una configuración ”en color” o, lo que es lo mismo, una cola de impre-sión para impresión en color.

Fundamentos de la configuración de impresoras con YaST2

La configuración de impresoras de YaST2 no se puede invocar mediante me-nús, sino escribiendo como usuario ( root) directamente en la línea de coman-dos yast2 printer . Con yast2 printer .nodetection se puede de-tener el reconocimiento automático de impresoras. Véase la sección Puertosparalelos en la página 70.

Con la configuración de impresoras de YaST2 se puede configurar tanto elsistema CUPS como LPRng/lpdfilter simultáneamente. Para ello se encuen-tran en el banco de datos de impresoras de YaST2 /usr/lib/YaST2/data/printerdb/suse.prdb las configuraciones para ambos sistemas de impre-sión. Sin embargo no todas las configuraciones para ambos sistemas se en-cuentran disponibles. Algunas configuraciones son soportadas o por CUPSo por LPRng/lpdfilter. La configuración de impresoras de YaST2 se lo indicacuando es pertinente.

Con la configuración de impresoras de YaST2 se puede cambiar entre CUPS yLPRng/lpdfilter con facilidad a través de una rama de menú avanzado. Lasconfiguraciones válidas para ambos sistemas se encuentran disponibles parael nuevo sistema de impresión inmediatamente después de haber realizado elcambio. Sin embargo, según el sistema de impresión, existen algunas diferen-cias en las posibilidades de configuración, de tal forma que las configuracio-nes válidas para ambos sistemas no son completamente idénticas para ambossistemas.

Con YaST2 se puede cambiar entre los siguientes sistemas de impresión:

62 Instalar una impresora con YaST2

Page 79: Sles Admin Ipseries

4Im

pre

sora

s

CUPS como servidor Si una impresora está conectada localmente, CUPSdebe funcionar como servidor. Se debe instalar los siguientes paquetespara este sistema de impresión:t:

cups-libs

cups-client

cups

cups-drivers

cups-drivers-stp

CUPS exclusivamente como cliente Si hay un servidor de red CUPS en lared local y el usuario sólo quiere imprimir a través de esa cola de im-presión, basta con que CUPS funcione exclusivamente como cliente. Es-to sólo se refiere a servidores de red CUPS. Son necesarios los siguien-tes paquetes:

cups-libs

cups-client

LPRng Si se debe utilizar el sistema de impresión LPRng/lpdfilter o sila red local no dispone de ningún servidor de red CUPS, sino quetiene un servidor de red LPD (véase sección El gestor de impresiónLPRng/lpdfilter en la página 77), y el usuario quiere imprimir a travésde esta cola de impresión. Los paquetes a instalar son los siguientes:

lprng

lpdfilter

Los paquetes paquete cups-client y paquete lprng se excluyen mutua-mente y por tanto no pueden ser instalados a la vez. El paquete cups-libssiempre debe estar instalado, ya que algunos programas (p. ej. Samba) necesi-tan las bibliotecas CUPS.

Para disponer de un sistema de impresión completo normalmente se necesi-tan también algunos paquetes adicionales, instalados automáticamente con el‘(’sistema estándar), en especial:

ghostscript-library

ghostscript-fonts-std

ghostscript-x11

a2ps

63SuSE Linux – Enterprise Server 8

Page 80: Sles Admin Ipseries

file

...

Incluso sin un sistema de impresión completamente instalado funciona laconfiguración de impresoras de YaST2, ya que este guarda algunos datos deconfiguración en /var/lib/YaST2/printers . Si se instala un sistema deimpresión más tarde, o si se cambia a otro sistema, entonces la configuraciónde impresoras de YaST2 realiza las configuraciones para el sistema de impre-sión actual según los datos almacenados en /var/lib/YaST2/printers .

La configuración de impresoras de YaST2 muestra las configuraciones que sepueden realizar sin que ocurra ningún error. Puesto que la realización de lasconfiguraciones ocurre de hecho al final de la configuración de YaST2, se debearrancar de nuevo la configuración para comprobar.

La configuración de impresoras de YaST2 distingue entre colas de impresióndefinidas con YaST2 (colas de impresión YaST2) y aquellas que no se definie-ron con YaST2 (colas de impresión sin YaST2), las cuales YaST2 no modifica.El conflicto llega cuando el nombre es idéntico. Entonces puede ocurrir losiguiente: p. ej. Se ha fijado una cola de impresión YaST2 ”color” en un deter-minado sistema de impresión, tras lo que se cambia manualmente – y no conYaST2– a otro sistema de impresión. A continuación se define manualmente –y no con YaST2– una cola de impresión ”color”, tras lo que se arranca la con-figuración de impresoras de YaST2. En este caso la cola de impresión definidamanualmente será sobreescrita por la cola de impresión definida por YaST2del mismo nombre.

Al trabajar con una cola de impresión se puede elegir la configuración que sedesea, se haya definido con YaST2 o no. Mientras se pueda cambiar de unacola de impresión YaST2 a otra sin YaST2, se puede p. ej. evitar el caso des-crito arriba. También se puede cambiar de una cola de impresión sin YaST2 aotra YaST2 y sobreescribir la configuración existente con otra YaST2.

Configuración automática

. En función del hardware que YaST2 reconozca automáticamente y de la can-tidad de información sobre el correspondiente modelo de impresora que seencuentre en el banco de datos de impresoras, YaST2 podrá proporcionar losdatos necesarios automáticamente u ofrecer una preselección adecuada. Encaso contrario, el usuario debe dar la información necesaria en los cuadros dediálogo.

Con YaST2 se puede configurar la impresora automáticamente si se cumplenlos siguientes requisitos:

64 Instalar una impresora con YaST2

Page 81: Sles Admin Ipseries

4Im

pre

sora

s

La configuración automática del puerto paralelo o USB funciona y laimpresora conectada es reconocida automáticamente.

La base de datos de impresoras contiene la identificación del modelode impresora que obtiene YaST2 durante el reconocimiento automático.Este reconocimiento puede diferir de la denominación de modelo y esposible que el modelo sólo pueda ser seleccionado manualmente.

En la base de datos de impresoras existe por lo menos una configura-ción que se considera libre de problemas. Según el tipo de impresora,se pueden realizar automáticamente hasta cinco configuraciones o colasde impresión.

Es esencial comprobar cada configuración mediante la página de prueba deYaST2, ya que a menudo las configuraciones se introducen en el banco dedatos de impresoras sin un soporte explícito del fabricante de la impresora, ypor tanto no se puede garantizar toda la información.

Además la página de prueba de YaST2 ofrece mucha información importanteacerca de la configuración en cuestión.

Configuración manual

Se precisa de una configuración manual cuando alguno de los requisitos parael funcionamiento de la configuración automática no se cumple o cuando setrata de realizar una configuración individual.

En total, debe configurarse los siguientes valores:

Conexión de hardware (puerto)

En el caso de que YaST2 haya reconocido el modelo de impresoraautomáticamente, se supone que el puerto de conexión a la impre-sora funciona correctamente y por lo tanto no es necesario confi-gurarlo.

Pero si YaST2 no reconoce el modelo de impresora automáticamen-te, esto indica que el puerto de conexión a la impresora debe serconfigurado manualmente.

/dev/lp0 es el primer puerto paralelo/dev/usb/lp0 es el puerto para una impresora USB

En una configuración manual se debe escoger el puerto apropiado.En este caso se debe realizar sin falta la correspondiente prueba enYaST2 para probar si se le puede hablar a la impresora a través delpuerto elegido.

65SuSE Linux – Enterprise Server 8

Page 82: Sles Admin Ipseries

Lo más seguro para que funcione es conectar la impresora direc-tamente en el primer puerto paralelo y establecer las siguientesconfiguraciones para el puerto paralelo en la BIOS:

• Dirección E/S 378 (hexadecimal)• Interrupción no es importante• Modo Normal , SPP o Output-Only

• No se utiliza DMA.

Si a pesar de esto, no se puede hablar a la impresora a través delprimer puerto paralelo, entonces se debe introducir la direcciónE/S, correspondiente a la configuración de la BIOS, de manera ex-plícita con la forma 0x378 en las configuraciones detalladas delpuerto paralelo. Si hay dos puertos paralelos disponibles configu-rados con las direcciones E/S 378 y 278 (hexadecimal), se debenintroducir con la forma 0x378,0x278 . Véase la sección Puertosparalelos en la página 70.

Nombre de la cola de espera Puesto que a menudo al imprimir se debe es-cribir el nombre de la cola de espera, es recomendable que este nombresea corto y esté compuesto de minúsculas y de números.

En sistemas de impresión LPRng/lpdfilter existen las siguientes posibi-lidades especiales de configuración:

Para casos especiales se puede crear una cola tipo raw . En unacola tipo raw no se efectúa ninguna conversión de los datos a im-primir por el filtro de impresión, sino que se envían los datos aimprimir directamente (en ”crudo”) a la impresora. Por esta razónteniendo una cola de impresión tipo raw los datos a imprimir yadeben estar presentes en el lenguaje de impresión de la impresoracorrespondiente.

Una cola de impresión se puede configurar con o sin ”avance depágina completo” (ingl. formfeed), dependiendo de si el gestor deimpresión provoca explícitamente un avance de hoja después decada tarea de impresión, con el fin de que también salga de la im-presora la última hoja. De esto se encarga normalmente el driverGhostscript, con lo cual no es necesario un avance de hoja explíci-to.

Drivers Ghostscript o lenguaje de impresión El driver Ghostscript y el len-guaje de impresión vienen dados con el modelo de impresora corres-pondiente y se determinan en función de la selección de una configu-ración predeterminada adecuada para ese modelo de impresora. Esta

66 Instalar una impresora con YaST2

Page 83: Sles Admin Ipseries

4Im

pre

sora

s

configuración se puede adecuar de forma individual a una determinadamáscara.

Es el driver Ghostscript el que genera los datos específicos para impre-soras que no tienen soporte para PostScript. Por consiguiente la con-figuración del driver Ghostscript es el punto decisivo para definir eltipo de impresión. La selección del driver GhostScript y la configura-ción específica del driver adecuado es lo que determina la imagen deimpresión. Aquí es donde se definen las diferencias de la imagen deimpresión entre las diferentes configuraciones para la misma impresora.

Si YaST2 ha detectado automáticamente el modelo de su impresora obien el modelo existe en la base de datos de impresoras, se realiza unapreselección razonable de los drivers Ghostscript adecuados. En estecaso YaST2 suele proporcionar varias configuraciones predeterminadas,p. ej.

Impresión en blanco y negro 300 dpi

Sólo LPRng: impresión en escala de grises 300 dpi

Impresión en color 300 dpi

Sólo CUPS: impresión en color 600 dpi

Calidad fotográfica 600 dpi

Aquí también YaST2 muestra si una configuración es soportada sólo poruno de los dos sistemas de impresión CUPS o LPRng/lpdfilter.

En una configuración predeterminada se incluye el driver Ghostscriptespecífico y las configuraciones apropiadas del driver para un tipo de-terminado de impresión.

Si existen configuraciones específicas del driver, estas pueden modificar-se individualmente mediante una máscara especial.

La relación entre el valor seleccionado y las posibles opciones de unaselección subordinada puede distinguirse por la sangría de las entradasdel menú.

No todas las combinaciones seleccionables de las diferentes configura-ciones del driver funcionan con todos los modelos de impresora; espe-cialmente en combinación con resoluciones altas.

Es imprescindible realizar una comprobación imprimiendo la páginade prueba. Si el resultado de esta impresión es incorrecto (p. ej. muchaspáginas casi vacías) puede parar la impresión inmediatamente sacan-do todo el papel y pulsando después el botón ‘Parar’. Pero en algunos

67SuSE Linux – Enterprise Server 8

Page 84: Sles Admin Ipseries

casos no es posible realizar después otra impresión, con lo cual es me-nos problemático pulsar el botón ‘Parar’ y esperar a que la impresióntermine.

Si el modelo de la impresora no se encuentra en la base de datos deimpresoras existe una serie de drivers Ghostscript genéricos para loslenguajes de impresión estándar.

Si quiere emplear un driver Ghostscript que no aparece en la preselec-ción puede seleccionar individualmente un driver Ghostscript de la listadel ”fabricante”.

Para el sistema de impresión CUPS existe la siguiente posibilidad:

Para el sistema de impresión CUPS se utilizan normalmente fi-cheros PPD que se encuentran en /usr/lib/YaST2/data/printerdb/ , ya que estos se deben corresponder exactamentecon las entradas en la base de datos de impresoras de YaST2. Losficheros PPD de YaST2 se basan en los correspondientes ficherosPPD de paquete cups-drivers y paquete cups-drivers-stp .Si se escoge el model de impresora manualmente, entonces se pue-de elegir otro fichero PPD que se prefiera en vez de un modelo deimpresora ( en vez de un fichero PPD de YaST2). Así p. ej.se pue-de escoger un fichero PPD de los paquetes cups-drivers y cups-drivers-stp en /usr/share/cups/model/ . Puesto que para estetipo de ficheros PPD no hay entradas en el banco de datos de im-presoras de YaST2, las configuraciones predeterminadas de estefichero no se pueden modificar con YaST2. La forma de hacer estose describe en la sección Configuración de la cola de impresión en lapágina 106.

Algunas configuraciones especiales Se puede acceder a estas configuracio-nes especiales mediante una rama especial en la que se deberían dejarlas configuraciones predeterminadas en caso de duda.

En el sistema de impresión CUPS existen las siguientes configuracionesespeciales:

Restricciones de acceso para determinados usuarios.

Estado de la cola de impresión: Si se ha realizado la impresión ono, y si la cola de impresión debe aceptar las tareas de impresióno no.

Páginas de cubierta y de corrección: Si se debe imprimir y en quémomento las páginas de cubierta o de corrección.

68 Instalar una impresora con YaST2

Page 85: Sles Admin Ipseries

4Im

pre

sora

s

En el sistema de impresión LPRng/lpdfilter existen las siguientes confi-guraciones especiales independientes del hardware:

Se puede fijar aquí la disposición de las hojas para la impresiónde textos ASCII, pero no para gráficos y documentos creados conaplicaciones especiales.

Se puede configurar una cola de impresión ascii para casos es-peciales. Para este tipo de colas ascii se fuerza al filtro de im-presión a realizar la impresión como texto ASCII. Esto es necesariopara forzar la impresión en texto ASCII de ficheros de texto AS-CII no reconocidos como tales por el filtro de impresión (p. ej.paraimprimir textos fuente de PostScript).

La codificación específica de cada país afecta a la presentación designos especiales específicos de cada país al imprimir textos ASCII,así como a la presentación de texto sencillo de páginas HTML deNetscape.

Configuración para aplicaciones

Las distintas aplicaciones utilizan las colas de impresión existentes de maneraanáloga a las impresiones que se envían desde la línea de comandos. Por tan-to, en casos normales, no tiene que configurar de nuevo la impresora en cadaaplicación, sino que puede emplear la cola de impresión existente.

Imprimir desde la línea de comandos

Se puede imprimir desde la línea de comandos escribiendo ( lpr -Plp Nom-brearchivo), introduciendo en el valor Nombrearchivo el archivo que sequiere imprimir. En este caso se utiliza la cola de impresión estándar lp . Conla opción -P puede determinar explícitamente la cola de impresión a la quequiere enviarlo. Por ejemplo, con ( lpr -Pcolor Nombrearchivo) la cola de im-presión utilizará color .

El sistema de impresión LPRng/filtro lpd

Las aplicaciones utilizan el comando lpr para imprimir. Escoja en la aplica-ción el nombre de una cola de impresión que ya exista (p. ej. lp o color ), ointroduzca el comando de impresión (p. ej. lpr -Plp o lpr -Pcolor en laventana de impresión de la aplicación.

69SuSE Linux – Enterprise Server 8

Page 86: Sles Admin Ipseries

El sistema de impresión CUPS

El paquete paquete cups-client contiene herramientas de línea de coman-dos para imprimir con CUPS, como p. ej. el comando lpr , así que lo dichoanteriormente también funciona con CUPS.

Además hay programas como xpp o el diálogo de impresión integrado enKDE, kprinter, que posibilitan escoger la cola de impresión y también esta-blecer opciones estándar para CUPS y específicas de la impresora del archivoPPD mediante menús gráficos de selección.

Configuración manual de puertos locales

Puertos paralelos

En un sistema Linux la conexión a una impresora suele ocurrir a través deun puerto paralelo. A estas impresoras se las habla mediante el subsistemaparport del kernel.

La configuración básica de un puerto paralelo con YaST2 se encuentra en lasección Configuración manual en la página 65, por lo que aquí sólo se incluiráinformación general:

Al subsistema parport se le debe dar a conocer los puertos paralelos me-diante la carga de módulos del kernel específicos de la arquitectura. Así, sepuede trabajar con varios dispositivos al mismo tiempo (p. ej. una unidad ZIPde puerto paralelo y una impresora) conectados a través de un puerto para-lelo. La numeración de ficheros de dispositivos para impresoras de puertoparalelo comienza con /dev/lp0 . Para poder imprimir a través del primerpuerto paralelo, se debe cargar los siguientes módulos en el kernel estándarde SuSE: parport , parport_pc y lp . Esto, por lo general, ejecuta tambiénautomáticamente el cargador de módulos del kernel (ingl. ()Kernel ModuleLoader), kmod, en cuanto se accede por primera vez a los ficheros de dispo-sitivo (p. ej./dev/lp0 ).

Cuando el módulo parport_pc del kernel se carga sin parámetros especia-les, intenta reconocer y configurar automáticamente los puertos paralelos. Enpocas ocasiones no lo consigue y el sistema se ”cuelga”. En este caso, se debeconfigurar manualmente e introducir explícitamente los parámetros correctospara parport_pc . Por eso se puede impedir el reconocimiento automáticode impresoras por YaST2 tal y como se explica en la sección Instalar una im-presora con YaST2 en la página 61.

70 Configuración manual de puertos locales

Page 87: Sles Admin Ipseries

4Im

pre

sora

s

Configuración manual de los puertos paralelos

El puerto paralelo /dev/lp0 se configura mediante una entrada en /etc/modules.conf (ver fichero 2)

alias parport_lowlevel parport_pcoptions parport_pc io=0x378 irq=none

Fichero 2: /etc/modules.conf: Primer puerto paralelo

Para io aparece la dirección de entrada y salida (ingl. IO-address) del puertoparalelo y para irq aparece none como configuración predeterminada parael modo de operación ”polling”; también puede aparecer la interrupción delpuerto paralelo. El modo ”polling” es menos problemático que el modo deinterrupciones ya que se evitan sobre todo conflictos de interrupciones. Sinembargo existen placas bases o impresoras que sólo funcionan correctamenteen modo de interrupciones. Además este modo posibilita que la impresorareciba datos suficientes en momentos de sobrecarga del sistema.Para que estos ajustes funcionen, hace falta configurar los siguientes valores(siempre que existan) para el puerto paralelo en la BIOS de la computadora(o mediante el ”firmware”):

Dirección entrada/salida (ingl. IO-address) 378 (hexadecimal)

Interrupción 7 (no importa en modo ”polling”)

Modo Normal , SPP o Output-Only (los demás modos no funcionannecesariamente).

DMAestá desactivado (por defecto en modo Normal )

Si la interrupción 7 aún está libre, se puede activar el funcionamiento de inte-rrupciones con

alias parport_lowlevel parport_pcoptions parport_pc io=0x378 irq=7

Fichero 3: /etc/modules.conf: Modo de interrupciones para el primer puerto paralelo

Antes de que el modo de interrupciones está activado, con

tierra:~ # cat /proc/interrupts

se puede averiguar qué interrupciones ya se están utilizando, con lo que sólose mostrarán las interrupciones que se encuentren funcionando en este mo-mento; lo que puede cambiar en función del hardware que se esté usando.No se debe utilizar la interrupción del puerto paralelo de otro modo. En casode duda, lo mejor es tomar el modo polling.

71SuSE Linux – Enterprise Server 8

Page 88: Sles Admin Ipseries

Configuración de puertos paralelos adicionales

El segundo puerto paralelo /dev/lp1 , al que se accede con la dirección deentrada y salida estándar 278 (hexadecimal), se configura igualmente con unaentrada en /etc/modules.conf (ver fichero 4). La dirección de E/S se con-figura p. ej. mediante jumper en una controladora ISA.

alias parport_lowlevel parport_pcoptions parport_pc io=0x378,0x278 irq=none,none

Fichero 4: /etc/modules.conf: Dos puertos paralelos

Tarjetas especiales: ISA-PnP y PCI

En caso de no conocer de antemano la dirección de entrada/salida de unpuerto adicional, haría falta averiguarla.

Tarjetas ISA PnP

Si tales tarjetas permiten configurar valores fijos para direcciones deE/S, interrupción y modo de configuración (p. ej. mediante ”jumper”),configúrelas con valores fijos.En el caso de la configuración automática, los valores para la direc-ción de E/S, la interrupción y el modo se configuran en el momentode arrancar Linux. Para conocer los valores se puede consultar los men-sajes de arranque de Linux (en el fichero /var/log/boot.msg ) o de-terminar los valores mediante el comando pnpdump (paquete isapnp )..

Tarjetas PCI

Para ver las direcciones de E/S y la interrupciones posibles de una tar-jeta PCI se puede usar el siguiente comando (ver salida en pantalla 1):

tierra:~ # /sbin/lspci -v | less

00:0a.0 Parallel controller: ......Flags: stepping, medium devsel, IRQ 10I/O ports at b400I/O ports at b000I/O ports at a800I/O ports at a400

Mensaje en pantalla 1: Extracto de lspci -v para una tarjeta de puertos PCI

72 Configuración manual de puertos locales

Page 89: Sles Admin Ipseries

4Im

pre

sora

s

A cada puerto paralelo le pertenecen 2 direcciones de E/S corridas porel valor 400 (hexadecimal) – en este ejemplo, a un puerto le pertenecenb000 y b400, al otro a400 y a800. Dado el caso hay que probar con cuálde los dos valores finalmente funciona; la entrada en /etc/modules.conf para configurar los puertos podría parecerse a la que se muestraen el fichero 5.

alias parport_lowlevel parport_pcoptions parport_pc io=0x378,0xb400,0xa800 irq=none,none,none

Fichero 5: /etc/modules.conf: Tarjeta PCI con 2 puertos paralelos

Activación y prueba de un puerto paralelo

Después de reiniciar la computadora el puerto paralelo está disponible.

En lugar de reiniciar la computadora, basta con actualizar como root la listade las dependencias de módulos y descargar los módulos de kernel que secomunican con el puerto paralelo. . .

tierra:~ # depmod -a 2>/dev/null

tierra:~ # rmmod lp

tierra:~ # rmmod parport_pc

tierra:~ # rmmod parport

. . . para cargarlos nuevamente:

tierra:~ # modprobe parport

tierra:~ # modprobe parport_pc

tierra:~ # modprobe lp

Si la impresora es capaz de imprimir texto ASCII, el superusuario root hade poder imprimir una página con la palabra Hola mediante el siguiente co-mando:

tierra:~ # echo -en "\rHola\r\f" >/dev/lp0

Con esto la palabra Hola está preparada para la impresión, se encuentra en-tre el carácter ASCII \r que representa el retorno de carro, y el carácter ASCII\f que provoca un salto de página.

Para el segundo puerto paralelo hay que indicar /dev/lp1 y para el tercero/dev/lp2 .

73SuSE Linux – Enterprise Server 8

Page 90: Sles Admin Ipseries

Puerto USB

La BIOS de la computadora debe tener una interrupción activada para USB.Para ello, en caso de una BIOS de Award, entre al menú ‘PNP AND PCI SE-TUP’ (o similar) y modifique la entrada ‘USB IRQ’ (o similar) a Enabled .

Para probar si se puede acceder a la impresora USB, teclee como superusua-rio:

tierra:~ # echo -en "\rHola\r\f" >/dev/usb/lp0

Si sólo hay una impresora USB conectada y esta impresora puede imprimirtexto ASCII, debería salir impresa una página con la palabra Hola .

Algunas impresoras requieren una secuencia especial de control antes deaceptar los datos USB. El siguiente comando envía esta secuencia de control,adecuada para una impresora USB Epson Stylus Color (introduzca el coman-do en una sola línea sin espacios en blanco):

echo -en "\x0\x0\x0\x1b\x01\x40\x45\x4a\x4c\x20\x31\x32\x38\x34\x2e\x34\x0a\x40\x45\x4a\x4c\x20\x20\x20\x20\x20\x0a" >/dev/usb/lp0

Puede encontrar más información en el banco de datos de soporte introdu-ciendo como palabras clave ”Epson” y ”usb”.

Por lo general, tras introducir el siguiente comando, debería aparecer el fabri-cante y la descripción del producto:

tierra:~ # cat /proc/bus/usb/devices

Si no es así, puede ser debido a uno de los siguientes motivos:

El sistema USB (aún) no ha reconocido el dispositivo, quizás porque laimpresora USB está apagada y por tanto no se puede establecer contac-to con ella.

El sistema USB ha reconocido el dispositivo pero no sabe ni el fabri-cante ni la descripción del producto por lo que no muestra nada. Sinembargo sí es posible comunicarse con la impresora.

A veces sucede que la impresora deja de responder (p. ej. por haber quitadoel enchufe USB durante la impresión). En general debería bastar con utilizarlos siguientes comandos para reiniciar el sistema USB:

tierra:~ # rchotplug stop

tierra:~ # rchotplug start

74 Configuración manual de puertos locales

Page 91: Sles Admin Ipseries

4Im

pre

sora

s

Si esto no ayuda, se pueden finalizar todos los procesos que acceden a/dev/usb/lp0 . Además, se descargan y se cargan nuevamente todos losmódulos de kernel relacionados con la impresora USB. Previamente se de-be comprobar con lsmod qué módulos USB están cargados (usb-uhci ousb-ohci o uhci ) y si existen otras dependencias entre ellos. Por ejemplo

usbcore ... [printer usb-uhci]

significa que el módulo usbcore es usado también por los módulosprinter y usb-uhci . En este caso es preciso descargar los módulosprinter y usb-uhci antes que el módulo usbcore .

Introduzca como usuario root)lossiguientescomandos en vez deusb-uhci ) y según el sistema también uhci o usb-ohci .

tierra:~ # fuser -k /dev/usb/lp0

tierra:~ # rchotplug stop

tierra:~ # rmmod printer

tierra:~ # rmmod usb-uhci

tierra:~ # umount usbdevfs

tierra:~ # rmmod usbcore

tierra:~ # modprobe usbcore

tierra:~ # mount usbdevfs

tierra:~ # modprobe usb-uhci

tierra:~ # modprobe printer

tierra:~ # rchotplug start

Si hay más de una impresora conectada, se debe tener en cuenta lo siguiente:El subsistema USB reconoce automáticamente la impresora USB conectada.Nos podemos comunicar con la primera impresora USB reconocida median-te el dispositivo /dev/usb/lp0 . Con la segunda impresora USB reconocidamediante el dispositivo /dev/usb/lp1 . Dependiendo del modelo de impre-sora puede que también se reconozcan las impresoras apagadas. Esto es de-bido a que también es posible comunicarse con algunas impresoras en estadode apagado a través del puerto USB. Para evitar una confusión entre dispo-sitivos USB, se debería encender todas las impresoras USB antes de arrancarLinux y dejarlas encendidas en la medida de lo posible durante el funciona-miento del sistema.

75SuSE Linux – Enterprise Server 8

Page 92: Sles Admin Ipseries

Puerto IrDA

Es una emulación de un puerto paralelo a través de una conexión de in-frarrojos. El driver en el kernel de Linux pone a disposición un puerto pa-ralelo simulado en el dispositivo /dev/irlpt0 . Es posible comunicarsecon una impresora a través de un puerto de infrarrojos de la misma formaque a través de un puerto paralelo; la única diferencia es que se utilizará/dev/irlpt0 en vez de /dev/lp0 .

Compruebe si es posible comunicarse con la impresora IrDA introduciendocomo ( root):

tierra:~ # echo -en "\rHola\r\f" >/dev/irlpt0

Suponiendo que la impresora puede imprimir texto ASCII, debería imprimiruna página con la palabra Hola .

En cualquier caso se debería mostrar la impresora tras los siguientes coman-dos:

tierra:~ # irdadump

Si no es así, es que no es posible comunicarse con ella.

Si no aparece nada de ninguna manera, lo más probable es que no se hayainiciado el servicio del sistema IrDA, puesto que este no se arranca automáti-camente al arrancar. Se puede iniciar y para el sistema IrDA con

tierra:~ # rcirda start

tierra:~ # rcirda stop

Puerto serie

La configuración de una impresora conectada al puerto serie se explica parael spooler LPRng en LPRng-Howto(file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html )y en particular enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#SECSERIALy en la página del manual de printcap (man printcap ). También puedeencontrar más información en el banco de datos de soporte introduciendo lapalabra clave ”serie”.

76 Configuración manual de puertos locales

Page 93: Sles Admin Ipseries

4Im

pre

sora

s

Configuración manual de LPRng/lpdfilter

Normalmente se configura el sistema de impresión con YaST2, tal y como seindica en la sección Instalar una impresora con YaST2 en la página 61.

Adicionalmente existe el programa lprsetup. La funcionalidad completa delprsetup es accesible desde la línea de comandos.

Al configurar una impresora con YaST2, este se encarga de compilar la in-formación precisa y después hace una llamada al sistema de impresiónLPRng/lpdfilter lprsetup con las opciones necesarias para que este cree laconfiguración.

El programa lprsetup está concebido como herramienta para expertos. Al con-trario de YaST2 lprsetup no ayuda al usuario a encontrar los valores correctospara las diferentes opciones.

lprsetup -help explica brevemente todas las posibles opciones; página delmanual de lprsetup (man lprsetup ) y página del manual de lpdfilter(man lpdfilter ) proporcionan más información.

Véanse las secciones Determinar el driver de impresión correcto en la página 58 yAlgo sobre Ghostscript en la página 109 para encontrar más información sobredrivers Ghostscript y parámetros específicos de los diferentes drivers.

El gestor de impresión LPRng/lpdfilter

Como gestor de impresión estándar se instala el LPRng (paquete (lprng ).

El gestor de impresión lpd (ingl. Line Printer Daemon) normalmente se activadurante el arranque del sistema mediante el script /etc/init.d/lpd . Ellpd se ejecuta como daemon en segundo plano y se puede arrancar y pararmediante los siguientes comandos:

tierra:~ # rclpd start

tierra:~ # rclpd stop

Los ficheros de configuración para LPRng son:

/etc/printcap Configuración de cada cola de impresión

/etc/lpd.conf Configuración global del spooler

/etc/lpd.perms Configuración de los permisos de acceso

77SuSE Linux – Enterprise Server 8

Page 94: Sles Admin Ipseries

Con rclpd start también se llama a checkpc -f en conformidad con/etc/init.d/lpd , que coloca los directorios de spool /var/spool/lpd/*en /etc/printcap a través de las entradas, además de adecuar los permi-sos de acceso.

Cuando el gestor de impresión lpd se inicia, averigua mediante el fichero deconfiguración /etc/printcap las colas de impresión definidas. Su trabajoes organizar la impresión de las tareas (ingl. jobs) en la cola; este trabajo sedesglosa de la siguiente manera:

Administra las colas de impresión locales: Envía los ficheros de datosde una tarea a través del filtro de impresión, tras lo cual o lo envía di-rectamente a la impresora o lo envía a otra cola de espera.

Considera el orden de las tareas en las colas de impresión.

Vigila el estado de las colas de impresión y de la impresora y da infor-mación cuando se le pide.

Recoge las solicitudes de impresión dirigidas a colas locales y proce-dentes de máquinas remotas o rechaza las mismas en caso de no serautorizadas. El daemon espera las peticiones en el puerto 515.

Envía solicitudes de impresión en colas remotas al gestor de impresiónde la máquina remota (o bien al puerto 515 de esta).

Más detalles sobre el spooler LPRng se encuentran en LPRng-Howto enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.htmly en página del manual de printcap (man printcap ) y página del manualde lpd (man lpd ).

Herramientas de línea de comandos paraLPRng

Las herramientas de la línea de comandos están detalladas en LPRng-Howtoenfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRNGCLIENTSpor lo que aquí sólo presentamos una breve recopilación:

78 Herramientas de línea de comandos para LPRng

Page 95: Sles Admin Ipseries

4Im

pre

sora

s

Para colas de impresión locales

Generar tareas de impresión

El comando lpr se explica en LPRng-Howto defile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRcon lo cual nos limitamos aquí a información general:

Normalmente se imprime mediante

tux@tierra:~ > lpr -P 〈colaimpresión 〉 〈fichero 〉

Dejando la opción -P 〈colaimpresión 〉 para el nombre de la cola de impre-sión), se usa como valor predeterminado el contenido de la variable de entor-no PRINTER. Lo mismo vale también para los comandos lpq y lprm – véasetambién las página del manual de lpr (man lpr ), página del manual de lpq(man lpq ) y página del manual de lprm (man lprm ). Al arrancar se iniciali-za automáticamente la variable de entorno PRINTER y se puede inspeccionarcon el comando echo $PRINTER . Con

tux@tierra:~ > export PRINTER= 〈colaimpresión 〉

se fija una (otra) cola de impresión.

Mostrar el estado

tux@tierra:~ > lpq -P 〈colaimpresión 〉

muestra las tareas de impresión que se encuentran en la cola de impresiónindicada. Si en el gestor LPRng se indica all (todas) como cola de impresiónse mostrarán todas las tareas de todas las colas.

Con lpq -s -P 〈colaimpresión 〉 se mostrará lo mínimo y conlpq -l -P 〈colaimpresión 〉 más información.

Con lpq -L -P 〈colaimpresión 〉 se mostrará un detallado informe delestado, de gran ayuda para el diagnóstico de problemas.

Puede encontrar más información en la sección Mostrar el estado de colas deimpresión remotas y en página del manual de lpq (man lpq ) yfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPQen LPRng-Howto.

Eliminar tareas de impresión

tux@tierra:~ > lprm -P 〈colaimpresión 〉 〈númerotarea 〉

79SuSE Linux – Enterprise Server 8

Page 96: Sles Admin Ipseries

elimina la tarea de impresión que tenga el número indicado en la cola indica-da, siempre que la tarea pertenezca al usuario que la ha invocado con el co-mando lprm . Una tarea de impresión pertenece al usuario de la computadoraque ha generado la tarea. Para saber quién es este usuario y qué número sele ha asignado a esa tarea, utilice el comando lpq .

Con el comando

tierra:~ # lprm -Pall all

se eliminarán todas las tareas de todas las colas de impresión que pertenez-can al usuario que ha introducido el comando lprm . El usuario root puedeeliminar todas las tareas (de todas las colas).

Más información en página del manual de lprm (man lprm ) y enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRMen LPRng-Howto.

Control de las colas de impresión

tux@tierra:~ > lpc option 〈colaimpresión 〉

muestra el estado de las colas indicadas y posibilita modificarlas.

Las opciones más importantes son:

help explica brevemente todas las posibles opciones

status 〈colaimpresión 〉 informa sobre el estado de la cola.

disable 〈colaimpresión 〉 – deja de aceptar nuevas tareas en la cola deimpresión.

enable 〈colaimpresión 〉 – activa la cola de impresión para aceptar nue-vas tareas.

stop 〈colaimpresión 〉 – detiene la impresión de las tareas de la cola; latarea que se está imprimiendo termina.

start 〈colaimpresión 〉 – reanuda la impresión de las tareas en la cola.

down 〈colaimpresión 〉 – tiene el mismo efecto que disable más stop

up 〈colaimpresión 〉 – tiene el mismo efecto que enable añadiéndolestart .

80 Herramientas de línea de comandos para LPRng

Page 97: Sles Admin Ipseries

4Im

pre

sora

s

abort 〈colaimpresión 〉 – actúa como down, con la diferencia de que de-tiene inmediatamente una tarea que se está imprimiendo. Las tareas semantienen y es posible reanudarlas después del reinicio de la cola (up).

Se necesitan derechos de superusuario ( root) para modificar las colas de im-presión.

Se pueden introducir estos comandos directamente en la línea de comandos(p. ej. lpc status all ) o llamar a lpc sin parámetros. En el último caso seabre un cuadro de diálogo con su propio ”prompt” |lpc>|, esperando quese introduzcan las opciones mencionadas arriba. Con quit o exit se sale deesta ventana.

Un ejemplo del resultado de lpc status all

Printer Printing Spooling Jobs Server Subserverlp@earth enabled enabled 2 123 456color@earth disabled disabled 0 none nonelaser@earth disabled enabled 8 none none

indica que la cola lp está en funcionamiento y contiene dos tareas de impre-sión (una de ellas ya se está imprimiendo). La cola color está totalmenteapagada. La cola laser no puede imprimir p. ej. debido a trabajos de repara-ción temporales, pero permite que se generen tareas de impresión, que se vanacumulando en la cola (8 en este caso).

Más información en página del manual de ( (man ( )lpc) y enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRMen LPRng-Howto.

Para colas de impresión remotas

Aquí se puede fijar un print-server (servidor de impresión) mediante elnombre y la dirección IP de dicho servidor. 〈colaimpresión 〉 debe ser unacola que exista en el servidor de impresión.

Generar tareas de impresión

El gestor de impresión LPRng permite acceder directamente a colas remotasmediante el comando lpr :

tux@tierra:~ > lpr -P 〈colaimpresión 〉@servidorimpresión 〈fichero 〉

El servidor de impresión debe estar configurado de manera que permita laimpresión en sus colas; esto es estándar en LPRng.

81SuSE Linux – Enterprise Server 8

Page 98: Sles Admin Ipseries

Mostrar el estado de colas de impresión remotas

Con los comandos:

tux@tierra:~ > lpq -P 〈colaimpresión 〉@servidorimpresión

tux@tierra:~ > lpq -s -P 〈colaimpresión 〉@servidorimpresión

tux@tierra:~ > lpq -l -P 〈colaimpresión 〉@servidorimpresión

tux@tierra:~ > lpq -L -P 〈colaimpresión 〉@servidorimpresión

y con

tux@tierra:~ > lpc status 〈colaimpresión 〉@servidorimpresión

tux@tierra:~ > lpc status all@servidorimpresión

se puede inspeccionar el estado de una cola de impresión remota.

Especialmente con lpq -s -Pall@servidorimpresión olpc status all@servidorimpresión se puede solicitar el nombre detodas las colas en dicho servidor de impresión, si se utilizan también en elservidor LPRng.

Esto puede ser útil sobre todo cuando resulta imposible imprimir en la colaremota.

Con lpq -L -P 〈colaimpresión 〉@servidorimpresión se muestra uninforme detallado del estado para realizar un diagnóstico a distancia.

Eliminar tareas de impresión

Con los comandos

tux@tierra:~ > lprm -P 〈colaimpresión 〉@servidorimpresión〈númerotarea 〉

tux@tierra:~ > lprm -P 〈colaimpresión 〉@servidor impresión all

tux@tierra:~ > lprm -Pall@servidorimpresión all

se puede eliminar todas las tareas de impresión en colas remotas creadas porVd. mismo. ( root) no posee ningún permiso especial en colas remotas.

all sólo funciona cuando también se utiliza un servidor de impresiónLPRng.

82 Herramientas de línea de comandos para LPRng

Page 99: Sles Admin Ipseries

4Im

pre

sora

s

Resolución de problemas con los comandos anteriores enLPRng

Las tareas de impresión permanecen en las colas de impresión cuando, enmedio de la impresión, la computadora se para y se debe reiniciar Linux; siuna tarea causa problemas, elimínela de la cola con los comandos descritosmás arriba.

Si p. ej. ocurre un altercado en la comunicación entre la computadora y la im-presora, esta no puede realizar la impresión adecuadamente y puede ocurrirque acabe imprimiendo una gran cantidad de páginas llenas de signos ininte-ligibles.

1. Primero retire todo el papel en las impresoras a chorro de tinta, o abrala bandeja del papel en impresoras láser, para que la impresión se de-tenga.

2. Puesto que la tarea de impresión sólo desaparecerá de la cola despuésde haber sido enviada por completo a la impresora, lo más probable esque aún aparezca en la cola. Compruebe con lpq o lpc status dequé cola se está imprimiendo y elimine con lprm la tarea correspon-diente.

3. Puede que se hayan enviado algunos datos a la impresora apesar de que la tarea ya no esté en la cola. Con el comandofuser -k /dev/lp0 para una impresora en puerto paralelo ofuser -k /dev/usb/lp0 para una impresora USB, se pueden parartodos los procesos.

4. Restablezca la impresora apartándola de la fuente de alimentación du-rante un tiempo. Después vuelva a colocar el papel y encienda la im-presora.

El filtro de impresión del sistemaLPRng/lpdfilter

Como filtro de impresión se usa lpdfilter (paquete lpdfilter ).

A continuación viene una descripción detallada del transcurso de una tareade impresión. Para un análisis exacto del filtro de impresión, revise los scriptsdel filtro de impresión (de forma especial /usr/lib/lpdfilter/bin/if ) yen caso necesario siga los pasos descritos en el apartado Buscar errores relacio-nados con lpdfilter en la página 93.

83SuSE Linux – Enterprise Server 8

Page 100: Sles Admin Ipseries

1. El filtro de impresión (/usr/lib/lpdfilter/bin/if ) evalúa lasopciones que le pasa directamente el gestor de impresión o bien laslee del ”fichero de control” (ingl. control file) de las tareas de im-presión y de los ficheros /etc{printcap} y /etc/lpdfilter/\variable{colaimpresión}/conf . (reemplace colaimpresiónpor el verdadero nombre de la cola de impresión).

2. Se determina el tipo de datos a imprimir. Para ello /usr/lib/lpdfilter/bin/guess aplica el comando file a los datos a impri-mir y según la salida de este comando se determina, mediante las espe-cificaciones en el fichero /etc/lpdfilter/types , el tipo de datos aimprimir.

Tratándose de una cola ascii el filtro de impresión se ve forzadoa procesar los datos a imprimir como texto ASCII.

Si la cola no es del tipo ascii , el filtro de impresión intenta de-terminar automáticamente el tipo de datos a imprimir.

3. Según el tipo de datos a imprimir y de la cola, se efectúa otra conver-sión para generar los datos específicos para la impresora:

Tratándose de una cola raw los datos a imprimir se reen-vían directamente a la impresora (o a otra cola). Depen-diendo de la configuración en /etc/lpdfilter/)\variable{colaimpresión}\path(/conf puede efectuarseuna recodificación sencilla con recode . Para una cola raw pu-ra – quiere decir totalmente sin lpdfilter – hay que borrar la línea:if=/usr/lib/lpdfilter/bin/if:\ de la cola correspondien-te.

Si no se trata de una cola raw :

a) Si los datos a imprimir no son del tipo PostScript, se con-vierten a PostScript mediante una llamada a /usr/lib/lpdfilter/filter/tipo2ps (hay que reemplazar tipopor el verdadero tipo de datos a imprimir). Sobre todo el tex-to ASCII se convierte a PostScript, de acuerdo a /usr/lib/lpdfilter/filter/ascii2ps con el programa a2ps. Es-te proceso recurre a la codificación de país de la cola de im-presión, con el fin de poder imprimir también correctamentecaracteres especiales específicos del país en texto plano; vertambién página del manual de a2ps (man a2ps).

b) En caso necesario se puede formatear otra vez los datos PostS-cript, siempre que exista un script correspondiente en /etc/

84 El filtro de impresión del sistema LPRng/lpdfilter

Page 101: Sles Admin Ipseries

4Im

pre

sora

s

lpdfilter/)\variable{colaimpresión}\path(/pre(reemplace colaimpresión por el verdadero nombre de lacola).

c) Dado el caso, los datos PostScript son convertidos a otro len-guaje de impresión.

• Si la impresora conectada tiene soporte PostScript, los da-tos son enviados directamente a la impresora (o a algunasde las otras colas). Si es necesario se realizan llamadas alas funciones bash ”dúplex” y ”tray”, que están definidasen /usr/lib/lpdfilter/global/functions , parahabilitar la impresión dúplex y selección de la bandeja dealimentación de papel – siempre que la impresora sea ca-paz de procesar estos comandos.

• Si la impresora conectada no tiene soporte PostScript, seemplea Ghostscript con un driver Ghostscript adecuadopara el lenguaje de impresión de la impresora usada, conel fin de generar los datos específicos para esta. Estos úl-timos son enviados finalmente a la impresora (o a unacola).Los parámetros para la llamada a Ghostscript es-tán guardados en /etc/printcap directamente enla línea cm o en el fichero /etc/lpdfilter/)\variable{colaimpresión}\path(/upp (reemplacecolaimpresión por el verdadero nombre de la cola).En caso necesario es posible formatear nuevamen-te la salida de Ghostscript, con tal de que exista elscript correspondiente en /etc/lpdfilter/)\variable{colaimpresión}\path(/post (reemplacecolaimpresión por el verdadero nombre de la cola).

d) Los datos específicos para la impresora son enviados a la im-presora (o a una cola). Tanto delante como detrás de los datosespecíficos para la impresora se pueden enviar secuencias decontrol específicas para la impresora, si han sido configura-das en /etc/lpdfilter/)\variable{colaimpresión}\path(/conf

Configuración del filtro de lpdfilter

Al configurar el sistema de impresión con YaST2, como se describe en Instalaruna impresora con YaST2 en la página 61, normalmente se configura tambiénel filtro de impresión.

85SuSE Linux – Enterprise Server 8

Page 102: Sles Admin Ipseries

Para configuraciones especiales hay que adaptar manualmente los ficheros deconfiguración del filtro de impresión.

Cada cola de impresión tiene su propio fichero de configuración /etc/lpdfilter/)\variable{colaimpresión}\path(/conf (reemplacecolaimpresión por el verdadero nombre de la cola), que también contie-ne informaciones sobre cada opción.

Complementos del filtro de impresión

1. Si los datos a imprimir no son del tipo PostScript, por defecto son con-vertidos mediante una llamada a /usr/lib/lpdfilter/filter/tipo2ps a PostScript (reemplace tipo por el tipo de datos a impri-mir).

Poniendo en /etc/lpdfilter/)\varibale(colaimpresión)(/tipo2ps (reemplace colaimpresión por el verdadero nombre dela cola y tipo por el tipo de datos a imprimir) un script adecuado, esteconvierte los datos a imprimir a PostScript. Este script obtiene los datosa imprimir de stdin y tiene que emitir PostScript en stdout .

2. Dado el caso se puede formatear los datos PostScript otra vez,con tal de que exista un script adecuado en /etc/lpdfilter/)\variable{colaimpresión}\path(/pre (reemplacecolaimpresión por el nombre verdadero de la cola). También es posi-ble cargar con un script adecuado sus propios PostScript-Preloads. Estescript obtiene datos PostScript de stdin y tiene que emitir PostScripten stdout . En el paquete psutils hay programas para reformateardatos PostScript. Sobre todo el programa pstops ofrece amplias posibi-lidades para reformatear; ver también la página del manual de pstops(man pstops ).

3. Parámetros especiales de Ghostscript: Al configurar con YaST2, losparámetros para la llamada a Ghostscript se guardan en el fichero/etc/lpdfilter/)\variable{colaimpresión}\path(/upp(reemplace colaimpresión por el verdadero nombre de la cola). Es-te fichero se puede editar manualmente y añadir parámetros especia-les. Para más información sobre los parámetros Ghostscript consulte elapartado Algo sobre Ghostscript en la página 109.

4. Existe la posibilidad de formatear otra vez la salida de Ghosts-cript, siempre que exista un script adecuado en /etc/lpdfilter/)\variable{colaimpresión}\path(/post (reemplace

86 El filtro de impresión del sistema LPRng/lpdfilter

Page 103: Sles Admin Ipseries

4Im

pre

sora

s

colaimpresión por el verdadero nombre de la cola). Este script ob-tiene la salida de Ghostscript de stdin y tiene que emitir datos especí-ficos para la impresora en stdout .

Un ejemplo independiente del hardware

Suponiendo que existe una cola de impresión test que tiene la característi-ca de texto ASCII, se debe imprimir con los números de línea antepuestos.Además se debe disminuir cada salida de impresión con el fin de impri-mir dos páginas en una hoja. Para conseguirlo se podrían crear los scripts/etc/lpdfilter/test/ascii2ps y /etc/lpdfilter/test/pre si-guientes:

#!/bin/bashcat -n - | a2ps -1 --stdin=’ ’ -o -

Fichero 6: /etc/lpdfilter/test/ascii2ps: Conversión de ASCII a PostScript

#!/bin/bashpstops -q ’2:[email protected](20cm,2cm)[email protected](20cm,15cm)’

Fichero 7: /etc/lpdfilter/test/pre: Reformatear PostScript

Estos scripts deben ser ejecutables para todos los usuarios, lo cual se puedeconseguir utilizando chmod:

tierra:~ # chmod -v a+rx /etc/lpdfilter/test/ascii2ps

tierra:~ # chmod -v a+rx /etc/lpdfilter/test/pre

El comando pstops funciona sólo para ficheros PostScript creados de tal for-ma que permita reformatearlos (es el caso habitual).

Usar PostScript-Preloads autodefinidos

PostScript-Preloads son pequeños ficheros PostScript que contienen comandosespeciales de PostScript. Se usan para inicializar correctamente impresorasPostScript y también de Ghostscript, con comandos especiales de PostScript.

En general se usa PostScript-Preloads para activar la impresión dúplex o eluso de determinados alimentadores de una impresora PostScript. Otro usohabitual es la configuración de la corrección gamma y el ajuste de los márge-nes de una impresora PostScript o de Ghostscript.

87SuSE Linux – Enterprise Server 8

Page 104: Sles Admin Ipseries

Es preciso que GhostScript o bien la impresora PostScript puedan proce-sar adecuadamente los comandos especiales de PostScript indicados abajo(Ghostscript no reacciona a los comandos para la impresión dúplex o específi-cos para alimentadores).

En la siguiente configuración se supone que la cola correspondiente tiene elnombre test .

Impresión dúplex – Para habilitar y deshabilitar la impresión dúplex puedecrear los ficheros /etc/lpdfilter/test/duplexon.ps y /etc/lpdfilter/test/duplexoff.ps siguientes:

%!PSstatusdict /setduplexmode knownstatusdict begin true setduplexmode end if pop

Fichero 8: /etc/lpdfilter/test/duplexon.ps: Habilitar la impresión dúplex

%!PSstatusdict /setduplexmode knownstatusdict begin false setduplexmode end if pop

Fichero 9: /etc/lpdfilter/test/duplexoff.ps: Deshabilitar la impresión dúplex

Selección del alimentador de papel – Para activar la alimentación estándarcon el número 0 o la alimentación p. ej. con el número 2 puede crearlos ficheros /etc/lpdfilter/test/tray0.ps y /etc/lpdfilter/test/tray2.ps siguientes:

%!PSstatusdict /setpapertray knownstatusdict begin 0 setpapertray end if pop

Fichero 10: /etc/lpdfilter/test/tray0.ps: Activar alimentador 0

%!PSstatusdict /setpapertray knownstatusdict begin 2 setpapertray end if pop

Fichero 11: /etc/lpdfilter/test/tray2.ps: Activar alimentador 2

88 El filtro de impresión del sistema LPRng/lpdfilter

Page 105: Sles Admin Ipseries

4Im

pre

sora

s

Ajuste de los márgenes – Para modificar la configuración de los márgenespuede crear el fichero /etc/lpdfilter/test/margin.ps siguiente:

%!PS«/.HWMargins [left bottom right top]/PageSize [width height]/Margins [left-offset top-offset]»setpagedevice

Fichero 12: /etc/lpdfilter/test/margin.ps: Ajuste de márgenes

Los valores de los márgenes left , bottom , right y top , y del tama-ño de la hoja width y height se indican en puntos; equivaliendo eltamaño de un punto a 1/72 de pulgada (unos 0,35 mm). Los despla-zamientos left-offset y top-offset en cambio se especifican enpuntos raster, con lo cual, dependen de la resolución respectiva.

Para mover la posición de la impresión en la hoja se utiliza el fichero/etc/lpdfilter/test/offset.ps siguiente:

%!PS« /Margins [left-offset top-offset] » setpagedevice

Fichero 13: /etc/lpdfilter/test/offset.ps: Posición de la impresión

Corrección gamma Para ajustar el brillo de los colores puede crear los fiche-ros /etc/lpdfilter/test/cmyk.ps y /etc/lpdfilter/test/rgb.ps siguientes:

%!PScyan exp magenta exp yellow exp black exp setcolortransfer

Fichero 14: /etc/lpdfilter/test/cmyk.ps: Corrección gamma CMYK

%!PS{red exp} {green exp} {blue exp} currenttransfer setcolortransfer

Fichero 15: /etc/lpdfilter/test/rgb.ps: Corrección gamma RGB

89SuSE Linux – Enterprise Server 8

Page 106: Sles Admin Ipseries

El modelo de colores (CMYK o RGB) tiene que ser el adecuado para suimpresora. Los valores indicados para cyan , magenta , yellow , black ,red , green y blue deben estar entre 0,001 y 0,999 .

Suponiendo que trabaja con el sistema X Windows, lo puede probar enla pantalla de un terminal, introduciendo el siguiente comando

Sin corrección gamma:

tierra:~ # gs -r60 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

Con corrección gamma como muestran los siguientes ejemplos:

tierra:~ # gs -r60 /etc/lpdfilter/test/cmyk.ps \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

tierra:~ # gs -r60 /etc/lpdfilter/test/rgb.ps \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

El comando debe introducirse en una sola línea sin la barra inversa(ingl. backslash, ‘(’ \)).

Para terminar pulse�� ��Control +

�� ��c .

Reinicializar la impresora – Para reinicializar la impresora puede crear elfichero /etc/lpdfilter/test/reset.ps siguiente:

%!PSserverdict begin 0 exitserver

Fichero 16: /etc/lpdfilter/test/reset.ps: Reinicio de la impresora

Para activar el uso de un fichero PostScript-Preload puede crear el script/etc/lpdfilter/test/pre siguiente:

#!/bin/bashcat /etc/lpdfilter/test/preload.ps -

Fichero 17: /etc/lpdfilter/test/pre: cargar PostScript-Preload

En vez de preload hay que poner el nombre del fichero Preload adecuado.Además el script debe ser ejecutable y el fichero Preload legible para cual-quier usuario. Estos permisos se pueden definir con chmod:

tierra:~ # chmod -v a+rx /etc/lpdfilter/test/pre

tierra:~ # chmod -v a+r /etc/lpdfilter/test/preload.ps

90 El filtro de impresión del sistema LPRng/lpdfilter

Page 107: Sles Admin Ipseries

4Im

pre

sora

s

Al mismo mecanismo se puede recurrir para enviar un fichero PostScript nosólo antes, sino también después de los propios datos de impresión PostScripta la impresora.

Si desea por ejemplo reinicializar la impresora después de terminar una tarea,puede crear el script /etc/lpdfilter/test/pre siguiente:

#!/bin/bashcat /etc/lpdfilter/test/preload.ps - /etc/lpdfilter/test/reset.ps

Fichero 18: /etc/lpdfilter/test/pre: PostScript-Preload y reinicio PostScript

Ejemplo de configuración de una ”impresora GDI”

Se debe configurar una cola gdi para una impresora GDI.

Tales impresoras normalmente no se pueden usar bajo Linux; véase arriba elapartado La problemática de las impresoras GDI.

Existen drivers especiales para algunas impresoras GDI, que sirven de com-plemento al driver de Ghostscript; estos drivers adicionales convierten la sa-lida de Ghostscript al formato específico de la impresora. Hay que mencionarque tales drivers a menudo sólo permiten una impresión limitada; p. ej. sóloimpresión en blanco y negro.

Ghostscript y el driver colaboran entonces de la siguiente manera (véase tam-bién el apartado abajo Algo sobre Ghostscript)

1. Ghostscript convierte los datos PostScript en un raster de píxeles indi-viduales. Un driver GhostScript adecuado para el driver ”acoplado” dacomo salida datos raster en el formato y la resolución adecuados.

2. El driver convierte los datos raster en el formato específico de la impre-sora.

A continuación se supone que existe un driver de la impresora adecuadopara la presente versión de SuSE Linux Enterprise Server, o bien que se lopuede descargar de Internet. Además, este driver debe funcionar como se haexpuesto arriba y el lector ha de estar familiarizado con el manejo de fuen-tes Unix (p. ej. con archivos .zip o .tar.gz o paquetes .rpm . Después dedescomprimir tales archivos, normalmente se encuentra instrucciones para la

91SuSE Linux – Enterprise Server 8

Page 108: Sles Admin Ipseries

instalación, en ficheros con los nombres READMEo INSTALL o en un subdi-rectorio doc . Si se trata de un archivo .tar.gz , por regla general hay quecompilar e instalar el propio driver.

A continuación se supone que:

Existe el driver como /usr/local/bin/printerdriver .

Se necesita el driver Ghostscript pbmraw con una resolución de 600 dpi

La impresora está conectada al primer puerto paralelo /dev/lp0 .

Consulte la documentación del driver para saber qué driver Ghostscript yqué resolución debe emplear realmente.

Primero hay que crear (como usuario root ) la cola gdi con lprsetup:

tierra:~ # lprsetup -add gdi -lprng -device /dev/lp0 \-driver pbmraw -dpi 600 -size a4dj -auto -sf

Debe introducir el comando en una sola línea suprimiendo la barra inversa(ingl. backslash, ‘\’ ).

Después cree el script /etc/lpdfilter/gdi/post siguiente:

#!/bin/bash/usr/local/bin/printerdriver 〈parámetros_específicos_del_driver 〉

Fichero 19: /etc/lpdfilter/gdi/post: Llamada al driver

En caso necesario hay que indicar los 〈parámetros_específicos_del_driver〉 ade-cuados. Consulte la documentación del driver para saber qué parámetros de-be aplicar realmente.

Hay que modificar los permisos del script a fin de que cualquier usuario pue-da ejecutarlo; después el gestor de impresión se puede reiniciar :

tierra:~ # chmod -v a+rx /etc/lpdfilter/gdi/post

tierra:~ # rclpd stop

tierra:~ # rclpd start

Ahora cualquier usuario puede imprimir mediante:

tux@tierra:~ > lpr -Pgdi 〈nombrefichero 〉

92 El filtro de impresión del sistema LPRng/lpdfilter

Page 109: Sles Admin Ipseries

4Im

pre

sora

s

Buscar errores relacionados con lpdfilter

El grado de depuración (ingl. ()debug level) adecuado se activa quitando elsímbolo de comentario # delante de la línea correspondiente en el script prin-cipal /usr/lib/lpdfilter/bin/if del filtro de impresión.

# DEBUG="off"# DEBUG="low"DEBUG="medium"# DEBUG="high"

Fichero 20: /usr/lib/lpdfilter/bin/if: Grado de depuración

Al indicar DEBUG="low" sólo se guarda la salida de stderr de /usr/lib/lpdfilter/bin/if en un fichero /tmp/lpdfilter.if-\$\$.XXXXXX($$ se reemplaza por el identificador de proceso y XXXXXXpor una combina-ción de símbolos casual pero única).

Un valor de DEBUG="medium" significa que además se guarda la salidastderr de los scripts en /usr/lib/lpdfilter/filter/ , que se llamadesde /usr/lib/lpdfilter/bin/if . La salida se guarda en ficheros dela forma /tmp/lpdfilter.name-\$\$.XXXXXX (se reemplaza name por elnombre del script llamado y $$.XXXXXX como se ha descrito arriba).

Con el valor DEBUG="high" la salida no se envía a la impresora sino que seguarda en un fichero de la forma /tmp/lpdfilter.out-\$\$.XXXXXX (sereemplaza $$.XXXXXX como ya se ha descrito).

Para no perder la orientación es recomendable eliminar estos ficheros antesde empezar las pruebas con rm -v /tmp/lpdfilter* .

Filtros de impresión autodefinidos para LPRngGestor de impresión

Introducción

Este apartado no pretende ofrecer una alternativa al lpdfilter, sino explicar afondo la impresión con Linux mediante un sencillo ejemplo de un filtro deimpresión ”hecho a mano”. El ejemplo que figura aquí es lo más sencillo po-sible con el fin de explicar los pasos esenciales y por tanto el script de filtra-do no contempla p. ej. medidas de corrección de errores.

93SuSE Linux – Enterprise Server 8

Page 110: Sles Admin Ipseries

A continuación se supone que la impresora está conectada al primer puertoparalelo /dev/lp0 .

El filtro de impresión recibe del gestor (ingl. ()spooler) de impresión los da-tos a imprimir a través de la entrada estándar de datos (ingl. standard in), quedebe convertir al formato específico de la impresora para enviarlos luego ala salida estándar (ingl. standard out). El gestor se encarga de enviar todoslos datos que salen del filtro al dispositivo /dev/lp0 . El kernel envía todolo que llega al dispositivo de impresión al puerto correspondiente (p. ej. a ladirección de entrada/salida (ingl. IO-port) 0x378 ). El hardware de la com-putadora se encarga finalmente de pasar a la impresora todos los datos quelleguen a una cierta dirección (p. ej. 0x378 ) a través del cable. La impresorainterpreta los datos y los imprime.

Sólo root tiene normalmente el permiso de ejecutar los comandos de prue-ba de impresión ya que los usuarios normales no tienen derecho a accederdirectamente al dispositivo.

Los comandos en general se indican de la siguiente forma:

tierra:~ # cat fichero-ascii > /dev/lp0

Se debe sustituir fichero-ascii por el nombre del fichero ASCII existente.

Ejemplo sencillo para explicar los fundamentos del trabajo

Si se ejecuta el comando

tierra:~ # echo -en ”\rHola\r\f” >/dev/lp0

no se activa ningún gestor o filtro de impresión, ya que se accede directa-mente al dispositivo de impresión /dev/lp0 . De esta forma sólo se envíandirectamente a la impresora los signos ASCII ‘\r’ , ‘H’ , ‘o’ , ‘\r’ , ‘l’ ,‘a’ y ‘\f’ . Los ”códigos” ‘\f’ y ‘\r’ representan el carácter ASCII para”avance de página completo” (ingl. formfeed), es decir, un salto de página y elcarácter ASCII para el retorno de carro.

Con el comando:

tierra:~ # cat fichero-ascii >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

tampoco se activa ningún gestor o filtro de impresión, ya que se accede direc-tamente al dispositivo de impresión /dev/lp0 . Las letras ASCII procedentesdel fichero se envían directamente a la impresora.

94 Filtros de impresión autodefinidos para LPRng Gestor de impresión

Page 111: Sles Admin Ipseries

4Im

pre

sora

s

En Linux, dos líneas de texto en ASCII se separan mediante un carácter desalto de línea (ingl. linefeed). En DOS/Windows, dos líneas de texto se sepa-ran por un ”LineFeed” y por un símbolo de retorno de carro (CarriageRe-turn).

Si se envía p. ej.con

tierra:~ # cat /etc/SuSE-release >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

un fichero con texto ASCII directamente a la impresora mediante el comandodescrito arriba, el resultado sería el siguiente:

SuSE Linux 8.1 (i386)VERSION = 8.1 ...

En este caso la impresora sólo se dedica a ejecutar un salto de línea sin efec-tuar un retorno de carro, por no haber enviado ningún carácter ASCII de re-torno de carro (ingl. carriage return).

Sin embargo, es posible configurar la impresora de tal forma que realice unsalto de línea y un retorno de carro a base de recibir sólo el carácter ASCII desalto de línea.

Esto se consigue para impresoras con soporte del lenguaje PCL3 mediante lasecuencia de escape \033&k2G .

Esta secuencia de escape se envía a la impresora mediante

tierra:~ # echo -en "\033&k2G" >/dev/lp0

y finalmente el fichero ASCII se puede imprimir correctamente como se des-cribe arriba.

También puede ocurrir que algunos caracteres especiales se impriman mal(como p. ej. la diéresis) , ya que la codificación de estos es diferente enDOS/Windows y las impresoras suelen estar preconfiguradas para este sis-tema operativo.

Pero con

tierra:~ # cp fichero-ascii fichero-ascii.ibmpc

tierra:~ # recode lat1..ibmpc fichero-ascii.ibmpc

el fichero-ascii se copia primero a fichero-ascii.ibmpc y despuésse convierte de acuerdo a la codificación de DOS/Windows. Si se usa el co-mando

95SuSE Linux – Enterprise Server 8

Page 112: Sles Admin Ipseries

tierra:~ # cat fichero-ascii.ibmpc >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

el fichero se debe imprimir correctamente con todos los caracteres especialesy saltos de línea. No hace falta enviar una secuencia de escape especial, yaque todos los caracteres y los saltos de línea se han convertido conforme a lacodificación DOS/Windows.

Es por eso que un fichero de texto en ASCII se debe imprimir correctamen-te en una impresora capaz de procesarlo si se usa la siguiente secuencia decomandos:

tierra:~ # cp fichero-ascii fichero-ascii.ibmpc

tierra:~ # recode lat1..ibmpc fichero-ascii.ibmpc

tierra:~ # cat fichero-ascii.ibmpc >/dev/lp0

tierra:~ # echo -en "\f" >/dev/lp0

Una vez que se conoce esta secuencia se ofrece la posibilidad de realizar unfiltro de impresión que se encarga justamente de esta conversión de texto AS-CII al formato específico de la impresora.

Ejemplo de un filtro de impresión hecho a mano

Primero se genera un subdirectorio para el filtro de impresión propio y seentra a este como usuario root :

tierra:~ # mkdir /usr/local/myprinterfilter

tierra:~ # cd /usr/local/myprinterfilter

Ahora se genera un script de la shell bash con el nombre asciifilter , talcomo lo muestra el fichero 21.

#! /bin/bash

# make a temporary fileINPUT="$(mktemp /tmp/asciifilter.$$.XXXXXX)"

# First store everything from stdin in $INPUT# to have the input as a regular filecat >$INPUT

# Recode the INPUTrecode lat1..ibmpc $INPUT

96 Filtros de impresión autodefinidos para LPRng Gestor de impresión

Page 113: Sles Admin Ipseries

4Im

pre

sora

s

# Add a FormFeed at the end of $INPUT# to get the last page out of the printerecho -en "\f" »$INPUT

# Send $INPUT to stdoutcat $INPUT

# Remove the INPUT filerm $INPUT

Fichero 21: /usr/local/myprinterfilter/asciifilter

Este script se debe convertir en ejecutable para todos los usuarios mediante:

tierra:~ # chmod -v a+x /usr/local/myprinterfilter/

tierra:~ # chmod -v a+rx /usr/local/myprinterfilter/asciifilter

Con lprsetup se genera una cola de impresión adicional (verlprsetup -help ). Como nombre de la cola de impresión empleamos afen vez de ”asciifilter”.

tierra:~ # lprsetup -add af -lprng -device /dev/lp0 -raw -sf

Reemplace en la entrada de ag en /etc/printcap denla línea if sólo /usr/lib/lpdfilter/bin/if por/usr/local/myprinterfilter/asciifilter , tal como se reflejaen el extracto del fichero:

af:\:cm=lpdfilter drv= method=raw color=no:\:lp=/dev/lp0:\:sd=/var/spool/lpd/af:\:lf=/var/spool/lpd/af/log:\:af=/var/spool/lpd/af/acct:\:if=/usr/local/myprinterfilter/asciifilter:\:la@:mx#0:\:tr=:cl:sh:

Fichero 22: /etc/printcap: filtro hecho a mano

Ahora apague y reinicie el gestor de impresión mediante

tierra:~ # rclpd stop

tierra:~ # rclpd start

97SuSE Linux – Enterprise Server 8

Page 114: Sles Admin Ipseries

Ahora cualquier usuario debería poder imprimir a la nueva cola af median-te:

tux@tierra:~ > lpr -Paf fichero-ascii

El sistema de impresión CUPS

Convenciones lingüísticas

Con ”cliente” o ”programa cliente” se indica un programa que se iniciará pa-ra enviar tareas de impresión al daemon CUPS.

un ”daemon” es un servicio local que acepta tareas de impresión, que luegoreenvía o procesa él mismo.

Un ”servidor” es un daemon que puede enviar datos a una o más impreso-ras. Cada servidor tiene simultáneamente la funcionalidad de un daemon.

En la mayoría de los casos ni los usuarios ni los desarrolladores de CUPSdistinguen especialmente entre los conceptos ”servidor” y ”daemon”.

IPP y servidor

Las tareas de impresión se envían con programas basados en CUPS, co-mo lpr , kprinter o xpp , y con ayuda de IPP, Internet Printing Protocols– Protocolos de impresión de Internet. IPP está definido con los ”Estándarsde Internet” (ingl. Internet-Standards) RFC-2910 y RFC-2911 (véase http://www.rfc-editor.org/rfc.html ). IPP es parecido al protocolo webHTTP: tienen la misma cabecera pero distintos datos de uso. Para la comu-nicación también se utiliza un puerto distinto y específico, el puerto 631, re-gistrado por IANA ((ingl. Internet Authority for Number Allocation) (Autoridaden Internet para la asignación de nombres)).

Los datos se envían al daemon CUPS configurado que suele ser el servidorlocal. También es posible comunicarse con otros daemons, por ejemplo, conayuda de la variable shell CUPS_SERVER.

Con ayuda de la función de ”broadcast” del daemon CUPS se puede hacerun broadcast en la red que busca las impresoras locales que este daemon ad-ministra (puerto 631 UDP), con lo que aparecerán en las colas de impresiónde todos los daemons que reciban este paquete de broadcast o que lo puedan

98 El sistema de impresión CUPS

Page 115: Sles Admin Ipseries

4Im

pre

sora

s

utilizar (configurable). Esto tiene ventajas para las redes de empresas ya quede este modo, nada más arrancar la computadora, se pueden ”ver” todas lasimpresoras disponibles, sin tener que configurarlas manualmente. Pero estoconlleva un peligro si la computadora se conecta a Internet. Con la configura-ción de la función broadcast se debe tener cuidado de que sólo se retransmitaen la red local, de que sólo pueda acceder la red local, y de que la direcciónIP pública para la conexión a Internet no se encuentre dentro del campo dela dirección de la red local. Si no, otros usuarios con el mismo proveedorde servicios de Internet (ingl. ()Internet Service Providers) también podrían”ver” y utilizar estas impresoras. Además estos broadcasts generan tráfico enla red, que implica costes añadidos. Por eso siempre se debe estar seguro deque tales paquetes de broadcast no son enviados a Internet por las impreso-ras locales, p. ej. con ayuda del filtro de paquetes SuSE Firewall. Para recibirel broadcast no se debe configurar nada en especial. Sólo al enviar se debeañadir una dirección de broadcast (p. ej. que se puede configurar con YaST2).IPP se utiliza para la comunicación entre daemons CUPS locales y remotos(también servidores CUPS). Las impresoras de red más modernas (de diver-sos fabricantes) también soportan IPP. Puede encontrar más información enlas páginas web del fabricante o en el manual de la impresora.Asimismo Windows 2000 (y posteriores) ofrece soporte para IPP. Lamenta-blemente hubo problemas con el formato de implementación, que o han sidoresueltos o pueden resolverse con el pack de servicios (ingl. ()service pack).

Configuración del servidor CUPS

Hay muchas maneras de configurar impresoras y el daemon con CUPS: a tra-vés de la línea de comandos, con YaST2, el centro del control de KDE, interfa-ces web, etc. En las siguientes secciones se hablará de las herramientas parala línea de comandos y de YaST2, pero estas no son las únicas posibilidades.

AvisoLa interfaz de web conlleva el riesgo de poner en peligro la contraseñadel superusuario, ya que esta se puede enviar a la red en texto sencillopara que se pueda dar el nombre de la computadora en la URL. Portanto utilice siempre exclusivamente http://localhost:631/ , yninguna otra dirección bajo ninguna circunstancia.

Aviso

Por este motivo se restringió también el acceso de administración del daemonCUPS; para que sólo pueda ser configurado cuando la comunicación se rea-liza mediante ”localhost” (lo que es idéntico a la dirección IP 127.0.0.1 ) Sise realiza de otra forma, se recibe el correspondiente mensaje de error.

99SuSE Linux – Enterprise Server 8

Page 116: Sles Admin Ipseries

Para administrar impresoras locales es necesario que haya un daemon CUPSen funcionamiento en la computadora local. Para ello se instala el paquetecups y los ficheros PPD generados por SuSE en los paquetes cups-driversy cups-drivers-stp . Después arranque el servidor (como root ) con el co-mando: /etc/rc.d/cups restart . Al configurar con YaST2 se realiza im-plícitamente la instalación y el arranque cuando se elige CUPS como sistemade impresión.PPD son las siglas de ”PostScript Printer Description – Descripción de impre-soras PostScript” y es un estándar para describir opciones de impresión concomandos PostScript. En CUPS son necesarios para la instalación de la impre-sora. SuSE Linux proporciona ficheros PPD generados para diversas impre-soras de varios fabricantes. Pero también los fabricantes proporcionan en suspáginas web y CDs de instalación ficheros PPD para impresoras PostScript(mayormente en el campo de la ”instalación de Windows NT”).También se puede iniciar el daemon local con la intención de poner a dispo-sición todas las impresoras de todos los servidores de broadcast, aunque noexista ninguna impresora local.El broadcast se configura con YaST2, o dando el valor On (por defecto) a lavariable ”Browsing” en el fichero /etc/cups/cupsd.conf , y un valor ade-cuado (por ejemplo 192.168.255.255 ) a la variable ”BrowseAddress”.Para que se puedan aceptar tareas de impresión, se debe permitir la recogi-da al menos de <Location /printers> , o mejor <Location /> . Paraello se debe complementar con Allow From xyz-host.mydomain ; véa-se file:/usr/share/doc/packages/cups/sam.html . Con el comando/etc/rc.d/cups reload (como superusuario) se acepta la nueva configu-ración después de haber trabajado con los ficheros del daemon.

Impresoras de red

Las impresoras de red son impresoras definidas por un servidor de impresióno interfaz de red (como la que ofrece HP con la interfaz JetDirect), o impreso-ras conectadas a un servidor de impresión o enrutador con la funcionalidadde un servidor de impresión, o similar. No se trata de computadoras Win-dows que ponen a disposición una impresora como ”share”. Aunque tambiénse puede establecer comunicación fácilmente con estas por medio de CUPS.La mayor parte de las impresoras de red soportan el protocolo LPD (puerto515). Esto se puede comprobar con el siguiente comando:netcat -z nombrecomputadora.dominio 515 && echo ok || echo failed

Después se puede configurar con el dispositivo URI (terminología CUPS)lpd://Server/Queue . Más sobre los dispositivos URIs en file:/usr/share/doc/packages/cups/sam.html

100 El sistema de impresión CUPS

Page 117: Sles Admin Ipseries

4Im

pre

sora

s

Suele ser mejor comunicarse con tales impresoras a través del puerto 9100(HP, Kyocera, ...) o el puerto 35 (QMS), sin un protocolo LPD conectado deantemano. Entonces el dispositivo URI dice socket://Server:Port/

Para imprimir en impresoras Windows, debe estar instalado el paquete pa-quete samba-client y tener Samba correctamente configurado, el ”grupode trabajo” (ingl. workgroup) debe estar bien definido, etc. Los dispositivosURI para computadoras Windows pueden tener diferentes formas. La más co-mún es: smb://user:password@host/printer . Para todas las demás for-mas posibles, véase file:/usr/share/doc/packages/cups/sam.html ypágina del manual de smbspool (man smbspool ).

Si tiene una impresora de red configurada y posee una pequeña red con va-rios PCs (Linux), es útil no tener que configurar las impresoras de red en to-dos los clientes. Por eso en este caso se debe activar la funcionalidad ”broad-cast” del daemon. Asimismo no es necesario realizar los cambios en las confi-guraciones, tales como fijar el tamaño estándar del papel con el valor Letter(carta), en cada uno de los clientes, sino que basta con hacerlo una vez en elservidor. (véase sección Configuración de la cola de impresión en la página 106).Estas configuraciones se almacenarán localmente pero, mediante las herra-mientas CUPS o el protocolo IPP, aparecerán en todos los clientes.

Manejo interno de las tareas

Convertir a PostScript

En principio se envía cada tipo de fichero a un daemon CUPS. Los ficherosPostScript son los que causan menos problemas. Una conversión a PostScriptmediante CUPS se realiza correctamente cuando el tipo de fichero se identifi-ca mediante /etc/cups/mime.types , tras lo que se invoca a la herramientacorrespondiente que se encuentra en /etc/cups/mime.convs . Esta conver-sión tiene lugar en el servidor y no en el cliente, en contraposición al gestorLPR tradicional. Con esto se quiere conseguir que las conversiones especia-les sólo se puedan realizar en el servidor previsto para esta tarea. Esto tieneventajas y desventajas.

Recuento (ingl. accounting)

Después de la conversión PostScript se averigua el número de páginas de latarea de impresión. Para ello CUPS arranca una herramienta (propia) pstops(/usr/lib/cups/filter/pstops ). El número de hojas se describe en/var/log/cups/page_log .

Las entradas de una línea tienen el siguiente significado:

101SuSE Linux – Enterprise Server 8

Page 118: Sles Admin Ipseries

nombre de la impresora (por ejemplo lp ),

nombre de usuario (por ejemplo root ),

número de tarea,

fecha entre paréntesis [],

página de la tarea que se está imprimiendo,

número de copias.

Más filtros

También se pueden activar otros filtros y de esta forma escoger las opcionescorrespondientes de la impresión. Los siguiente tienen un interés especial:

psselect: si sólo se debe imprimir algunas hojas del documento,

ps-n-up: en caso de que se quiera imprimir varias páginas del documentoen un sola hoja.

Estos filtros no se pueden configurar. En file:/usr/share/doc/packages/cups/sum.html se describe cómo se puede activar las opciones.

Cambios específicos de impresoras

En el siguiente paso se arranca el filtro necesario para generar datos específi-cos de la impresora (por ejemplo /usr/lib/cups/filter/cupsomatic ).Se puede indicar este filtro en el fichero PPD de instalación; si no surgirá deuna impresora PostScript. Todas las opciones de impresión que dependan deldispositivo, tales como la resolución y el tamaño del papel, se elaboran eneste filtro.

No se recomienda generar filtros propios específicos de la impresora.

Resultado de la impresión

Finalmente se invocará al ”backend”. Se trata de un filtro especial queenvía los datos de impresión a un dispositivo o a una impresora dered (véase /usr/share/doc/packages/cups/overview.html ). El”backend” posibilita la comunicación con el dispositivo o con la impre-sora de red (depende del dispositivo URI indicado en la instalación ).Por ejemplo, un backend puede ser usb , y el programa que lo invoca

102 El sistema de impresión CUPS

Page 119: Sles Admin Ipseries

4Im

pre

sora

s

/usr/lib/cups/backend/usb . En este punto se abrirá (y sellará) el dispo-sitivo USB en el sistema de ficheros, se realizará una inicialización preliminar,y se enviará los datos procedentes del filtro. Al final el dispositivo se cierra ylibera al sistema.

Estos son los backends disponibles hoy en día: paralelo, serie, usb,ipp, lpd, http, socket (del paquete CUPS), así como canon y epson (decups-drivers-stp ), y smb (de samba-client ).

Sin filtro

Si quiere imprimir sin filtros, indique la opción -l en el comando lpr o laopción -oraw en lp . Normalmente las impresoras no funcionan porque no seinvoca al GhostScript intérprete (cupsomatic) o no se ponen en funcionamien-to otros filtros importantes. Con otras herramientas CUPS, las opciones sonsimilares.

Consejos y trucos

OpenOffice

Al imprimir desde OpenOffice, CUPS se soporta de tal manera que no es ne-cesario configurar la impresora, como ocurría en StarOffice 5.2. OpenOffice”reconoce” ahora si hay un daemon CUPS en funcionamiento y solicita a estelas impresoras y opciones disponibles. Una configuración adicional de Ope-nOffice será innecesaria en un futuro.

Si se quiere utilizar las herramientas CUPS para imprimir con OpenOffice,debe evitar que el comando de impresión llame a un programa que de nuevoabra una ventana de diálogo; para ello se puede usar kprinter o xpp . Talesprogramas pueden causar que OpenOffice se cuelgue con un proceso activo.

Windows

Nos podemos comunicar con las impresoras de una máquina Windows me-diante el dispositivo URI smb://server/printer ; véase más arriba.

En el caso contrario, o sea que se quiera imprimir desde Windows enun servidor CUPS, se debe fijar en el fichero de configuración de Samba/etc/samba/smb.conf la entrada printing = cups o printing =CUPSy volver a iniciar el servidor smb; véase file:/usr/share/doc/packages/cups/sam.html

103SuSE Linux – Enterprise Server 8

Page 120: Sles Admin Ipseries

Impresoras ”en crudo” (ingl. ()raw)

Una impresora ”raw” se configura de tal forma que, en la instalación, se de-jan de lado los ficheros PPD, no se realiza ni el filtrado ni el recuento. Pa-ra ello se debe enviar los datos en un formato adecuado a la impresora. Laspruebas realizadas en SuSE no han tenido mucho éxito, por lo que no reco-mendamos este método.

Opciones de la impresora

Las opciones de configuración (p. ej. de forma estándar otro número DPI) sealmacenan en el fichero ~/.lpoptions . Si se elimina del servidor una im-presora de este tipo (sin configurar), de aquí en adelante será visible en lasdiversas herramientas, como kprinter o xpp . Incluso aunque ya no exista,se puede seleccionar, lo cual causa problemas. Los usuarios experimentadospodrán eliminar las líneas problemáticas de ~/.lpoptions con un editor.

Compatibilidad con LPR

CUPS también puede recibir tareas de impresión de sistemas LPR. Se puederealizar la configuración necesaria en /etc/inetd.conf con YaST2. O sedebe eliminar el signo de comentario del inicio de la línea de ”impresora”(ingl. ()printer) en /etc/inetd.conf . A continuación un ejemplo (comoroot ):

perl -pi -e ’s:^\# (printer):$1:’ /etc/inetd.confrcinetd reload

Si desea volver a LPRng, debe volver a introducir el signo de comentario:

perl -pi -e ’s:^(printer):# $1:’ /etc/inetd.confrcinetd reload

Herramientas de línea de comandos parasistemas de impresión CUPS

Las herramientas de línea de comandos y las páginas man correspondien-tes para sistemas CUPS se encuentran en el paquete cups-client ; la docu-mentación se encuentra en el paquete cups dentro de /usr/share/doc/packages/cups/ . En especial el ”CUPS Software Users Manual” en

104 Herramientas de línea de comandos para sistemas de impresión CUPS

Page 121: Sles Admin Ipseries

4Im

pre

sora

s

file:/usr/share/doc/packages/cups/sum.htmly el ”CUPS Software Administrators Manual” enfile:/usr/share/doc/packages/cups/sam.htmly sobre cupsd locales en funcionamiento enhttp://localhost:631/documentation.htmlPara estas herramientas es importante el orden de las opciones. Es caso deduda, eche un vistazo a la correspondiente página man.

Para colas de impresión locales

Generar tareas de impresión

Por lo general se imprime en ”System V Art” con

tux@tierra:~ > lp -d 〈colaimpresión 〉 〈fichero 〉

o en ”Berkeley Art” con

tux@tierra:~ > lpr -P 〈colaimpresión 〉 〈fichero 〉

Más información en página del manual de lpr (man lpr ) y página del ma-nual de lp (man lp ) y en la sección ”Using the Printing System” enfile:/usr/share/doc/packages/cups/sum.html#USING_SYSTEMen CUPS Software Users Manual.

Con el parámetro adicional -o se puede fijar opciones de gran alcance o deltipo de impresión. Más información en página del manual de lpr (man lpr )y página del manual de lp (man lp ) y en la sección ”Standard Printer Op-tions” enfile:/usr/share/doc/packages/cups/sum.html#STANDARD_OPTIONSen CUPS Software Users Manual.

Mostrar el estado

En ”System V Art” con

tux@tierra:~ > lpstat -o 〈colaimpresión 〉 -p 〈colaimpresión 〉

o en ”Berkeley Art” con

tux@tierra:~ > lpq -P 〈colaimpresión 〉

se mostrará el estado de una cola de impresión.

Sin la indicación de la cola de impresión se mostrarán todas las colas; ylpstat -o mostrará todas las tareas de impresión activas con la forma〈colaimpresión〉-〈númerotarea〉.

105SuSE Linux – Enterprise Server 8

Page 122: Sles Admin Ipseries

Con lpstat -l -o 〈colaimpresión 〉 -p 〈colaimpresión 〉 se mostrarámás información y con lpstat -t bzw. lpstat -l -t se mostrará toda lainformación disponible.

Más información en la página del manual de lpq (man lpq ), la página delmanual de lpstat (man lpstat ) y en la sección ”Using the Printing Sys-tem” enfile:/usr/share/doc/packages/cups/sum.html#USING_SYSTEMde CUPS Software Users Manual.

Eliminar tareas de impresión

En ”System V Art”

tux@tierra:~ > cancel 〈colaimpresión 〉- 〈númerotarea 〉

o en ”Berkeley Art”

tux@tierra:~ > lprm -P 〈colaimpresión 〉 〈númerotarea 〉

eliminan las tareas que tengan esos números en las colas indicadas.

Más información en la página del manual de lprm (man lprm ), la páginadel manual de cancel (man cancel ) y en la sección ”Using the PrintingSystem” enfile:/usr/share/doc/packages/cups/sum.html#USING_SYSTEMde CUPS Software Users Manual.

Configuración de la cola de impresión

En la sección ”Standard Printer Options” del CUPS Software Users Manual quese encuentra enfile:/usr/share/doc/packages/cups/sum.html#STANDARD_OPTIONSse describen las opciones estándar independientes del hardware para definirel tipo de impresión, y en la sección ”Saving Printer Options and Defaults”enfile:/usr/share/doc/packages/cups/sum.html#SAVING_OPTIONSse describe cómo se pueden guardar las distintas opciones.

Las opciones específicas de impresoras para determinar el tipo de impresiónse fijan en los ficheros PPD, que pertenecen a la cola de impresión correspon-diente, y con el comando

tux@tierra:~ > lpoptions -p 〈colaimpresión 〉 -l

se muestran de la siguiente manera:

106 Herramientas de línea de comandos para sistemas de impresión CUPS

Page 123: Sles Admin Ipseries

4Im

pre

sora

s

Option/Text: Wert Wert Wert ...

donde un * delante del valor de una opción representa la configuración ac-tual.

Ejemplo:

PageSize/Page Size: A3 *A4 A5 Legal LetterResolution/Resolution: 150 *300 600

Aquí la opción PageSize está fijada en A4 y la resolución en 300 .

Con

tux@tierra:~ > lpoptions -p 〈colaimpresión 〉 -o option=wert

se puede configurar otro valor

Así en el ejemplo anterior con

tux@tierra:~ > lpoptions -p 〈colaimpresión 〉 -o PageSize=Letter

se cambia el tamaño del papel en la cola de impresión correspondiente alvalor Letter .

Si un usuario normal escribe este comando lpoptions , las configuracionessólo se guardarán para ese usuario en el fichero ~/.lpoptions .

Si lo hace el administrador del sistema root lpoptions , las configuracionesquedarán predeterminadas para todos los usuarios de las computadoras loca-les y se guardarán en el fichero /etc/cups/lpoptions . Los ficheros PPDno se modificarán.

Sólo cuando se modifiquen las configuraciones estándar de un fichero PPDde una cola de impresión, será válido para los usuarios de toda la red queimpriman en esa cola.

El administrador del sistema puede modificar las configuraciones estándar enlos ficheros PPD de una cola de impresión con

tierra:~ # lpadmin -p 〈colaimpresión 〉 -o option=wert

Así en el ejemplo anterior con

tierra:~ # lpadmin -p 〈colaimpreión 〉 -o PageSize=Letter

se cambiará el tamaño de papel predeterminado al valor Letter en la colacorrespondiente para todos los usuarios de la red..

107SuSE Linux – Enterprise Server 8

Page 124: Sles Admin Ipseries

Para colas de impresión remotas

Se sustituye el servidor de impresión (ingl. ()print-server) por el nombreo la dirección IP del servidor de impresión, y la variable 〈colaimpresión〉 debeser una cola que se encuentre en ese servidor.

Aquí se indican los comandos básicos. Más posibilidades y fuentes de infor-mación en la sección Para colas de impresión locales en la página 105.

Generar tareas de impresión

En ”System V Art” con

tux@tierra:~ > lp -d 〈colaimpresión 〉 -h print-server 〈fichero 〉

o en ”Berkeley Art” con

tux@tierra:~ > lpr -P 〈colaimpresión 〉@servidorimpresión 〈fichero 〉

se generará una tarea de impresión en la cola de impresión del servidor indi-cado.

Se supone que el servidor de impresión está configurado de tal forma que sepuede imprimir en sus colas de impresión. De forma estándar este no es elcaso con CUPS, pero se puede configurar con la configuración de impresorasde YaST2 en una rama de menú avanzado en las configuraciones del servidorCUPS.

Mostrar estado

En ”System V Art” con

tux@tierra:~ > lpstat -h servidorimpresión -o 〈colaimpresión 〉 -p〈colaimpresión 〉

se mostrará el estado de dicha cola en el servidor de impresión indicado.

Eliminar tareas de impresión

El comando ”System V Art”

tux@tierra:~ > cancel -h servidorimpresión 〈colaimpresión 〉-〈númerotarea 〉

elimina la tarea de impresión que tenga ese número en la cola del servidorindicado.

108 Herramientas de línea de comandos para sistemas de impresión CUPS

Page 125: Sles Admin Ipseries

4Im

pre

sora

s

Resolución de problemas en CUPS

La resolución de problemas ocurre de forma similar a la sección Resolución deproblemas con los comandos anteriores en LPRng en la página 83, sólo que conCUPS se necesitan otros comandos en el segundo paso:

1. Primero retire todo el papel para que se detenga la impresión.

2. Compruebe con lpstat -o (o conlpstat -h servidorimpresión -o ) de qué cola esla tarea que se está imprimiendo y elimínela la tarea concancel 〈colaimpresión 〉- 〈númerotarea 〉 (o concancel -h servidorimpresión 〈colaimpresión 〉- 〈númerotarea 〉).

3. Utilice el comando fuser .

4. Restablezca la impresora por completo.

Algo sobre Ghostscript

Ghostscript acepta como entrada ficheros PostScript y PDF y ofrece una can-tidad de drivers Ghostscript para la conversión a otros formatos, que Ghosts-cript denomina ”devices”.

Ghostscript realiza la conversión en dos pasos:

1. Los datos PostScript son ”rasterizados” – es decir, que el gráfico descri-to en PostScript es descompuesto en un raster fino de píxeles. Este pasose realiza independientemente del driver Ghostscript empleado. Cuantomás fino es el raster (por tanto cuanto más alta es la resolución), másalta es la calidad de la salida. Hay que tener en cuenta que con una do-ble resolución, tanto horizontal como verticalmente, se cuadruplica elnúmero de puntos de raster, con lo cual se cuadruplica también el gastode tiempo de cpu y de memoria.

2. El driver Ghostscript convierte ahora el gráfico descompuesto en puntosde raster al formato finalmente deseado (p. ej. al lenguaje de impresióndeseado).

Ghostscript no se limita a ofrecer drivers de impresoras. También es capaz deprocesar ficheros PostScript para la salida en pantalla o de convertirlos a PDF.

109SuSE Linux – Enterprise Server 8

Page 126: Sles Admin Ipseries

Se recomienda recurrir al programa gv (paquete gv ) para visualizar en panta-lla ficheros PostScript, ya que es una interfaz gráfica para GhostScript.

Ghostscript es un programa muy amplio con varias opciones en la línea decomando. La documentación más importante, aparte de página del manualde gs (man gs) y una lista de los drivers Ghostscript, se encuentra en:

file:/usr/share/doc/packages/ghostscript/catalog.devices

y sobre todo en:

file:/usr/share/doc/packages/ghostscript/doc/index.htmlfile:/usr/share/doc/packages/ghostscript/doc/Use.htmfile:/usr/share/doc/packages/ghostscript/doc/Devices.htmfile:/usr/share/doc/packages/ghostscript/doc/hpdj/gs-hpdj.txtfile:/usr/share/doc/packages/ghostscript/doc/hpijs/hpijs_readme.htmlfile:/usr/share/doc/packages/ghostscript/doc/stp/README

Después de haber procesado en la línea de comandos una llamada directaa Ghostscript, se lanza un diálogo con un prompt propio GS>, del cual sepuede salir con el comando quit .

El comando de ayuda gs -h da una lista de las opciones más importantes yuna lista actual de los dispositivos soportados. Tratándose de un driver quetiene soporte para varios modelos, sólo aparece la denominación general deldriver como uniprint o stp . Los ficheros de parámetros para uniprinty los modelos de stp están listados explícitamente en file:/usr/share/doc/packages/ghostscript/catalog.devices .

Ejemplos de trabajo con Ghostscript

En file:/usr/share/doc/packages/ghostscript/examples se en-cuentran múltiples ficheros en formato PostScript.

La ”elipse de color” file:/usr/share/doc/packages/ghostscript/examples/colorcir.ps sirve para comprobar el funcionamiento de la im-presora.

Visualización en X11

Para visualizar un fichero de PostScript en sistema X Window se puede usarel comando gs :

tux@tierra:~ > gs -r60 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps

110 Algo sobre Ghostscript

Page 127: Sles Admin Ipseries

4Im

pre

sora

s

El comando se introduce en una sola línea sin la barra inversa (‘\’ ).

Con la opción -r se especifica la resolución, que tiene que ser adecuada parael respectivo dispositivo de salida (impresora o pantalla) (pruebe p. ej. -r30 ).Para terminar hay que pulsar

�� ��Control +�� ��c dentro de la ventana de terminal

desde la que se ha lanzado gs .

Conversión a PCL5e o PCL6

Para convertir un fichero PostScript al formato específico para una impresoraPCL5e o PCL6 se usa el comando:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=ljet4 -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

Se debe introducir en una sola línea suprimiendo la barra inversa (‘\’ ); ade-más se supone que el fichero /tmp/out.prn aún no existe.

Conversión a PCL3

Para convertir un fichero PostScript al formato específico para una impresoraPCL3 se usa uno de los siguientes comandos:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=deskjet -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=hpdj -r300x300 \-sModel=500 -sColorMode=mono -dCompressionMethod=0 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=cdjmono -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

111SuSE Linux – Enterprise Server 8

Page 128: Sles Admin Ipseries

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=cdj500 -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=cdj550 -r300x300 \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

Todos los comandos se han de introducir en una sola línea sin\.)

Conversión a ESC/P, ESC/P2 o ESC/P-Raster

Para convertir un fichero PostScript al formato específico para una impresoraESC/P2, ESC/P o ESC/P Raster, se usa p. ej. uno de los siguientes comandos:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\@stcany.upp \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\-sDEVICE=stcolor -r360x360 \-dBitsPerPixel=1 -sDithering=gsmono -dnoWeave \-sOutputCode=plain \/usr/share/doc/packages/ghostscript/examples/colorcir.ps \quit.ps

Con estos comandos se ve la diferencia entre la llamada a Ghostscript usan-do un fichero de parámetros para el driver uniprint o usando otro driver”normal” de Ghostscript. Dado que todos los parámetros específicos del dri-ver se encuentran dentro del fichero de parámetros de uniprint, ya no hacefalta indicar parámetros específicos, como es el caso en los demás drivers deGhostscript.

Envío directo a la impresora

Después de cada uno de los comandos arriba indicados, los datos específicosde impresora se encuentran en /tmp/out.prn . Suponiendo que la impresora

112 Algo sobre Ghostscript

Page 129: Sles Admin Ipseries

4Im

pre

sora

s

esté conectada al primer puerto paralelo el root puede enviar estos datosdirectamente a la impresora mediante:

tierra:~ # cat /tmp/out.prn >/dev/lp0

Algo sobre a2ps

Para imprimir un fichero ASCII con Ghostscript hay que convertirlo primeromediante el programa a2ps (paquete a2ps ) a PostScript. La conversión esnecesaria porque Ghostscript espera PostScript como formato de entrada.

a2ps es una herramienta potente para convertir texto plano a un formatoPostScript de alta calidad.

a2ps es un programa muy flexible con varias opciones de la línea de coman-do. La documentación más importante se encuentra en página del manual dea2ps (man a2ps).

Ejemplos de trabajo con a2ps

Impresión directa de un fichero de texto con a2ps

Para convertir un fichero de texto a PostScript con a2ps, para que se impri-man 2 páginas en tamaño reducido en una sola hoja, se puede usar el si-guiente comando:

tux@tierra:~ > a2ps -2 -medium=A4dj -output=/tmp/out.psficherotexto

Para controlar la salida de a2ps puede ejecutar

tux@tierra:~ > gs -r60 /tmp/out.ps

visualizando en la pantalla el fichero PostScript generado. Pulsando�� ��return en

la ventana de terminal desde la que ha llamado el comando gs , puede saltara la página siguiente (

�� ��Control +�� ��c para terminar).

Puede pasarlo después al formato específico de impresora, definiendo〈driver_parameter〉 según el apartado anterior, mediante:

tux@tierra:~ > gs -q -dNOPAUSE -dSAFER -sOutputFile=/tmp/out.prn\ 〈driver_parameter 〉 \/tmp/out.ps quit.ps

113SuSE Linux – Enterprise Server 8

Page 130: Sles Admin Ipseries

En el caso de que la impresora se encuentre conectada al primer puerto para-lelo /dev/lp0 , root puede enviar la salida de PostScript directamente (singestor de impresión o filtro de impresión) a la impresora, mediante:

tierra:~ # cat /tmp/out.prn > /dev/lp0

Imprimir tarjetas de visita

Para demostrar las capacidades de a2ps seguimos con la impresión de tarjetasde visita sencillas.

Para crear una tarjeta de visita como fichero de texto plano tarjeta

Título Nombre ApellidoCalleCódigo postal LocalidadE-Mail: user@domainTeléfono: Número

Fichero 23: card: Una tarjeta de visita

Añadir el carácter ASCII \f (avance de página completo) (ingl. formfeed) paraempezar una nueva hoja, con el fin de que a2ps pueda tratar las tarjetas devisita individuales como páginas individuales.

tux@tierra:~ > echo -en "\f" >>tarjeta

Reproducción de 10 piezas en el fichero tarjetas :

tux@tierra:~ > for i in $(seq 1 10) ; do cat tarjeta >>tarjetas; done

Determinar la línea más larga de tarjetas :

tux@tierra:~ > cat tarjetas | wc -L

Al convertir a PostScript, con las 10 tarjetas de visita en una sola hoja, dis-puestas en dos columnas con 5 tarjetas en cada columna y disponiendo deun marco para cada una de las tarjetas, se maximiza el tamaño de fuente deacuerdo a la línea más larga, y la página no contiene encabezamiento o piede página adicionales:

114 Algo sobre a2ps

Page 131: Sles Admin Ipseries

4Im

pre

sora

s

tux@tierra:~ > a2ps -i -j --medium=a4dj --columns=2 --rows=5 \--no-header --chars-per-line=número --output=tarjetas.pstarjetas

El comando se debe introducir en una sola línea, suprimiendo la barra inver-sa (‘\’ ); para número hay que indicar el número que previamente ha sidomostrado al determinar la línea más larga.

Después de comprobar el resultado en la pantalla congs -r60 tarjetas.ps , se puede imprimir directamente a la impresoracomo se ha indicado arriba. Otra opción es usar el comando lpr sirviéndosedel sistema de impresión haciendo una llamada a lpr tarjetas.ps

Modificar el formato PostScript con psutils

Para modificar el formato se debe imprimir en un fichero /tmp/in.ps desdeuna aplicación y comprobar con file /tmp/in.ps que realmente se tratade un fichero PostScript.

Programas para el cambio de formato de datos PostScript se encuentran enpaquete psutils . En especial el programa pstops posibilita cambios degran alcance. Véase la página del manual de pstops (man pstops ). Puestoque el paquete psutils no está instalado de forma estándar, se deberá hacerantes de utilizarlo.

Las siguientes llamadas sólo funcionan para ficheros PostScript que fuerongenerados ”tan bien” que es posible modificar el formato, lo que suele sernormal. Sin embargo, dependiendo de la aplicación que ha generado el fiche-ro PostScript puede llegar a ser imposible.

psnup

Con

tux@tierra:~ > psnup -2 /tmp/in.ps /tmp/out.ps

se puede cambiar de /tmp/in.ps a /tmp/out.ps , con lo que se presen-tarán dos páginas reducidas en una sola hoja. Puesto que se incrementa lacomplejidad de la impresión cuando se reducen dos páginas para que quepanen una hoja, algunas impresoras PostScript, que no disponen de la memoriasuficiente, pueden llegar a fracasar.

115SuSE Linux – Enterprise Server 8

Page 132: Sles Admin Ipseries

pstops

Se puede fijar un tamaño y posición individual con pstops de la forma si-guiente:

tux@tierra:~ > pstops ’1:[email protected](2cm,3cm)’ /tmp/in.ps /tmp/out.ps

Aquí se escala con el factor 0.8, con lo que una página A4 de ca. 21x30 cmse reduce a ca. 17x24 cm. Eso provoca que haya un margen adicional a laderecha de ca. 4 cm y en la parte superior de ca. 6 cm. Así todo se moverá 2cm a la derecha y 3 cm hacia arriba, para que los márgenes tengan el mismogrosor en toda la página.

Estas llamadas de pstops también funcionan para aplicaciones que tienen pre-sentaciones óptimas en las que todo debe caber en una sola página, esto es,en las que la impresión procedente de la aplicación en /tmp/in.ps era de-masiado grande.

Con

tux@tierra:~ > pstops ’1:[email protected](2cm,3cm)’ /tmp/in.ps /tmp/out1.ps

tux@tierra:~ > psnup -2 /tmp/out1.ps /tmp/out.ps

se consigue que quepan dos páginas reducidas en una sola hoja, pero conmucho espacio entre las páginas reducidas.

Es mejor posicionar individualmente cada página:

tux@tierra:~ > pstops ’2:[email protected](20cm,2cm)[email protected](20cm,15cm)’ \/tmp/in.ps /tmp/out.ps

El comando debe introducirse en una sola línea sin barra inversa ‘\’ .

El resultado de pstops ’2:[email protected](20cm,2cm)[email protected](20cm,15cm)’ :

2:0 ... +1 significa que cada dos páginas se sitúan la una al lado de la otra,donde las páginas modulo 2 se cuenta también como página 0 (modulo2) y página 1 (modulo 2).

[email protected](20cm,2cm) significa que la correspondiente página 0 (modulo 2) segira 90 grados a la izquierda, se escala con el factor 0.6 y se mueve 20cm hacia la derecha y 2 cm hacia arriba.

[email protected](20cm,15cm) de forma análoga se gira la correspondiente página 1(módulo 2) 90 grados, se escala con el factor 0.6 y se mueve 20 cm ha-cia la derecha y 15 cm hacia arriba.

116 Modificar el formato PostScript con psutils

Page 133: Sles Admin Ipseries

4Im

pre

sora

s

Ilustración:

En PostScript el punto cero del sistema de coordenadas es la esquina inferiorizquierda de la hoja de papel, aquí indicado con +.

Aquí una página 0 (modulo 2) con tres líneas de texto:

+

Giro a la izquierda de 90 grados:

+

Escalar con el factor 0.6:

+

Mover 20 cm a la derecha y 2 cm hacia arriba:

117SuSE Linux – Enterprise Server 8

Page 134: Sles Admin Ipseries

+

Una página 1 (modulo 2) con dos líneas de texto:

+

Giro a la izquierda de 90 grados de la página 1 (modulo 2):

+

Escalar la página 1 (modulo 2) con el factor 0.6:

+

118 Modificar el formato PostScript con psutils

Page 135: Sles Admin Ipseries

4Im

pre

sora

s

Mover la página 1 (modulo 2) 20 cm a la derecha y 15 cm hacia arriba:

+

psselect

Con psselect se pueden seleccionar páginas sueltas.

Con

tux@tierra:~ > psselect -p2,3,4,5 /tmp/in.ps /tmp/out.ps

o

tux@tierra:~ > psselect -p2-5 /tmp/in.ps /tmp/out.ps

se seleccionan las páginas 2, 3, 4 y 5 de /tmp/in.ps y se distribuyen a/tmp/out.ps.

tux@tierra:~ > psselect -p1,2,3,4 /tmp/in.ps /tmp/out.ps

o

tux@tierra:~ > psselect -p-4 /tmp/in.ps /tmp/out.ps

selecciona las páginas 1, 2, 3 y 4

tux@tierra:~ > psselect -p2,2,2,5,5 /tmp/in.ps /tmp/out.ps

selecciona la página 2 tres veces y la 5 dos veces

tux@tierra:~ > psselect -p3- /tmp/in.ps /tmp/out.ps

selecciona desde la página 3 hasta el final

tux@tierra:~ > psselect -p_1 /tmp/in.ps /tmp/out.ps

selecciona sólo la última página

119SuSE Linux – Enterprise Server 8

Page 136: Sles Admin Ipseries

tux@tierra:~ > psselect -p_4-_2 /tmp/in.ps /tmp/out.ps

selecciona desde la cuarta página empezado por atrás hasta la penúltima.Con

tux@tierra:~ > psselect -r -p3-5 /tmp/in.ps /tmp/out.ps

se selecciona las páginas 3, 4 y 5 de /tmp/in.ps y se distribuyen a/tmp/out.ps en orden inverso y con

tux@tierra:~ > psselect -r -p- /tmp/in.ps /tmp/out.ps

se distribuyen todas las páginas en orden inverso.

Control de la pantalla con Ghostscript

Se puede mostrar el fichero PostScript /tmp/out.ps página por página enla superficie gráfica de Ghostscript con gs -r60 /tmp/out.ps . Al pulsarla tecla Enter en la ventana de terminal, con la que se llama a Ghostscript, semuestra el fichero PostScript página por página; para finalizar pulse las teclas�� ��Control +

�� ��C .

El programa gv de paquete gv es una capa gráfica (ingl. ()frontend) paraGhostscript. Se llama desde la superficie gráfica con gv /tmp/out.ps yposibilita una presentación apropiada de formatos ”extraños”, ampliacioneso reducciones de la presentación (pero no del propio fichero PostScript) y laselección de páginas sueltas (para imprimirlas directamente desde gv ).

Codificación de texto ASCII

En texto plano, cada carácter se guarda codificado como un determinado nú-mero. El símbolo visual que corresponde con el carácter codificado está de-terminado en las tablas de código. Dependiendo de la tabla de código usadopor un programa, puede diferir la visualización del mismo código en la pan-talla y en la impresora.

Las combinaciones estándar de caracteres son códigos numéricos de 0 a 255.

Los caracteres con los códigos de 0 a 127 son los llamados caracteres ASCII(en especial las letras ”normales”, cifras y signos especiales, pero no signosespecíficos de país), y siempre vienen determinados igual.

Los códigos de 128 a 255 son específicos de país (como p. ej.la diéresis).

120 Codificación de texto ASCII

Page 137: Sles Admin Ipseries

4Im

pre

sora

s

Puesto que de hecho hay más de 128 caracteres específicos de país, los códi-gos de 128 a 255 no se ocupan siempre de la misma forma, sino que en cadapaís se utiliza el mismo código para signos distintos.

ISO-8859-1 (o Latin 1) es la codificación usada para idiomas de Europa Occi-dental, ISO-8859-2 (o Latin 2) se usa para codificar los idiomas de Europa delEste y Central. El código 241 (octal) significa, según ISO-8859-1, el signo deabrir exclamación, mientras que en ISO-8859-2 representa una A con Ogonek.ISO-8859-15 equivale en lo esencial a ISO-8859-1, y particularmente el código244 (octal) representa el símbolo del Euro.

Ilustración

Hay que introducir todos los comandos en una sola línea, suprimiendo labarra inversa (‘\’ ).

Creación de un fichero ejemplo de texto ASCII con:

tux@tierra:~ > echo -en "\rCode 241(octal): \\241\r\nCode 244(octal): \244\r\f" >ejemplo

Presentación en la pantalla

Abrir tres ventanas de terminal en el entorno gráfico mediante:

tux@tierra:~ > xterm -fn -*-*-*-*-*-*-14-*-*-*-*-*-iso8859-1 \-title iso8859-1 &

tux@tierra:~ > xterm -fn -*-*-*-*-*-*-14-*-*-*-*-*-iso8859-15 \-title iso8859-15 &

tux@tierra:~ > xterm -fn -*-*-*-*-*-*-14-*-*-*-*-*-iso8859-2 \-title iso8859-2 &

Visualizar el fichero ejemplo en cada una de las ventanas de terminal, ejecu-tando para cada uno:

tux@tierra:~ > cat ejemplo

En ”iso8859-1” se ve: Código 241 como signo de abrir exclamación (castella-no) Código 244 como círculo con ganchillo (signo común de moneda)

En ”iso8859-15” se ve: Código 241 como signo de abrir exclamación (castella-no) Código 244 como signo de Euro

En ”iso8859-2” se ve: Código 241 como A mayúscula con ganchillo (A conOgonek) Código 244 como círculo con ganchillo (signo común de moneda)

121SuSE Linux – Enterprise Server 8

Page 138: Sles Admin Ipseries

Debido a la codificación establecida no se pueden utilizar a la vez dos signosespeciales específicos de distintos países. Así por ejemplo el símbolo del Eurono se puede representar en el mismo texto junto con una A con Ogonek.

Más información en la visualización correcta respectivamente:

En ”iso8859-1” con la página del manual de iso_8859-1(man iso_8859-1 ).

En ”iso8859-15” con la página del manual de iso_8859-15(man iso_8859-15 ).

En ”iso8859-2” con la página del manual de iso_8859-2(man iso_8859-2 ).

Resultado

Dependiendo de la codificación establecida para la correspondiente cola deimpresión, el resultado impreso del texto ASCII (así p. ej.el resultado impresodel fichero ejemplo ) será parecido a estos casos. El resultado impreso de do-cumentos generados con sistemas de tratamiento de textos no suele dependerde esto, ya que estos sistemas de tratamiento de textos proporcionan la tareade impresión en PostScript y no en texto ASCII.

Al imprimir el fichero ejemplo , el resultado vendrá codificado según la co-dificación de texto ASCII utilizada en el sistema de impresión.

Con a2ps se puede cambiar el fichero ejemplo a PostScript y así establecerla codificación individualmente:

tux@tierra:~ > a2ps -1 -X ISO-8859-1 -o example-ISO-8859-1.psejemplo

tux@tierra:~ > a2ps -1 -X ISO-8859-15 -o example-ISO-8859-15.psejemplo

tux@tierra:~ > a2ps -1 -X ISO-8859-2 -o example-ISO-8859-2.psejemplo

Al imprimir los ficheros PostScript example-ISO-8859-1.ps ,example-ISO-8859-15.ps y example-ISO-8859-2.ps , obtendrá el re-sultado en la codificación establecida para a2ps .

Imprimir en una red TCP/IP

Puede encontrar información más detallada sobre el gestor de impresión enLPRng-Howto en

122 Imprimir en una red TCP/IP

Page 139: Sles Admin Ipseries

4Im

pre

sora

s

file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html

Sobre CUPS, véase CUPS Software Administrators Manual enfile:/usr/share/doc/packages/cups/sam.html

Aclaración de términos

Printserver-box e impresoras de red

Un servidor de impresión dedicado (ingl. printserver-box) es un pe-queño aparato compuesto por dos conexiones: una para la redTCP/IP y otra local para la impresora. También hay ”enrutado-res dedicados” (ingl. ()router-box), disponibles para trabajar conuna impresora mediante una conexión local. .

Una impresora de red tiene una conexión propia a la red TCP/IP,que en última instancia es una impresora que ha incorporado unservidor de impresión dedicado. Se trabaja de la misma forma conservidores de impresión dedicados que con impresoras de red.

Hay una diferencia considerable entre una impresora de red o un ser-vidor de impresión dedicado por un lado y un verdadero servidor deimpresión por otro lado. Asimismo hay impresoras grandes con las quese suministra una computadora que hace las funciones de servidor deimpresión para imprimir en la red. Pero en este caso, las tareas de im-presión no se envían a las impresoras, sino al servidor de impresiónque las acompaña.

Protocolos para imprimir en una red TCP/IP

A continuación presentamos las distintas posibilidades de impresión en unared TCP/IP, las cuales no dependen tanto del hardware como del protocoloutilizado. Por eso en la configuración con YaST2 se pregunta por el protocoloy no por el hardware.

Imprimir vía protocolo LPDEn este caso se envía la tarea de impresión vía protocolo LPD a unacola de impresión remota. Para que esto sea posible, tanto el remitentecomo el destinatario deben utilizar el protocolo LPD.

Remitente

LPRngLPRng soporta el protocolo LPD mediante lpd. Para ello senecesita una cola de impresión local mediante la cual el lpd

123SuSE Linux – Enterprise Server 8

Page 140: Sles Admin Ipseries

local reenvía la tarea de impresión a una cola remota utilizan-do el protocolo LPD.Con LPRng también se puede hacer sin lpd local. El programalpr del paquete paquete lprng puede reenviar la tarea deimpresión directamente a una cola remota utilizando el proto-colo LPD.

CUPSCUPS soporta el protocolo LPD sólo a través del daemoncupsd. Para ello se necesita una cola de impresión local me-diante la cual el cupsd local reenvía la tarea de impresión a lacola remota utilizando el protocolo LPD.

Destinatario

Servidor de impresiónLa impresora está conectada localmente a un servidor de im-presión con el que es posible comunicarse utilizando el proto-colo LPD.

Impresora de red o servidor de impresión dedicadoDebe ser posible comunicarse con el servidor de impresióndedicado (ingl. ()printserver-box) o la impresora de red utili-zando el protocolo LPD, lo que suele ser normal.

Imprimir vía protocolo IPPAquí se envía la tarea de impresión vía protocolo IPP a una cola deimpresión remota. Para ello tanto remitente como destinatario debensoportar este tipo de protocolo.

Remitente

LPRngLPRng aún no soporta el protocolo IPP.

CUPSCUPS soporta el protocolo IPP a través de cupsd. Para ello senecesita una cola de impresión local mediante la cual el lpdlocal reenvía la tarea de impresión a la cola remota utilizandoel protocolo IPP.Con CUPS también funciona sin cupsd local. El programa lpdel paquete cups-client o el programa xpp o el programa deKDE kprinter pueden reenviar directamente tareas de im-presión a una cola remota utilizando el protocolo IPP.

Destinatario

124 Imprimir en una red TCP/IP

Page 141: Sles Admin Ipseries

4Im

pre

sora

s

Servidor de impresiónLa impresora está conectada localmente a un servidor de im-presión con el que es posible comunicarse utilizando el proto-colo IPP.

Impresora de red o servidor de impresión dedicadoDebe ser posible comunicarse con el servidor de impresióndedicado (ingl. ()printserver-box) o la impresora de red utili-zando el protocolo IPP, lo que sólo ocurre en algunas máqui-nas actuales.

Imprimir directamente vía socket TCPAquí no se envía ninguna tarea de impresión a una cola de impresiónremota, ya que no existe ningún protocolo (LPD o IPP) que pueda tra-bajar tanto con tareas como con colas de impresión. En vez de esto seenvían datos específicos de la impresora a un puerto TCP remoto utili-zando el socket TCP. Debe estar soportado tanto por el remitente comopor el destinatario.

Remitente

LPRng/lpdfilterLPRng soporta la impresión directamente vía socket TCP me-diante lpd. Para ello se necesita una cola de impresión localmediante la cual el lpd local pueda convertir la tarea de im-presión a datos específicos de la impresora con lpdfilter; traslo cual envía estos datos al puerto TCP remoto utilizando pa-ra ello el socket TCP.Con LPRng también funciona sin lpd local. El programa lprdel paquete paquete lprng puede enviar los datos de la tareade impresión al puerto TCP remoto vía socket TCP utilizandola opción -Y . Véase página del manual de lpr (man lpr ).Puesto que esto ocurre sin filtros de impresión intermedios, latarea de impresión ya debe contener los datos específicos dela impresora.

CUPSCUPS soporta la impresión directa vía socket TCP sólo concupsd. Para ello se necesita una cola de impresión local, me-diante la cual el cupsd local convierte la tarea de impresióna datos específicos de la impresora; tras lo cual envía estosdatos al puerto TCP remoto via socket TCP.

Destinatario

125SuSE Linux – Enterprise Server 8

Page 142: Sles Admin Ipseries

Impresora de red o servidor de impresión dedicadoEl servidor de impresión dedicado (ingl. ()printserver-box) ola impresora de red disponen normalmente de un puerto TCPabierto mediante el cual se pueden enviar directamente losdatos específicos a la impresora, que de esta forma tambiénlos puede imprimir directamente.Con impresoras de red HP o servidores de impresión dedica-dos HP JetDirect, este suele ser el puerto 9100, o con servido-res de impresión dedicados JetDirect con dos o tres conexionespara impresoras suele ser los puertos 9100, 9101 y 9102. Estospuertos también son utilizados por muchos otros servidoresde impresión dedicados. Consulte el manual de servidores deimpresión dedicados y, en caso de duda, pregunte al fabrican-te del servidor o de la impresora de red qué puerto utiliza laimpresora para comunicarse. Puede encontrar más informa-ción en LPRng-Howto defile:/usr/share/doc/packages/lprng/LPRng-HOWTO.htmly especialmente enfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#SECNETWORKfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#SOCKETAPIfile:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#AEN4858

Imprimir vía protocolo SMBAquí se envía una tarea de impresión, que ya contenga datos especí-ficos de la impresora, a un ”share” remoto asignado a una impresoraremota utilizando el protocolo SMB. Tanto el remitente como el des-tinatario deben soportar el protocolo SMB. Ni LPRng ni CUPS sopor-tan directamente el protocolo SMB. Pero el sistema LPRng/lpdfilterutiliza smbclient y CUPS usa smbspool (ambos del paquete paquetesamba-client , que permiten a estos sistemas de impresión soportar elprotocolo SMB indirectamente.

Remitente

LPRng/lpdfilterLPRng soporta el protocolo SMB mediante lpdfiler. Para ellose necesita una cola de impresión local mediante la cual ellpd local convierte la tarea de impresión con lpdfilter en datosespecíficos de la impresora; tras lo cual lpdfilter, con ayuda

126 Imprimir en una red TCP/IP

Page 143: Sles Admin Ipseries

4Im

pre

sora

s

de smbclient, envía estos datos al share remoto utilizando elprotocolo SMB.

CUPSPara ello se necesita una cola de impresión local mediante lacual el cupsd local convierte la tarea de impresión en datosespecíficos de la impresora; tras lo cual estos datos se envíancon ayuda de smbspool al share remoto utilizando el protoco-lo SMB.

Destinatario

Servidor de impresión SMBLa impresora está conectada a un servidor de impresiónSMB. Este tipo de servidor suele ser una computadoraDOS/Windows, aunque también puede tratarse de un servi-dor Samba de Linux.Es posible comunicarse con el servidor de impresión SMB uti-lizando el protocolo SMB. Allí está libre el acceso a la impre-sora (el acceso al share correspondiente a esa impresora).

Filtros al imprimir en la red

A continuación se exponen las distintas posibilidades de filtros al imprimiren la red. En un determinado punto de la cadena el fichero de salida debeser convertido a un formato que la impresora pueda imprimir, o sea, a unformato que la impresora entienda (PostScript, PCL, ESC/P).

La conversión se realiza por medio de filtros de impresión que sólo funcionanen una computadora que tenga la cantidad de memoria y el rendimiento ne-cesarios. Si los datos específicos de la impresora se generan con Ghostscriptpara impresoras que no soportan PostScript, se necesitará ante todo un altorendimiento de la computadora para impresiones con calidad fotográfica ocon una alta resolución de color.

Las impresoras de red y los servidores de impresión dedicados no suelen dis-poner de un filtro de impresión, por lo que suele ser necesario un servidor deimpresión.

Si se utiliza una impresora PostScript se puede renunciar a un servidor deimpresión. Las impresoras PostScript a menudo pueden distinguir automáti-camente entre texto ASCII y PostScript, e imprimir ambos. Con signos especí-ficos de país en textos ASCII, se debe configurar en la impresora la codifica-ción de signos adecuada. Antes con ( a2ps) se debe haber convertido el textoASCII a PostScript con la codificación de signos adecuada. O puesto que las

127SuSE Linux – Enterprise Server 8

Page 144: Sles Admin Ipseries

aplicaciones suelen ofrecer texto ASCII o PostScript para imprimir, en estecaso no es del todo necesario un servidor de impresión, si sólo se imprimeocasionalmente.

Cuando se trata de impresiones que requieren una alta resolución o calidadfinal, no basta con una impresora de red o un servidor de impresión dedica-do. En este caso se necesita un servidor de impresión con suficiente cantidadde memoria disponible para poder almacenar las tareas de impresión.

Requisitos

La impresora debe ser soportada por SuSE Linux Enterprise Server, ya que elfiltro genera los datos específicos de la impresora de la misma forma que pa-ra una impresora local; véase la sección Configuración manual de puertos localesen la página 70.

Aclaración de términos

El ”cliente” es la computadora que genera la tarea de impresión.

”Servidor de impresión dedicado” indica tanto una impresora de redcomo un servidor de impresión dedicado propiamente dicho, ya quecon ambos se puede trabajar de la misma forma.

Un ”servidor de impresión” es una computadora central a la que todoslos clientes envían las tareas de impresión. El servidor de impresiónredirige los datos a las impresoras locales conectadas o a los servidoresde impresión dedicados vía red TCP/IP.

Por ”cola de reenvío” (ingl. forward) se entiende una cola de impresiónque no filtra tareas de impresión, sino que las reenvía a una cola remo-ta.

”Filtro” indica en general una cola de impresión que filtra tareas deimpresión

”Prefiltro” es una cola de impresión que filtra tareas de impresión y cu-yo resultado se envía a una cola de reenvío de la misma computadora.

”Filtro+Reenvío” es una cola de impresión que filtra las tareas de im-presión y reenvía el resultado a una cola de impresión remota.

”Filtro+Puerto” indica una cola de impresión que filtra tareas de impre-sión y reenvía el resultado a un puerto TCP remoto.

Se utilizan los términos ”LPD”, ”IPP” y ”SMB” para indicar el protoco-lo utilizado.

128 Imprimir en una red TCP/IP

Page 145: Sles Admin Ipseries

4Im

pre

sora

s

Posibles filtros para imprimir en la red

Servidor de impresión dedicado con filtro en el clienteYa que el filtrado se realiza en el cliente, este también debe disponer deun completo sistema de impresión, ya sea LPRng/lpdfilter o CUPS.

El cliente utiliza el protocolo LPD (LPRng y CUPS)

Primero prefiltro y después reenvío (ingl. ()forward) (sólo LPRng)

Este es un método clásico con dos colas de impresión en elcliente: una para filtrar y otra para reenviar.1. Cliente: Se convierte la tarea de impresión a datos de im-

presión (prefiltro) y se entrega como nueva tarea a la colade reenvío.

2. Cliente: La cola de reenvío dirige la tarea de impresión alservidor de impresión dedicado (reenvío LPD)

3. Servidor de impresión dedicado LPD: Envía los datos deimpresión a la impresora

Filtro+Reenvío (LPRng y CUPS) Aquí tanto el filtro como elreenvío se realizan en una sola cola de impresión. En LPRngesto se describe como ”lpr-bounce” o ”lpd-bounce”.1. Cliente: Se convierte la tarea de impresión a datos de im-

presión y se reenvía al servidor de impresión dedicado(Filtro+LPD+Reenvío)

2. Servidor de impresión dedicado LPD: Enviar datos de im-presión a la impresora

El cliente utiliza el protocolo IPP (sólo CUPS)

Filtro+Reenvío (sólo CUPS)1. Cliente: Se convierte la tarea de impresión a datos de

impresión y se envía al servidor de impresión dedicado(Filtro+IPP-Reenvío)

2. Servidor de impresión dedicado IPP: Se envían los datosde impresión a la impresora

El cliente utiliza un socket TCP (LPRng y CUPS)

Filtro+Puerto (LPRng y CUPS)1. Cliente: Se convierte la tarea de impresión a datos de im-

presión y se envía al servidor de impresión dedicado (Fil-tro+Puerto)

2. Servidor de impresión dedicado: Se envían los datos deimpresión a la impresora

129SuSE Linux – Enterprise Server 8

Page 146: Sles Admin Ipseries

Servidor de impresión dedicado con filtro en el servidor de impresiónYa que el filtrado se realiza en el servidor de impresión, este tambiéndebe disponer de un completo sistema de impresión con daemon, yasea LPRng/lpdfilter o CUPS.

Si las tareas de impresión en el cliente se envían directamente al servi-dor de impresión con los comandos lpr (para LPRng) o los comandoslp o xpp o kprinter (para CUPS) y, ya que el filtrado se realiza en elservidor de impresión, no es totalmente necesario disponer de un com-pleto sistema de impresión en el cliente. En este caso se requiere que elservidor de impresión soporte el protocolo que el cliente utiliza (LPD oIPP).

Después de que el servidor de impresión reciba una tarea de impresión,este lo transforma tal y como se explica para el ciente en la sección Ser-vidor de impresión dedicado con filtro en el cliente.

El cliente puede enviar la tarea de impresión al servidor de impresiónmediante un protocolo distinto al que este útltimo utiliza para enviarlos datos de impresión al servidor de impresión dedicado.

El cliente utiliza el protocolo LPD (sólo LPRng)

Directamente (sólo LPRng)

1. Cliente: Se envía la tarea de impresión al servidor de im-presión (comando lpr )

2. Servidor de impresión LPD: Se convierte la tarea de im-presión a datos de impresión y estos se envían al servidorde impresión dedicado

Reenvío (sólo LPRng)

1. Cliente: Se envía la tarea de impresión al servidor de im-presión (Reenvío LPD)

2. Servidor de impresión LPD: Se convierte la tarea de im-presión a datos de impresión y estos se envían al servidorde impresión dedicado

El cliente utiliza el protocolo IPP (sólo CUPS)

Directamente (sólo CUPS)1. Cliente: Se envía la tarea de impresión al servidor de im-

presión (comandos lp o xpp o kprinter )2. Servidor de impresión IPP: La tarea de impresión se con-

vierte a datos de impresión y estos se envían al servidorde impresión dedicado

130 Imprimir en una red TCP/IP

Page 147: Sles Admin Ipseries

4Im

pre

sora

s

Imprimir en un servidor de impresión con filtro en el servidor de impresión

Si la impresora está directamente conectada al servidor de impresión,el proceso es igual que el descrito en Servidor de impresión dedicado confiltro en el servidor de impresión (véase pág. 129), sólo que en vez de ”en-viar los datos a un servidor de impresión dedicado” ahora ”se envían auna impresora”.

Imprimir en un servidor de impresión con filtro en el clienteEsto no suele tener sentido para un servidor de impresión LPD o IPP.Para ello debería haber en cada cliente un completo sistema de im-presión configurado; una configuración como la que se describe en lasección Imprimir en un servidor de impresión con filtro en el servidor de im-presión debería bastar.

Servidor de impresión SMB con filtro en el clienteEl filtrado no está previsto en un servidor de impresión SMB. En es-te sentido se puede comparar este servidor de impresión SMB con unservidor de impresión dedicado.

El cliente utiliza el protocolo SMB (LPRng y CUPS)

Filtro+SMB-Reenvío (LPRng y CUPS)1. Cliente: Se convierte la tarea de impresión en datos de

impresión y se envían al servidor de impresión SMB(Filtro+SMB-Reenvío)

2. Servidor de impresión SMB: Se envían los datos de impre-sión a la impresora

Resolución de problemas

Red TCP/IPLa red TCP/IP, resolución de nombres incluida, debe funcionar adecua-damente (véase Fundamentos de conexión a redes en la página 207).

Comprobar la configuración del filtroConecte la impresora directamente al primer puerto paralelo de la com-putadora, configurándola como impresora local para evitar posiblesproblemas con la red. Una vez que la impresora funciona localmenteya conoce el driver de Ghostscript y los demás parámetros para la con-figuración del filtro.

131SuSE Linux – Enterprise Server 8

Page 148: Sles Admin Ipseries

Comprobar el lpd remotoCon

tierra:~ # netcat -z host 515 && echo ok || echo failed

puede comprobar si es posible una conexión TCP a lpd (puerto 515) enla computadora host . Si no lo es, o bien no funciona el lpd, o existenproblemas importantes en la red.

Al ejecutar

tierra:~ # echo -e "\004queue" | netcat -w 2 -p 722 host515

como usuario root se puede solicitar un informe (que puede llegar aser muy grande) sobre el estado de la cola de impresión queue en unacomputadora (remota) host , siempre que el lpd remoto esté funcio-nando y sea accesible. Si no se recibe respuesta del lpd puede que nofuncione el lpd o que haya problemas importantes en la red. Si hay res-puesta del lpd esta debería aclarar por qué no se puede imprimir a lacola de impresión queue de la computadora host – Ejemplos:

lpd: your host does not have line printer accesslpd: queue does not existprinter: spooling disabledprinter: printing disabled

Mensaje en pantalla 2: Mensaje de error del lpd

Si se recibe tal respuesta del lpd, se trata de un problema del lpd remo-to.

Comprobar un cupsd remotoCon

tierra:~ # netcat -z host 631 && echo ok || echo failed

se puede comprobar si es posible establecer una conexión TCP al cupsd(puerto 631) de la computadora host . Si no lo es, o no funciona elcupsd o existen problemas importantes en la red.

Con

tierra:~ # lpstat -h host -l -t

se puede solicitar un informe (que a veces puede llegar a ser muygrande) del estado de todas las colas de impresión de la computadora

132 Imprimir en una red TCP/IP

Page 149: Sles Admin Ipseries

4Im

pre

sora

s

host , siempre que haya un cupsd en funcionamiento y que sea posibleconectarse con él.

Con

tierra:~ # echo -en "\r" | lp -d queue -h host

se puede comprobar si la cola de impresión queue de la computadorahost acepta una tarea de impresión, compuesta de un único signo deretorno de carro, sólo se comprueba y no debería imprimirse nada, y siocurre, entonces sólo una hoja en blanco.

Comprobar un servidor SMB remotoSe puede comprobar con el siguiente comando

tierra:~ # echo -en "\r" | smbclient ’//HOST/SHARE’’PASSWORD’ \-c ’print -’ -N -U ’USER’ && echo ok || echo failed

El comando se debe introducir en una sola línea sin la barra inversa(ingl. backslash). Introduzca en HOST el nombre de la computadora delservidor Samba, en SHARE el nombre de la cola de impresión remota (el nombre del share Samba); en PASSWORD la contraseña y en USER elnombre de usuario. Sólo se comprueba y no debería imprimirse nada, ysi ocurre, entonces sólo una hoja en blanco.

Con

tierra:~ # smbclient -N -L host

se muestran los tres shares disponibles en la computadora host ; véasepágina del manual de smbclient (man smbclient ).

La impresora de red o el servidor de impresión dedicado no son fiablesA veces hay problemas con el gestor (ingl. ()spooler) de impresión quese ejecuta en el servidor de impresión dedicado o en la impresora dered (p. ej. cuando hay varias impresoras conectadas o cuando hay variastareas de impresión simultáneas). Puesto que es un problema del gestoren el servidor de impresión dedicado o en la impresora de red, no sepuede hacer nada.

Sin embargo, existe un procedimiento que puede mejorar la situación yque consiste en comunicarse directamente con el servidor de impresióndedicado conectado a la impresora.

De esta forma el servidor de impresión dedicado sólo funciona comointermediario entre las distintas formas de tráfico de datos (red TCP/IP

133SuSE Linux – Enterprise Server 8

Page 150: Sles Admin Ipseries

y conexión local a la impresora). Así la impresora conectada al servidorde impresión dedicado se comporta como una impresora local. Asimis-mo se consigue un control más directo sobre la impresora, tal y como siel gestor estuviera funcionando.

Para esto debe conocer el puerto TCP correspondiente del servidor deimpresión dedicado.

Con impresoras encendidas y conectadas al servidor de impresión dedi-cado, este puerto TCP se puede averiguar normalmente con el progra-ma nmap del paquete ( nmap) un poco después de haber arrancado elservidor de impresión dedicado.

Este es el ejemplo de un resultado de ( nmap) con un servidor de im-presión dedicado:

Port State Service23/tcp open telnet80/tcp open http515/tcp open printer631/tcp open cups9100/tcp open jetdirect

Es posible anunciarse en el servidor de impresión dedicado via( telnet). Allí puede solicitar información básica y realizar configu-raciones básicas.

Vía HTTP es posible comunicarse con un servidor web que estéen funcionamiento en el servidor de impresión dedicado. Este nor-malmente proporciona información detallada con la que se puederealizar configuraciones detalladas.

Es posible comunicarse con el gestor de impresión que está enfuncionamiento en el servidor de impresión dedicado a través delpuerto 515 y utilizando el protocolo LPD.

Es posible comunicarse con el gestor de impresión que está enfuncionamiento en el servidor de impresión dedicado a través delpuerto 631 y utilizando el protocolo IPP.

Es posible comunicarse con la impresora conectada al servidorde impresión dedicado a través del puerto 9100 y utilizando unsocket TCP.

134 Imprimir en una red TCP/IP

Page 151: Sles Admin Ipseries

4Im

pre

sora

s

Servidor de impresión LPD y IPP

Sólo con CUPS

Por lo general un servidor CUPS sólo soporta el protocolo IPP. Pero el pro-grama /usr/lib/cups/daemon/cups-lpd del paquete cups hace posibleque un servidor CUPS pueda aceptar tareas de impresión, que le han sido en-viadas al puerto 515 mediante el protocolo LPD. Para ello se debe activar elservicio correspondiente para inetd ; con YaST2 o manualmente activando lalínea correspondiente en el fichero /etc/inetd.conf .

LPRng/lpdfilter y CUPS

Puede ocurrir que desee ejecutar ambos sistemas de impresiónLPRng/lpdfilter y CUPS en la misma computadora, ya sea por ampliar unservidor de impresión LPD con CUPS, o porque en algunos casos sea necesa-rio el sistema LPRng/lpdfilter.

Lo normal es que haya dificultades cuando los dos sistemas se ejecutan en lamisma computadora. Aquí se expondrá brevemente los problemas y limita-ciones que puedan ocurrir. Pero este tema es demasiado complejo como parapresentar una solución.

En cada caso individual existen distintas posibilidades. Le ayudamos gustosa-mente en nuestros servicios SuSEhttp://www.suse.de/de/services/index.html

La configuración de la impresora no se debe realizar con YaST2 ya quela configuración de YaST2 no se dispuso para estos casos.

Los paquetes lprng y cups-client provocan conflictos entre ellos, por-que contienen ficheros con el mismo nombre p. ej./usr/bin/lpr y/usr/bin/lp . Por eso el paquete cups-client no debe estar instalado.La consecuencia es que no hay herramientas CUPS de línea de coman-dos disponibles, sino sólo para LPRng. Sin embargo, se puede impri-mir desde superficie gráfica con xpp o kprinter en colas de impresiónCUPS, así como desde todas las aplicaciones que soportan CUPS direc-tamente.

Por lo general, al arrancar, cupsd establece de nuevo el fichero /etc/printcap , que sólo contiene los nombres de todas las colas de impre-sión CUPS. Esto ocurre por razones de compatibilidad, ya que muchasaplicaciones leen las colas de impresión de /etc/printcap , con el

135SuSE Linux – Enterprise Server 8

Page 152: Sles Admin Ipseries

objetivo de poder ofrecerlas en el menú de impresión. Este servicio de/etc/printcap debe estar desactivado para cupsd, y así estar sólodisponible para LPRng/lpdfilter. La consecuencia es que las aplicacio-nes que sólo utilizan los nombres de colas de impresión que se encuen-tran en /etc/printcap , sólo mostrarán las colas locales, pero no lascolas CUPS disponibles en la red.

136 Imprimir en una red TCP/IP

Page 153: Sles Admin Ipseries

Parte II

Sistema

Page 154: Sles Admin Ipseries
Page 155: Sles Admin Ipseries

5ElKe

rne

l

El Kernel

El kernel que se escribe al disco duro durante la instalación está configuradopara proporcionar soporte a tantos componentes de hardware y funcionesadicionales como es posible.

Fuentes del kernel

Para poder compilar las fuentes del kernel, es necesario que se encuen-tren instalados los siguientes paquetes: las fuentes del kernel (paquetekernel-source ), el compilador de C (paquete gcc ), las utilidades GNUbinutils (paquete binutils ) y los ficheros include para el compilador de C(paquete glibc-devel ). Es muy recomendable que, en cualquier caso, ins-tale siempre el compilador de C, ya que el lenguaje C es un elemento esen-cial en los sistemas operativos UNIX. Para poder compilar un kernel de 64bits en iSeries y pSeries tendrá que instalar también los paquetes paquetecross-ppc64-gcc y paquete cross-ppc64-gcc , que permiten la compi-lación cruzada o ”crosscompiling”.

Los kernels iSeries (y, en menor medida, los pSeries) requieren algunas opcio-nes de configuración específicas para funcionar correctamente. Él método mássencillo consiste en usar un fichero de configuración ya comprobado comobase para la configuración de un nuevo kernel. La configuración predetermi-nada está guardada en /boot/vmlinuz-<version>.config . Para permitirel uso del compilador cruzado, añada siempre el prefijo sh make_ppc64.sha los comandos.

Page 156: Sles Admin Ipseries

Módulos del kernel

Ya no es necesario compilar directamente en el kernel muchos de los con-troladores y características, como ocurría anteriormente, ya que ahora estoselementos pueden ser cargados a través de módulos mientras el sistema seencuentra en funcionamiento. La decisión de qué controladores es necesariocompilar en el kernel y cuáles han de ser cargados mediante módulos se defi-ne en la configuración del kernel.

Los módulos del kernel están ubicados en /lib/modules/<versión> , don-de <versión> indica la versión actual del kernel.

Gestión de los módulos

Ésta es la lista de comandos que se encuentran disponibles:

insmodinsmod carga el módulo solicitado tras haberlo buscado en un subdirec-torio /lib/modules/<versión> . No obstante, es preferible utilizarmodprobe (comentado posteriormente) en lugar de insmod , no siendoya éste necesario.

rmmodDescarga el módulo indicado. Esta acción únicamente es posible si elmódulo en cuestión ya no es necesario. No es factible, por ejemplo, des-cargar el módulo isofs (el sistema de ficheros del CD-ROM) cuando aúnse encuentra montado un CD.

depmodCrea el fichero modules.dep en /lib/modules/<versión> ; en élse definen las dependencias de todos los módulos. Su objetivo es el deasegurarse de que todos los módulos dependientes entre sí están carga-dos. Si START_KERNELD se incluye en /etc/rc.config , el fichero segenerará cada vez que se inicie el sistema.

modprobeCarga o descarga el módulo indicado teniendo en cuenta sus dependen-cias. Este comando es extremadamente potente y puede ser utilizadopara numerosas tareas (p. ej., puede probar todos los módulos de unadeterminada clase hasta lograr cargar con éxito alguno de ellos. A dife-rencia de insmod, modprobe comprueba /etc/modules.conf , por loque constituye el método más adecuado para cargar módulos. Si deseaobtener más información acerca de esta cuestión, por favor, consulte lacorrespondiente página del manual.

140 Módulos del kernel

Page 157: Sles Admin Ipseries

5ElKe

rne

l

lsmodMuestra qué módulos se encuentran actualmente cargados y por cuán-tos otros módulos están siendo utilizados. Los módulos iniciados por eldemonio del kernel están marcados como autoclean , lo cual signifi-ca que serán eliminados automáticamente cuando alcancen su límite detiempo de inactividad.

/etc/modules.conf

La carga de los módulos está asimismo sujeta al fichero /etc/modules.conf . Consulte página del manual de depmod (man depmod) para obtenermás información.

En este fichero, pueden establecerse las opciones específicas de sistema quepuedan necesitar los módulos que acceden directamente al hardware (p. ej.un controlador de CD-ROM o de red). Los parámetros que se introducen eneste fichero son, en principio, idénticos a aquellos que se suministran al ker-nel durante su inicio, pero, frecuentemente, los nombres utilizados durante elarranque del kernel son diferentes. Si se produce un error en la carga de unmódulo, puede intentar solucionarlo especificando el hardware del que se tra-ta en este archivo y, a continuación, utilizar modprobe para cargar el móduloen lugar de insmod.

Modules.conf le proporciona también los nombres de dispositivo para elmódulo. Puede consultar este fichero, por ejemplo, si piensa que los nombresde los dispositivos de red y de los controladores se han mezclado.

141SuSE Linux – Enterprise Server 8

Page 158: Sles Admin Ipseries
Page 159: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

Características del sistema

Indicaciones sobre Filesystem Hierarchy Standard (FHS) y Linux Standard Base(LSB), paquetes individuales de software y particularidades, como el arranquecon initrd .

Estándares de Linux . . . . . . . . . . . . . . . . . . . . . . 144Entornos de ejemplo para FTP y HTTP . . . . . . . . . . . 144Observaciones sobre paquetes especiales . . . . . . . . . . 145Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . . 150Distribución del teclado . . . . . . . . . . . . . . . . . . . . 150Configuración nacional – I18N/L10N . . . . . . . . . . . . 152

Page 160: Sles Admin Ipseries

Estándares de Linux

Filesystem Hierarchy Standard (FHS)

SuSE Linux Enterprise Server intenta cumplir al máximo el estándar sobrejerarquía del sistema de ficheros (ingl. Filesystem Hierarchy Standard) (FHS, pa-quete fhs ), véase http://www.pathname.com/fhs/ . Por lo tanto a veceses necesario mover ficheros o directorios al lugar ”correcto” en el árbol dedirectorios, tal y como está establecido en FHS.

Linux Standard Base (LSB)

SuSE soporta activamente los esfuerzos del proyecto Linux Standard Base, so-bre el cual es posible informarse en http://www.linuxbase.org .

La especificación de LSB existe en la versión 1.2; el estándar sobre jerarquíadel sistema de ficheros (FHS) forma ahora parte del LSB, y entre otras cosasincluye una especificación del formato de paquetes y de la inicialización delsistema; véase el capítulo 8 en la página 163

La especificación LSB sólo abarca hasta ahora la arquitectura x86.

teTeX – TeX en SuSE Linux

TEX es un completo sistema que funciona en una gran cantidad de pla-taformas y se puede ampliar mediante paquetes macros como LATEX. Es-tá compuesto de muchos ficheros individuales, que se combinan confor-me a la estructura de directorios TEX (TDS, TEX Directory Structure) (véaseftp://ftp.dante.de/tex-archive/tds/ ). teTeX es la combinación delactual software TEX.

Con SuSE Linux Enterprise Server, teTeX está disponible con una configura-ción que cumple las exigencias tanto de TDS como de FHS.

Entornos de ejemplo para FTP y HTTP

Sobre FTP

El paquete ftpdir contiene un entorno de ejemplo para facilitar la configu-ración de un servidor FTP. Este entorno se instala en /usr/local/ftp .

144 Estándares de Linux

Page 161: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

Sobre HTTP

El servidor web predeterminado de SuSE Linux Enterprise Server es Apache,que se instala junto con algunos documentos de ejemplo en el directorio/srv/www/ . Para poner en marcha un servidor de web propio se recomiendadefinir un DocumentRoot propio en el fichero /etc/httpd/httpd.conf enel que colocará sus ficheros (documentos, imágenes, etc.).

Observaciones sobre paquetes especiales

El paquete bash y /etc/profile

Cuando se le llama como shell de login, bash utiliza los ficheros de iniciali-zación en el siguiente orden:

1. /etc/profile

2. ~/.profile

3. /etc/bash.bashrc

4. ~/.bashrc

Los usuarios pueden efectuar las entradas propias en ~/.profile o~/.bashrc . Para garantizar el trabajo ordenado de estos ficheros, reco-mendamos hacerse cargo de la configuración básica actual de /etc/skel/.profile o /etc/skel/.bashrc en el directorio del usuario. Por tanto,después de una actualización le recomendamos que recoja las configuracionesde /etc/skel ; para no perder las propias adaptaciones, ejecute los siguientecomandos en la shell:

mv ~/.bashrc ~/.bashrc.oldcp /etc/skel/.bashrc ~/.bashrcmv ~/.profile ~/.profile.oldcp /etc/skel/.profile ~/.profile

Una vez hecho, puede buscar sus adaptaciones en los ficheros *.old .

145SuSE Linux – Enterprise Server 8

Page 162: Sles Admin Ipseries

El paquete cron

Las tablas de cron se encuentran en /var/spool/cron/tabs . El fichero/etc/crontab se genera como tabla de comandos para todo el sistema. Eneste fichero hay que anotar, además de la hora, el usuario que ha encargadola tarea a ejecutar (ver fichero 24, en el que figura root como usuario); lastablas específicas de los paquetes (en /etc/cron.d ) siguen la misma filoso-fía – ver página del manual de cron (man 8 cron ).

1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun

Fichero 24: Ejemplo de entrada en /etc/crontab

No se puede usar el comando crontab -e para modificar /etc/crontab ;se debe modificar con un editor y posteriormente grabarlo.

Hay algunos paquetes que instalan scripts dentro de los directorios /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly y /etc/cron.monthly . De la ejecución de estos se encarga /usr/lib/cron/run-crons ,que se inicia cada 15 minutos desde la tabla principal (/etc/contrab ). Portanto, no se asombre si el usuario nobody aparece poco después del arranquedel sistema, con mucha actividad en la tabla de procesos. Lo más probablees que nobody esté actualizando el banco de datos locate (ver el apartadoConfiguraciones básicas en /etc/sysconfig en la página 188).

Las tareas diarias de mantenimiento del sistema están divididas en variosscripts en aras de la claridad. (paquete paquete aaa_base ). Por tanto, en/etc/cron.daily puede encontrar junto a aaa_base p. ej.los componen-tes backup-rpmdb , clean-tmp o clean-vi .

Archivos de registro – el paquete logrotate

Muchos servicios del sistema (”Daemons”) y también el kernel mismo vuel-can periódicamente el estado del sistema y sucesos especiales en archivos deregistro (ingl. logfiles). Así el administrador puede controlar de forma eficazen que estado se encontró el sistema en un momento determinado, detectarerrores o funciones erróneas y solucionarlos adecuadamente. Estos archivosde registro se guardan según el FHS en /var/log y aumentan cada día sutamaño. Con ayuda del paquete logrotate se puede controlar el crecimien-to de los archivos de registro.

146 Observaciones sobre paquetes especiales

Page 163: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

Configuración

El fichero de configuración /etc/logrotate.conf define el comportamien-to general. Mediante la indicación include se determina principalmente quéficheros se deben evaluar; en SuSE Linux Enterprise Server está previsto quelos paquetes individuales instalen ficheros en /etc/logrotate.d (p. ej.syslog o yast ).

# see "man logrotate" for details# rotate log files weeklyweekly

# keep 4 weeks worth of backlogsrotate 4

# create new (empty) log files after rotating old onescreate

# uncomment this if you want your log files compressed#compress

# RPM packages drop log rotation information into this directoryinclude /etc/logrotate.d

# no packages own lastlog or wtmp - we’ll rotate them here#/var/log/wtmp {# monthly# create 0664 root utmp# rotate 1#}# system-specific logs may be also be configured here.

Fichero 25: Ejemplo de /etc/logrotate.conf

logrotate se controla con cron; se arranca una vez al día mediante /etc/cron.daily/logrotate .

Atención

La opción create no reconsidera eventuales ajustes efectuados como ad-ministrador en los ficheros /etc/permissions* . Por favor, asegúresede que no se produzcan conflictos al realizar sus propios ajustes .

Atención

147SuSE Linux – Enterprise Server 8

Page 164: Sles Admin Ipseries

Páginas man

Para algunos programas GNU, no se siguen manteniendo las páginas man(p. ej. tar). En su lugar se puede usar como ayuda rápida la extensión--help o los ficheros del tipo info. Info (info ) es el sistema de hipertextode GNU cuyo uso se explica con el comando info info . Se puede llamara info a través de Emacs con el comando emacs -f info o también sólocon el comando info .

El comando ulimit

El comando ulimit (ingl. user limits) permite limitar los recursos del sistemao visualizarlos. ulimit es especialmente útil para limitar el uso de la Memo-ria por parte de las aplicaciones. Así es posible evitar que una aplicación sereserve demasiada o toda la memoria, lo que podría provocar el cuelgue delsistema.

ulimit tiene varias opciones; las que limitan el gasto de memoria figuran enla tabla 6.1.

-m Tamaño máximo de memoria RAM-v Tamaño máximo del fichero de intercambio (Swap)-s Tamaño máximo de las pilas-c Tamaño máximo de los fichero core-a Mostrar límites establecidos

Cuadro 6.1: ulimit : Limitar los recursos para el usuario

Los límites para todo el sistema se pueden establecer en /etc/profile .También es en este fichero donde se debe dar de alta la creación de los fi-cheros core, que necesitan los programadores para depurar código (ingl. de-bugging). Los usuarios no pueden aumentar los valores que el administradordel sistema define en /etc/profile , pero sí que pueden hacer una configu-ración personal en ~/.bashrc .

# Limitar la memoria RAM:ulimit -m 98304

148 Observaciones sobre paquetes especiales

Page 165: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

# Limitar la memoria virtual (swap):ulimit -v 98304

Fichero 26: Establecer límites con ulimit en \tld/.bashrc

Todos los valores se han de indicar en KB. Información más detallada se en-cuentra en página del manual de bash (man bash).

AtenciónNo todas las shells soportan entradas para ulimit . Si debe realizaruna configuración más avanzada, PAM (p. ej. pam_limits ) le ofrecemás posibilidades.

Atención

El comando free

El comando free es bastante engañoso cuando se trata de averiguar la me-moria de trabajo que se está utilizando. . .

Puede encontrar información útil en /proc/meminfo . Hoy en día no se de-bería preocupar por esto ningún usuario que utilice un sistema de trabajomoderno como Linux. El concepto de ”memoria de trabajo libre” viene dela época en que aún no existía ningún administrador de memoria unificado(ingl. unified memory management). En Linux existe el lema: memoria libre es me-moria mala (ingl. free memory is bad memory). Como consecuencia, Linux siem-pre se esfuerza por equilibrar el uso de la memoria caché sin llegar nunca adejar memoria libre (=sin usar).

Básicamente, el kernel no sabe directamente de programas o datos de usua-rios; se dedica a administrar programas y datos en los denominados ”pagecache”. Cuando la memoria se queda pequeña, algunos trozos se escriben enla zona de intercambio (ingl. swap) o en los ficheros de los cuales leía al prin-cipio con ayuda de mmap; véase página del manual de mmap(man 2 mmap).

Además el kernel dispone de otra memoria caché adicional, como la ”slabcache”, que p. ej.contiene los búferes empleados para el acceso a redes. Deesta forma se solucionan las diferencias que puedan surgir entre los conta-dores de /proc/meminfo . La mayoría, pero no todos, se pueden pedir en/proc/slabinfo .

149SuSE Linux – Enterprise Server 8

Page 166: Sles Admin Ipseries

El fichero /etc/resolv.conf

La resolución de nombres se regula en el fichero /etc/resolv.conf ; véaseapartado DNS – Domain Name Service en la página 235.

Sólo el script /sbin/modify_resolvconf se encarga de modificar el fiche-ro /etc/resolv.conf . Ningún programa por sí mismo tiene el derecho deactualizar /etc/resolv.conf . La configuración de red y los datos corres-pondientes sólo se pueden mantener consistentes si se cumple siempre estaregla.

Consolas virtuales

Linux es un sistema multitarea y multiusuario. Las ventajas que aportan estascaracterísticas se agradecen incluso en un sistema PC con un solo usuario:

El modo texto ofrece 6 consolas virtuales, a las que se puede acceder median-te las combinaciones de teclas

�� ��Alt +�� ��F1 a

�� ��Alt +�� ��F6 . La séptima consola está

reservada para X11. Modificando el fichero /etc/inittab se puede dispo-ner de más o de menos consolas.

Si estando en X11 desea trabajar en una consola virtual sin cerrar X11, pulselas combinaciones

�� ��Control +�� ��Alt +

�� ��F1 a�� ��Control +

�� ��Alt +�� ��F6 . Para volver a

X11, pulse�� ��Alt +

�� ��F7 .

Distribución del teclado

Para normalizar la distribución del teclado de los distintos programas, se hanmodificado los siguientes ficheros:

/etc/inputrc/usr/X11R6/lib/X11/Xmodmap/etc/skel/.Xmodmap/etc/skel/.exrc/etc/skel/.less/etc/skel/.lesskey/etc/csh.cshrc/etc/termcap/usr/lib/terminfo/x/xterm/usr/X11R6/lib/X11/app-defaults/XTerm/usr/share/emacs/ 〈VERSION〉/site-lisp/term/*.el/usr/lib/joerc

150 Consolas virtuales

Page 167: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

Estas modificaciones sólo tienen efecto sobre las aplicaciones que leen los pa-rámetros terminfo o sobre aquellas cuyos ficheros de configuración fueronmodificados directamente (vi , less , etc.). Se recomienda adaptar otras apli-caciones que no sean de SuSE a estas definiciones.

Dentro del entorno X Windows se puede acceder a la tecla Compose (”Mul-ti_key”) mediante la combinación de teclas

�� ��⇑ +�� ��Control (derecha); véase el

comentario en /usr/X11R6/lib/X11/Xmodmap .

151SuSE Linux – Enterprise Server 8

Page 168: Sles Admin Ipseries

Configuración nacional – I18N/L10N

Dado el nivel de internacionalización de SuSE Linux Enterprise Server, esmuy flexible para la adaptación a necesidades locales. En términos técnicos:La internacionalización (”I18N”) permite implementar extensiones locales(”L10N”). Las abreviaciones I18N y L10N reemplazan los términos internatio-nalization y localization, mencionando siempre la letra inicial y final así comoel número de caracteres que faltan entremedio.

La configuración se realiza mediante las variables LC_* que se definen en elfichero /etc/sysconfig/language . Aparte del idioma para la superficiede los programas y sus mensajes, se configuran también las categorías mo-neda, cifras, fecha y hora, el tipo de caracteres, el tipo de mensajes y el criterio deordenar. Todas estas categorías se pueden definir dentro del fichero languagemediante una variable individual o de forma indirecta mediante una variablede un nivel más alto (véase página del manual de locale (man 5 locale )):

1. RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME,RC_LC_NUMERIC, RC_LC_MONETARY: Estas variables se pasan a lashell sin el ”prefijo” RC_ y determinan las categorías arriba menciona-das. A continuación se detalla el significado de las distintas variables.

Mediante el comando locale es posible consultar la configuración ac-tual.

2. RC_LC_ALL: En caso de estar definido, esta variable sobreescribe losvalores de las variables mencionadas en el apartado 1.

3. RC_LANG: Al no definir ninguna de las variables arriba mencionadas,ésta sirve de definición por defecto ”Fallback”. SuSE Linux EnterpriseServer por defecto solo define RC_LANG para que el usuario tengamás facilidad de introducir valores propios.

4. ROOT_USES_LANG: Una variable booleana de valor yes /no ; al tenerno root siempre trabaja en el entorno POSIX.

Las demás variables se determinan mediante el editor sysconfig .

El valor de estas variables se compone de la identificación para el idioma(ingl. language code), del país o territorio (ingl. country code), del juego de ca-racteres (ingl. encoding) y de la opción (ingl. modifier). Todas estas indicacionesse unen mediante caracteres especiales:

LANG=〈language 〉[[_ 〈COUNTRY〉].Encoding[@Modifier]]

152 Configuración nacional – I18N/L10N

Page 169: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

Algunos ejemplos

Idioma y país se deben definir juntos. La indicación del idioma sigue la nor-ma ISO 639 (http://www.evertype.com/egt/standards/iso639/iso639-1-en.html y http://www.loc.gov/standards/iso639-2/ )y los códigos de país están definidos en la norma ISO 3166 (http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html ).Solo se puede seleccionar valores que encuentran su homólogo en un fi-chero de descripción dentro del directorio /var/lib/locale . Es posi-ble crear ficheros de descripción a partir de los ficheros /usr/share/i18n usando localedef . De esta forma un fichero de descripción [email protected] se crea mediante:

tierra: ~ # localedef -i es_ES@euro -f UTF-8 [email protected]

LANG=es_ES.ISO-8859-1Esta el la forma de configurar el idioma alemán en Alemania con eljuego de caracteres ISO-8859-1 . Éste aún no incorpora el símbolo delEuro pero sigue siendo necesario para los programas que aún no hansido adaptados a la ISO-8859-15 .

Por ejemplo el programa Emacs analiza la codificación del juego de ca-racteres (aquí ISO-8859-15 ).

LANG=es_ES@euroEste es un ejemplo para la definición de una opción (euro ).es_ES@euro es la configuración predeterminada de una instalaciónen alemán.

LANG=es_ES.UTF-8El parámetro UTF-8 sirve para trabajar en una xterm cpm Unicode.Para iniciar un xterm con UTF-8 se recomienda crear un script sencillollamado p. ej. uxterm (véase el fichero 27).

#!/bin/bashexport LANG=es_ES.UTF-8xterm -fn \

’-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1’ \-T ’xterm UTF-8’ $*

Fichero 27: uxterm para iniciar un xterm con Unicode

SuSEconfig lee las variables de /etc/sysconfig/language y escribe losvalores en los ficheros /etc/SuSEconfig/profile y /etc/SuSEconfig/

153SuSE Linux – Enterprise Server 8

Page 170: Sles Admin Ipseries

csh.cshrc . /etc/profile lee el fichero /etc/SuSEconfig/profile (lousa como fuente) y /etc/csh.cshrc lee /etc/SuSEconfig/csh.cshrc .De esta forma la configuración está disponible para todo el sistema.

La configuración del sistema puede ser modificada por los usuarios con el fi-chero de configuración individual de usuario ~/.bashrc . Por ejemplo, cuan-do la configuración del sistema es es_ES y el usuario prefiere los mensajesen inglés, es posible modificarlo mediante:

LC_MESSAGES=en_US

Configuración del idioma soportado

Los ficheros de la categoría Mensajes normalmente sólo se encuentran dentrodel directorio de idioma (p. ej.de) para tener una solución de respaldo. Porejemplo cuando el valor de LANG está en de_AT y el fichero de mensajes nose encuentra en /usr/share/locale/de_AT/LC_MESSAGES , entonces elfichero /usr/share/locale/de/LC_MESSAGES sirve de respaldo para losmensajes.

Otra posibilidad es la de definir una cadena de respaldos, p. ej.para bretón →francés o para español → gallego → portugués:

LC_MESSAGES="br_FR.ISO-8859-15:fr_FR.ISO-8859-15"LC_MESSAGES="es_ES.ISO-8859-15:gl_ES.ISO-8859-15\:pt_PT.ISO-8859-15"

O para – dependiendo de las preferencias – cambiar a las variantes noruegas”nyorsk” o bien ”bokmål” (con fallback automático a no):

LANG="nn_NO"LANGUAGE="nn_NO:nb_NO:no"

o

LANG="nb_NO"LANGUAGE="nb_NO:nn_NO:no"

Con el noruego también hay que tener en cuenta que se trata LC_TIME deforma diferente.

154 Configuración nacional – I18N/L10N

Page 171: Sles Admin Ipseries

6C

ara

cte

rística

sd

elsiste

ma

Posibles problemas

En cadenas de números no se reconoce el punto como separador de mi-les. Probablemente el valor de LANG esté en de . Como la descripciónque usa la glibc se encuentra en /usr/share/locale/de_DE/LC_NUMERIC, LC_NUMERIC debe tener p. ej.el valor es_ES.

Información adicional:

The GNU C Library Reference Manual, capítulo "Locales and Internationa-lization"; se encuentra dentro de paquete glibc-info .

Jochen Hein [Hei96], bajo la palabra clave "NLS".

Spanish-HOWTO de Gonzalo García-Agulló file:/usr/share/doc/howto/en/html/Spanish-HOWTO.html

Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, actualizado enhttp://www.cl.cam.ac.uk/~mgk25/unicode.html .

Unicode-Howto de Bruno Haiblefile:/usr/share/doc/howto/en/html/Unicode-HOWTO.html .

155SuSE Linux – Enterprise Server 8

Page 172: Sles Admin Ipseries
Page 173: Sles Admin Ipseries

7So

po

rtep

ara

ap

lica

cio

ne

sd

e32

bits

y64

bits

en

une

nto

rno

de

64b

its

Soporte para aplicacio-nes de 32 bits y 64 bits

en un entorno de 64 bits

Aunque SuSE Linux Enterprise Server está disponible para varias plataformasde 64 bits, este hecho no significa necesariamente que todas las aplicacionescontenidas en él dispongan ya dispongan de una versión de 64 bits. Sin em-bargo, SuSE Linux Enterprise Server ofrece soporte para que los programasde 32 bits puedan ser ejecutados en un entorno de 64 bits. Este capítulo sedetiene en mostrar de forma breve cómo se logra proporcionar este soporteen las plataformas SuSE Linux Enterprise Server de 64 bits.

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . 158Soporte en tiempo de ejecución . . . . . . . . . . . . . . . 158Desarrollo de software . . . . . . . . . . . . . . . . . . . . 160Cuestiones relativas al kernel . . . . . . . . . . . . . . . . . 161

Page 174: Sles Admin Ipseries

Introducción

La versión de SuSE Linux Enterprise Server para las arquitecturas de 64 bitstales como ia64, ppc64, s390x, sparc64 y AMD Hammer ha sido diseñada pa-ra poder ejecutar directamente las aplicaciones de 32 bits existentes destina-das a un entorno de 32 bits dentro de uno de 64 bits. Las arquitecturas de32 bits correspondientes son x86 para ia64, ppc para ppc64, s390 para s390xy x86 para AMD Hammer. Esta característica permite que puedan ejecutar-se sus aplicaciones de 32 bits preferidas sin necesidad de esperar a que éstassean portadas al mundo de los 64 bits. El sistema ppc64 actual se ejecuta enmodo 32 bits, auque al mismo tiempo es posible hacer uso de programas de64 bits.

Para disponer de una comprensión más completa a este respecto, es necesarioexaminar los siguientes aspectos relacionados con el soporte de 32 bits:

Soporte en tiempo de ejecución ¿Cómo pueden ser ejecutadas las aplicacio-nes de 32 bits?

Soporte para los desarrolladores ¿Qué es preciso hacer para diseñar apli-caciones de 32 bits que puedan funcionar tanto en arquitecturas de 32como de 64 bits?

API del kernel ¿Cómo pueden ejecutarse los programas de 32 bits bajo unkernel de 64 bits?

Soporte en tiempo de ejecución

Atención

Confictos en versiones de 32 y 64 bits de la misma aplicaciónSi el programa está disponible tanto en versión de 32 como de 64 bits,la instalación simultánea de ambas versiones puede llegar a provocarciertos conflictos. Por ello, será necesario que decida si desea instalar yutilizar la aplicación de 32 o de 64 bits.

Atención

Todos los programas necesitan una serie de librerías para que puedan ejecu-tarse correctamente. Desafortunadamente, los nombres de las librerías de 32 y64 bits son los mismos, por lo que han de ser diferenciadas de alguna forma.

Las arquitecturas de 64 bits tales como ppc64, s390x, sparc64 y AMD Ham-mer siguen la misma estrategia: A fin de lograr la máxima compatibilidad

158 Introducción

Page 175: Sles Admin Ipseries

7So

po

rtep

ara

ap

lica

cio

ne

sd

e32

bits

y64

bits

en

une

nto

rno

de

64b

its

posible con las versiones de 32 bits, las librerías de 32 bits se encuentranexactamente en el mismo lugar que en el propio entorno 32 bits original.Por ejemplo, la versión de 32 bits de la librería libc.so.6 se encuentra en/lib/libc.so.6 tanto en el entorno 32 bits como en el de 64 bits.

La totalidad de las librerías de 64 bits y objetos están ubicados en directoriosdenominados lib64 , por ejemplo, los objetos de 64 bits que normalmentedeberían encontrarse en /lib , /usr/lib y /usr/X11R6 , ahora están loca-lizados en /lib64 , /usr/lib64 y /usr/X11R6/lib64 respectivamente, afin de hacer sitio para las librerías de 32 bits que emplean el mismo nombreen /lib , /usr/lib y /usr/X11R6/lib .

Generalmente, los subdirectorios de los directorios cuyos objetos contienenúnicamente datos independientes del tamaño de palabra no han sido despla-zados. Por ejemplo, puede encontrar las fuentes X11 en /usr/X11R6/lib/X11/fonts tal y como habitualmente.

Esta configuración está conforme con las especificaciones LSB (Linux Stan-dards Base) y FHS (Filesystem Hierachy Standard).

Para ia64 y la plataforma Alpha de 64 bits, las librerías nativas de 64 bits es-tán ubicadas en los directorios lib por defecto, no existiendo por tanto undirectorio lib64 o lib32 . En cambio, ia64 gestiona el código x86 de 32 bitsmediante emulación. Un conjunto de librerías base son instaladas en subdi-rectorios bajo /usr/i386-linux .

LD_LIBRARY_PATH y LD_PRELOAD

LD_LIBRARY_PATHy /etc/ld.so.conf están combinados y contienen ru-tas tanto a librerías de 32 como de 64 bits. Las aplicaciones (al menos las dePPC64) son de 32 o bien de 64 bits, no una mezcla. Cuando se cargan, buscanen el tipo correcto de librería (32 o 64 bits), saltándose las librerías del otro ti-po. Si una aplicación necesita una librería pero no encuentra ninguna del tipoadecuado en la ruta de búsqueda, la aplicación no podrá cargarse.

LD_PRELOADy /etc/ld.so.preload también pueden incluir una mezclade librerías de 32 y 64 bits. Evite las rutas absolutas (las que comiencen con”/”) en las precargas. Si la aplicación ha de utilizar una ruta precarga abso-luta, cree un script shell ”wrapper” que defina LD_PRELOADsólo para esaaplicación. Si usa nombres de librerías relativos para las precargas, asegúresede que LD_LIBRARY_PATHy/o /etc/ld.so.conf contienen tanto las libre-rías de 32 como las de 64 bits (mismo nombre pero directorios distintos) asícomo rutas a ambas.

159SuSE Linux – Enterprise Server 8

Page 176: Sles Admin Ipseries

Desarrollo de software

Todas las arquitecturas de 64 bits soportan el desarrollo de objetos de 64 bits.En cualquier caso, es necesario tener en cuenta que el grado de soporte parauna compilación en modo 32 bits depende de la arquitectura utilizada. Lasdiferentes posibilidades de desarollo basadas en GCC, la GNU Compiler Co-llection y las binutils, incluyendo el ensamblador as y el linkador ld, son lassiguientes:

Compilador biarch Mediante una herramienta de desarrollo biarch, puedengenerarse tanto objetos de 32 como de 64 bits, siendo el valor por de-fecto el de 64 bits. Si se utilizan argumentos especiales, pueden crearseobjetos de 32 bits. El argumento correspondiente para gcc es -m32 ;los argumentos para las binutils dependen de la arquitectura pero GCCsuministrará los adecuados al linkador y ensamblador. Actualmente,existen herramientas biarch de desarrollo para sparc64, que soportan eldesarrollo para sparc y sparc64 y para AMD Hammer, con soporte parala programación de los juegos de instrucciones x86 y x86-64.

Sin soporte SuSE no proporciona un soporte directo para el desarrollo desoftware de 32 bits en ninguna plataforma. Si desea desarrollar aplica-ciones s390 o x86 en sistemas zSeries o ia64, ha de utilizar las versiones32 bits correspondientes de SuSE Linux Enterprise Server EnterpriseServer.

32 bits por defecto La plataforma PPC64 emplea un compilador de 32 bitspor defecto. Para llevar a cabo compilaciones de objetos de 64 bits, esnecesario utilizar un compilador cruzado. Los nombres de las herra-mientas incorporan el prefijo powerpc64-linux- , por ejemplo, GCCse denomina powerpc64-linux-gcc. El compilador se encuentra ubicadoen /opt/cross/bin , que por defecto se encuentra en el camino delusuario. Las próximas versiones de SuSE Linux Enterprise Server forPPC64 incluirán un compilador biarch.

Recuerde que los ficheros de cabecera (header) han de ser escritos de tal for-ma que sean independientes de la arquitectura y que tanto las librerías de 32como las de 64 bits instaladas han de disponer de un API (Application Pro-gramming Interface) que corresponda con los ficheros de cabecera instalados.El entorno SuSE sigue estos requisitos, pero si actualiza las librerías por símismo, tendrá que asegurarse de que se sigan cumpliendo.

160 Desarrollo de software

Page 177: Sles Admin Ipseries

7So

po

rtep

ara

ap

lica

cio

ne

sd

e32

bits

y64

bits

en

une

nto

rno

de

64b

its

Cuestiones relativas al kernel

Los kernels de 64 bits para ia64, ppc64, s390x y AMD Hammer proporcionanun ABI (Application Binary Interface) de kernel tanto de 64 como de 32 bits.Este último es el mismo que el ABI correspondiente al kernel de 32 bits. Estosignifica que las aplicaciones de 32 bits pueden interactuar con el kernel de64 bits de forma equivalente a como lo hacen con el de 32 bits.

Tenga en cuenta que la emulación de llamadas de sistema de 32 bits que in-corpora un kernel de 64 bits no soporta algunas APIs que son utilizados porlos programas del sistema. Por tanto, es necesario que exista una versión de64 bits de un reducido número de programas del sistema como, por ejemplo,lspci o los programas de administración del LVM.

Un kernel de 64 bits sólo puede cargar módulos de 64 bits que hayan sidocompilados específicamente para él. No es posible utilizar módulos de kernelde 32 bits.

TrucoAlgunas aplicaciones necesitan sus propios módulos instalables de ker-nel. Si está planeando utilizar una de estas aplicaciones de 32 bits enun entorno de 64 bits, por favor, contacte con el fabricante del progra-ma y SuSE a fin de asegurarse de que están disponibles la versión de64 bits del módulo instalable y las traducciones de 32 bits para el APIdel kernel.

Truco

161SuSE Linux – Enterprise Server 8

Page 178: Sles Admin Ipseries
Page 179: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

El concepto de arranque deSuSE Linux Enterprise Server

El arranque y la inicialización de un sistema UNIX provoca un hormigueo in-cluso al administrador de sistemas más experimentado. Este capítulo es unabreve introducción al concepto de arranque de SuSE Linux Enterprise Ser-ver. La implementación actual de este concepto la realiza el apartado SystemInitialization de la especificación LSB (versión 1.2); respecto a LSB véase elapartado Linux Standard Base (LSB) en la página 144.

El programa init . . . . . . . . . . . . . . . . . . . . . . . . 164Los niveles de ejecución – ”Runlevel” . . . . . . . . . . . . 165Cambio de nivel de ejecución . . . . . . . . . . . . . . . . 166Los scripts de inicio . . . . . . . . . . . . . . . . . . . . . . 168Editor para Runlevel . . . . . . . . . . . . . . . . . . . . . . 170SuSEconfig, /etc/sysconfig y /etc/rc.config . . . . . . . . 171Configuración del sistema con el editor Sysconfig de YaST2 173Scripts y variables – Configuración del sistema . . . . . . 174

Page 180: Sles Admin Ipseries

Con las lapidarias palabras "Uncompressing Linux..." el Kernel toma el man-do de todo el hardware del sistema; comprueba y fija la consola – más exac-tamente el registro de la BIOS de la tarjeta gráfica y el formato de salida dela pantalla –, para después leer los valores predeterminados de la BIOS e ini-cializar las interfaces elementales de la placa base. En los próximos pasoslos distintos drivers – que forman parte del kernel – ”prueban” el hardwa-re presente para realizar una inicialización, en caso necesario. Después del”chequeo de la partición” y la carga del Root-Filesystem, el kernel ejecutael /sbin/init, el cual realiza el auténtico arranque del sistema con sus múlti-ples programas auxiliares y sus configuraciones El kernel sigue gestionandoel sistema completo, el tiempo de cálculo de los programas y los accesos alhardware.

El programa init

El programa init es el proceso correspondiente para una inicialización correctadel sistema; se puede decir que es el ”Padre de todos los procesos” de siste-ma.

Dentro de todos los programas, init tiene un status especial: init es ejecutadodirectamente por el Kernel y por lo tanto no tiene efecto la señal 9, con lacual todos los procesos pueden ser ”interrumpidos”. Los procesos siguientesson ejecutados directamente por init o por uno de sus ”Procesos subordina-dos”.

Se configura init centralizado a través del fichero /etc/inittab ; aquí sedefinen los llamados ”niveles de ejecución” (ingl. Runlevel) (se comenta conmás detalle en el apartado Los niveles de ejecución – ”Runlevel” en la páginasiguiente) y se determina qué servicios y daemons deben estar disponiblesen los diferentes niveles. Dependiendo de la escritura en /etc/inittab , initejecuta diferentes scripts, que por razones de organización se reunen en eldirectorio /etc/init.d .

Así, todo el proceso de arranque – y naturalmente la secuencia de apagado –es controlado por el proceso init; en este sentido se puede considerar el kernelprácticamente como ”proceso en segundo plano”, el cual tiene como objetivogestionar los procesos arrancados, dedicarles tiempo de cálculo y posibilitar ycontrolar el acceso al hardware.

164 El programa init

Page 181: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

Los niveles de ejecución – ”Runlevel”

Bajo Linux existen diferentes Runlevels (niveles de ejecución), que definen quéestado debe tener el sistema. El nivel estándar, en el cual arranca el sistema,está en el fichero /etc/inittab inscrito mediante initdefault ; normal-mente es 3 o 5 (ver tabla 8.1 en la página siguiente). Alternativamente sepuede introducir el nivel de ejecución requerido en el proceso de arranque(p. ej. en LILO-Prompt); el kernel transfiere parámetros que él no puede tratarsin modificar al proceso init.

Se puede cambiar a otro nivel de ejecución introduciendo sólo init con el nú-mero correspondiente; naturalmente el cambio a otro nivel sólo puede sergestionado por el administrador de sistema.

Por ejemplo, se logra entrar mediante el siguiente comando

root@tierra:/ > init 1

en el modo monousuario (ingl. single user mode), el cual se preocupa del mante-nimiento y administración del sistema. Después de que el administrador delsistema ha acabado su trabajo se puede iniciar, para que con

root@tierra:/ > init 3

arranque el sistema en el nivel de ejecución corriente, en el cual todos losprogramas necesarios se ejecutan y los usuarios individuales pueden dar unaviso al sistema.

La tabla 8.1 en la página siguiente da una orientación sobre los niveles deejecución disponibles. ¡El nivel 2 nunca debería ser utilizado en un sistema enel que la partición /usr está cargada vía NFS!

Nivel de Significadoejecución0 Parada de sistema (ingl. system halt)S Modo monousuario (ingl. single user mode); desde el prompt

de arranque con distribución de teclado inglesa.1 Modo monousuario (ingl. single user mode)2 Modo multiusuario local sin red (ingl. full multiuser with net-

work)3 Modo multiusuario completo con red (ingl. full multiuser with

network)4 Libre (ingl. not used)5 Modo multiusuario completo con red y KDM (estándar),

GDM o XDM (ingl. full multiuser with network and xdm)

165SuSE Linux – Enterprise Server 8

Page 182: Sles Admin Ipseries

6 Rebotar el sistema (ingl. system reboot)

Cuadro 8.1: Lista de los niveles de ejecución disponibles en Linux

Por consiguiente, también se puede parar el sistema con

root@tierra:/ > init 0

o reinicializándolo de nuevo con,

root@tierra:/ > init 6

En una instalación estándar de SuSE Linux Enterprise Server normalmentese configura el nivel de ejecución 5 como valor por defecto, de modo quelos usuarios puedan entrar directamente al entorno gráfico del sistema. Sipor un ajuste manual la configuración de nivel de ejecución 5 no se hubierarealizado, es posible efectuar posteriormente una reconfiguración.Si quiere cambiar el valor del nivel de ejecución estándar de 3 a 5, tieneque asegurarse de que sistema X Window ya está correctamente configura-do; (apartado El sistema X Window en la página 33) . Para comprobar que elsistema funciona tal como se desea, introduzca:

root@tierra:/ > init 5

Una vez realizada la comprobación con éxito se puede cambiar el nivel deejecución por defecto mediante YaST2 al valor 5.

TrucoModificaciones en /etc/inittabUn /etc/inittab alterado puede provocar que el sistema ya noarranque correctamente. Hay que tener mucho cuidado al modificareste fichero y no olvidarse de conservar siempre una copia del fiche-ro intacto. – Para remediar el problema se puede intentar transferirel parámetro boot: linux init=/bin/sh en el Boot-Prompt, paraarrancar directamente dentro de una shell y desde allí recuperar el fi-chero. Después del arranque, se puede recuperar la copia de seguridadcon cp .

Truco

Cambio de nivel de ejecuciónEn un cambio de nivel de ejecución suele ocurrir lo siguiente. Los llamadosscripts de parada del nivel actual se ejecutan– los diferentes programas que

166 Cambio de nivel de ejecución

Page 183: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

se están ejecutando en este nivel se finalizan – y los scripts de arranque delnuevo nivel se inicializan. En un procedimiento como este, en la mayoría delos casos se ejecutan varios programas.

Para que sea más claro, veamos en un ejemplo qué ocurre si cambiamos delnivel 3 al 5:

El administrador (root ) comunica al proceso init que debe cambiar elnivel de ejecución:

root@tierra:/ > init 5

init consulta el fichero de configuración /etc/inittab y detecta que elscript /etc/init.d/rc debe ser llamado con el nuevo nivel de ejecu-ción como parámetro.

Ahora llama rc a todos los scripts de parada del nivel actual, para loscuales no existe un script de arranque en el nivel nuevo; en nuestroejemplo son todos los scripts que se encuentran en el subdirectorio/etc/init.d/rc3.d (el último nivel de ejecución era 3) y que co-mienzan con la letra ‘K’ . El número que sigue a la ‘K’ asegura que semantenga un cierto orden en el proceso, porque ocasionalmente algunosprogramas dependen de otros.

AtenciónLos nombres de los scripts de parada comienzan siempre con‘K’ (ingl. kill), los de los scripts de arranque con ‘S’ (ingl.start).

Atención

Por último se llama a los scripts de arranque del nuevo nivel de eje-cución; estos están en nuestro ejemplo en /etc/init.d/rc5.d y co-mienzan con una ‘S’ . También aquí se mantiene un orden determina-do el cual queda fijado por el número que sigue a la ‘S’ .

Si cambia al mismo nivel en el cual se encuentra,init lee solamente el /etc/inittab , comprueba el fichero para cambios existentes y en caso necesariorealiza los procedimientos adecuados (p. ej. ejecuta un getty en otra inter-faz).

167SuSE Linux – Enterprise Server 8

Page 184: Sles Admin Ipseries

Opción Significadostart Iniciar el serviciostop Parar el serviciorestart Con el servicio en ejecución, pararlo y reiniciarlo; en

caso contrario, iniciarloreload Leer la configuración del servicio nuevamente sin para-

da y reinicio del servicioforce-reload Leer nuevamente la configuración del servicio, si este

lo soporta; en caso contrario igual a restartstatus Mostrar estado actual

Cuadro 8.2: Resumen de las opciones de los scripts de inicio

Los scripts de inicio

Los scripts bajo /etc/init.d se dividen en dos categorías:

scripts llamados directamente por init: Esto sólo sucede en caso dearranque así como también en caso de un apagado instantáneo (en ca-so de un corte eléctrico o por pulsar la combinación de teclas

�� ��Control +�� ��Alt +�� ��Supr por parte del usuario).

scripts llamados indirectamente por init: Esto ocurre en caso de un cam-bio del nivel de ejecución; aquí generalmente se ejecuta el script supe-rior /etc/init.d/rc, el que se encarga de que sean llamados los scriptscorrespondientes en su secuencia correcta.

Todos los scripts se encuentran bajo /etc/init.d . Los que se usan parael cambio del nivel de ejecución se encuentran también en este directorio,pero son llamados siempre como un enlace simbólico desde uno de los sub-directorios /etc/init.d/rc0.d hasta /etc/init.d/rc6.d . Esto sirvepara organizar y evita que los scripts tengan que estar presentes varias ve-ces, por ser utilizados en diferentes niveles. Para que cada uno de los scriptspueda ser llamado como script de arranque o de parada script, estos tienenque entender los dos parámetros start y stop . Aparte de estos dos pará-metros, los scripts son capaces de procesar las opciones restart , reload ,force-reload y status , cuyo significado se explica con más detalle en latabla 8.2.

Al salir del nivel 3 se invoca /etc/init.d/rc3.d/K40network ; /etc/init.d/rc invoca el script /etc/init.d/network con el parámetro stop .

168 Los scripts de inicio

Page 185: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

Por último, al entrar en un nivel 3, se ejecuta el mismo script pero ahora conel parámetro start .

Los enlaces en los subdirectorios específicos de los niveles de ejecución sólosirven para unir cada script con un determinado nivel.

Los enlaces necesarios se crean y se quitan mediante insserv (o mediante elenlace /usr/lib/lsb/install_initd ) en el momento de instalar o de-sinstalar el paquete; ver página del manual de insserv (man 8 insserv ).

A continuación hay una breve descripción del primer script de arranque ydel último script de parada, así como del script de control:

boot Este script es ejecutado directamente por init en el arranque del sis-tema, es independiente del nivel de ejecución por defecto requerido yse ejecuta sólo una vez. Fundamentalmente, se montan los volúmenesproc y devpts , se arranca el blogd y – después de la primera instala-ción o de una actualización – se ejecuta una configuración básica.

Adicionalmente, este script se hace cargo del directorio /etc/init.d/boot.d ; al arrancar el sistema se ejecutan en este directorio todoslos scripts cuyos nombres comienzan con ‘S’ . Se realiza la comproba-ción de los sistemas de ficheros, se eliminan los ficheros sobrantes en/var/lock y se configura la red para el Loopback-Device, en el ca-so de que esté apuntado en /etc/rc.config . Acto seguido se fija eltiempo real del sistema. Si aparece un fallo grave durante la compro-bación y reparación automática de los sistemas de fichero, el adminis-trador del sistema tiene la posibilidad de resolver el problema manual-mente, después de haber introducido la contraseña de root.

Por último se ejecuta el script boot.local.

boot.local Aquí se pueden introducir más cosas que se deban ejecutaren el arranque, antes de que el sistema entre en uno de los niveles deejecución; se puede hacer la comparación con el fichero AUTOEXEC.BATbajo DOS.

boot.setup Son fijaciones básicas que se deben realizar cuando se cam-bia desde el modo de usuario único a cualquier otro nivel de ejecución.Aquí se cargan la distribución del teclado y la configuración de la con-sola.

halt Este script sólo se ejecuta entrando en los niveles 0 o 6. Entonces seejecuta con el nombre halt o con reboot . Dependiendo de cómo sedenomine a halt, el sistema se reinicializa o se apaga totalmente.

169SuSE Linux – Enterprise Server 8

Page 186: Sles Admin Ipseries

rc Es el script superior, el cual es invocado en cada cambio del nivel deejecución. Ejecuta los scripts de parada del nivel actual y después losscripts de arranque del nuevo.

Se pueden añadir scripts propios mediante este concepto; un patrón está pre-parado en /etc/init.d/skeleton . El diseño del LSB detalla el formatoque debe tener este patrón. Particularmente se hace hincapié en el orden deprocesamiento de los scripts y su asignación a los distintos niveles de ejecu-ción. Ahora se deben crear con insserv enlaces desde cada directorio rc alscript nuevo, para que este se ejecute cambiando de nivel de ejecución; comose describe más arriba. También en la misma referencia se explica la asigna-ción de nombres a los enlaces. Los detalles técnicos se describen en páginadel manual de init.d (man 7 init.d ) y página del manual de insserv(man 8 insserv ). Con el editor de Runlevels de YaST2 existe una herra-mienta gráfica para la creación de los enlaces simbólicos; ver apartado 8.

AvisoElaboración de scripts de inicio propios: Los scripts defectuosos pue-den provocar el bloqueo de la computadora. Tenga mucho cuidado a lahora de elaborar scritps propios y pruébelos tanto como le sea posibleantes de ejecutarlos en un entorno multiusuario. Para más informaciónbásica sobre cómo manejar scritps de inicio y niveles de ejecución, veael apartado Los niveles de ejecución – ”Runlevel” en la página 165.

Aviso

Editor para Runlevel

La primera ventana, después de la inicialización de este módulo de experto,muestra el nivel de ejecución por defecto. Este ”modo de operación” se ini-cia tras el arranque del sistema y en el caso de SuSE Linux Enterprise Servergeneralmente es el nivel de ejecución 5 (modo multiusuario con red y KDM,el login gráfico). Otro nivel de ejecución razonable es el nivel 3 (modo mul-tiusuario con red). En esta pantalla, se podría modificar el nivel de ejecuciónpor defecto; véase la tabla 8.1 en la página 166

‘Editar’ muestra un resumen de todos los servicios y daemons que estén ac-tivos y en qué nivel de ejecución lo están. Al marcar una línea con el mouseexiste la posibilidad de activar una de las casillas ‘0’, ‘1’, ‘2’, ‘3’, ‘5’, ‘6’ y ‘S’para determinar el nivel de ejecución en el que se debe iniciar el servicio encuestión. El nivel de ejecución 4 se mantiene libre para una configuración in-dividual del usuario.

170 Editor para Runlevel

Page 187: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

‘Iniciar’ y ‘Parar’ sirven para activar o desactivar un determinado servicio.‘Actualizar’ comprueba el estado actual en caso de que no funcione automá-ticamente. ‘Valor por defecto’ representa la posibilidad de recuperar la con-figuración estándar (el estado posterior a la instalación del sistema). ‘Activarservicio’ sólo aparece si el servicio estuviera desactivado. ‘Configuración es-tándar para todos los servicios’ devuelve todos los servicios al estado originalposterior a la instalación. ‘Terminar’ guarda esta configuración de sistema.

AvisoEditar las configuraciones del RunlevelLa configuración defectuosa de los servicios del sistema y de los ni-veles de ejecución pueden provocar un fallo general en su sistema.Infórmese antes de realizar una modificación en las configuraciones delas posibles consecuencias, con el fin de proteger el funcionamiento delsistema.

Aviso

SuSEconfig, /etc/sysconfig y /etc/rc.config

La configuración principal de SuSE Linux Enterprise Server puede rea-lizarse a través de los ficheros de configuración en /etc/sysconfig ./etc/rc.config , el antiguo fichero de configuración principal de SuSELinux Enterprise Server, se ha mantenido como fichero vacío para que losscripts hechos por usted sean capaces de leer su configuración y aplicar susvariables globalmente.

A los ficheros en /etc/sysconfig sólo se accede de forma puntual desdedeterminados scripts; de esta manera se garantiza que las configuraciones dered sólo sean utilizadas por los scripts de red.

Además se pueden generar muchos más ficheros de configuración del sistemaen dependencia de los ficheros generados en /etc/sysconfig ; de lo cualse encarga /sbin/SuSEconfig. Así p. ej., después de un cambio en la configu-ración de la red se genera de nuevo el fichero /etc/host.conf , puesto quedepende de la forma en que esté configurado.

Por tanto, si se realizan cambios en los ficheros mencionados, se debe ejecu-tar posteriormente SuSEconfig, para asegurar que los datos prefijados actúenen todos los sitios correspondientes. Si se cambia la configuración con YaST2,entonces no hay que preocuparse expresamente de esto; YaST2 ejecuta auto-máticamente SuSEconfig, con lo cual ya se actualizan los ficheros correspon-dientes.

171SuSE Linux – Enterprise Server 8

Page 188: Sles Admin Ipseries

Este concepto permite realizar cambios fundamentales en la configuraciónde la computadora, sin necesidad de arrancar de nuevo; no obstante algunoscambios son muy profundos y, según las circunstancias, algunos programastienen que ser arrancados nuevamente. La utilización de los comandos

tierra: # rcnetwork stop

tierra: # rcnetwork start

se consigue que los programas de red afectados por los cambios se arranquende nuevo. Como se puede observar, los scripts de inicio también se puedenejecutar manualmente.Generalmente para la configuración del sistema se aconseja el siguiente proce-dimiento:

Conmutar el sistema en el ”single user mode” (nivel de ejecución 1):

tierra: # init 1

Realizar los cambios requeridos en los ficheros de configuración . Estose puede hacer con un editor de texto o mejor con el editor de syscon-fig de YaST2; ver apartado Configuración del sistema con el editor Sysconfigde YaST2 en la página siguiente.

Ejecutar SuSEconfig para realizar los cambios en los diferentes ficherosde configuración. Esto ocurre automáticamente si se hacen las modifica-ciones con YaST2.

Regresar el sistema al nivel de ejecución anterior (en este ejemplo 3):

tierra: # init 3

Este procedimiento solo es necesario en caso de cambios amplios en la con-figuración del sistema (p. ej. configuración de la red); para tareas sencillas deadministración no hace falta entrar en el ”single user mode”; sin embargo, asíse asegura que todos los programas afectados por las modificaciones arran-quen de nuevo.

TrucoPara desconectar por completo la configuración automática víaSuSEconfig, se puede activar la variable 〈ENABLE_SUSECONFIG〉en /etc/sysconfig/suseconfig dándole el valor no . Si quiere re-currir al soporte de la instalación, debe dar el valor yes a la variable〈ENABLE_SUSECONFIG〉. También es posible deshabilitar la configura-ción automática selectivamente.

Truco

172 SuSEconfig, /etc/sysconfig y /etc/rc.config

Page 189: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

Configuración del sistema con el editor Sys-config de YaST2

En el directorio /etc/sysconfig se encuentran los ficheros que contienenlas configuraciones más importantes de SuSE Linux Enterprise Server (anti-guamente gestionadas desde el fichero /etc/rc.config ). El editor Syscon-fig de YaST2 muestra un resumen de todas las posibilidades de configuración.Se pueden modificar los valores para pasarlos posteriormente a los ficherosde configuración que los albergan. Por lo general no hace falta realizar estetipo de modificación manualmente, ya que cuando un paquete se instala o seconfigura un determinado servicio, los ficheros se modifican automáticamen-te.

AvisoModificaciones en los ficheros /etc/sysconfig/*No se deben realizar modificaciones en /etc/sysconfig/* sin tenersuficiente conocimiento previo, ya que partes importantes del sistemapodrían dejar de funcionar.

Aviso

Figura 8.1: YaST2: Configuración con el editor sysconfig

173SuSE Linux – Enterprise Server 8

Page 190: Sles Admin Ipseries

Scripts y variables

A continuación se comentarán brevemente los parámetros individuales delsistema y sus opciones. Si no utiliza YaST para trabajar con los ficheros deconfiguración en /etc/sysconfig , no olvide anotar entre comillas un pará-metro vacío (p. ej. 〈KEYTABLE=""〉), así como los parámetros que contienenespacios vacíos. No hace falta con variables que se componen de una solapalabra.

Atención

Variables específicas de la plataforma en /etc/sysconfigLas variables y ficheros que se presentan en /etc/sysconfig han si-do concebidas como los denominadores comunes más básicos de todaslas plataformas, En determinadas circunstancias, aquí puede encontrarvariables que no se encuentran en su plataforma, así como variablesespecíficas de una determinada plataforma. Le remitimos a la docu-mentación que se encuentra dentro de los archivos /etc/sysconfig .

Atención

Configuraciones básicas en /etc/sysconfig

3ddiag Para 3Ddiag

SCRIPT_3D="switch2mesasoft"Fijar scripts que apunten a los enlaces simbólicos necesarios para lasbibliotecas y ampliaciones de OpenGL adecuadas. Los valores posiblespara los scripts que se encuentran en /usr/X11R6/bin son:

no – No ejecuta ningún scriptswitch2mesasoft – Emulación del software Mesa (funciona con to-

das las tarjetas gráficas)switch2mesa3dfx – Mesa/Glideswitch2nvidia_glx – XFree86 4.x/NVIDIA_GLX (NVI-

DIA_GLX/NVIDIA_kernel)switch2xf86_glx – XFree86 4.x/DRI

Con 3Ddiag se puede averiguar la configuración correcta .

SuSEfirewall2 Activar el cortafuegos; véase la descripción en paqueteSuSEfirewall2 .

amavis Activar el escáner de virus AMaViS en Sendmail o Postfix.

174 Scripts y variables – Configuración del sistema

Page 191: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

USE_AMAVIS="yes"Aquí se activa AMaViS. SuSEconfig establece una configuración adecua-da para Sendmail o Postfix. Puede encontrar información más detalladaen README.SuSEdel paquete AMaViS.

apache Configuración del servidor web Apache. Esta configuración abarcasolamente los parámetros estándar o los que son imprescindibles paraApache. Para todas las demás variables y módulos, así como los mo-dos de funcionamiento, le remitimos a la documentación de Apache,que puede instalar con YaST2 como paquete apache-doc o bajar de lassiguientes URLs:http://httpd.apache.org/docs/ y http://modules.apache.org

HTTPD_PERFORMANCE="slim"Aquí puede configurar la cantidad de clientes a los que sirve su ser-vidor. Puede elegir entre las clases ”slim”, ”mid”, ”thick” y ”enterpri-se”. SuSEconfig determina MinSpareServers , MaxSpareServers ,StartServers y MaxClients en la correspondiente configuración deApache /sbin/conf.d/SuSEconfig.apache .

HTTPD_START_TIMEOUT="2"Aquí puede establecer el intervalo de tiempo (en segundos) dentro delcual el inicio de arranque comprueba si el proceso http puede comenzarsin problemas. Si utiliza el mod_ssl y su certificado SSL está protegidocon una contraseña, debe aumentar este valor.

HTTPD_SEC_ACCESS_SERVERINFO="no"Esta configuración activa los módulos mod_status y mod_info , queinforman respectivamente sobre el estado, el rendimiento y la configu-ración del servidor.

HTTPD_SEC_SAY_FULLNAME="no"¿Qué información debe salir del servidor en forma de pie de página endocumentos generados por el servidor (p. ej. mensajes de error)? Pue-de elegir entre yes para que se muestren la versión y el nombre delservidor; no para que no aparezca ninguna información y e-mail pa-ra la versión y el nombre, y mailto: para enviar una notificación aladministrador del servidor. Estas variables están relacionadas con ladirectiva de Apache ServerSignature .

HTTPD_SEC_SERVERADMIN=""Introduzca aquí la dirección de correo electrónico del administradordel sistema. Si ha fijado la variable 〈HTTPD_SEC_SAY_FULLNAME〉 enyes esta se enviará fuera del servidor. Si deja este espacio vacío, se uti-lizará la dirección estándar webmaster@$HOSTNAME. 〈HOSTNAME〉 (el

175SuSE Linux – Enterprise Server 8

Page 192: Sles Admin Ipseries

nombre completo del servidor) se fijará en el archivo /etc/HOSTNAME .〈HTTPD_SEC_SERVERADMIN〉 se corresponde con las directivas deApache ServerAdmin . ServerAdmin Las directivas en VirtualHostno se modificarán – como tampoco lo hará el registro del SSL VirtualHosts.

HTTPD_SEC_PUBLIC_HTML="yes"¿Se debe abrir el directorio public_html que se encuentra en el direc-torio raíz del usuario? Responda a esta pregunta con yes , para quepueda efectuar configuraciones adicionales en /etc/httpd/suse_public_html.conf .

HTTPD_CONF_INCLUDE_FILES=""Introduzca aquí los ficheros que /etc/httpd/httpd.conf debeincluir, separados por un espacio en blanco. De esta forma, puedep. ej. definir nuevos VirtualHost , sin realizar más modificacionesen /etc/httpd/httpd.conf . Mientras SuSEconfig no constate nin-gún cambio mediante el mecanismo de suma MD5 en /etc/httpd/httpd.conf , la configuración de Apache no tocará este fichero.

HTTPD_AWSTATS_COMBINED_LOG="yes"¿Debe Apache realizar un fichero de registro extra para que lo utiliceawstats (ingl. Advanced Web Statistics)?

HTTPD_DDT="yes"Se activa el DDT Admin CGI. Puede utilizarlo para crear y administrarcuentas locales de servidor DDT (ingl. Dynamic DNS Tools).

MAILMAN_APACHE="yes"¿Debe activarse Mailman para la administración de listas de correo?

HTTPD_SEC_MOD_MIDGARD="yes"Activa el módulo midgard . Midgard es un un sistema de gestión decontenido de código libre (ingl. Open Source Content Management Sys-tem).

HTTPD_SEC_MOD_PERL="yes"Activa el módulo mod_perl .

HTTPD_SEC_MOD_PHP="yes"Activa el módulo mod_php

HTTPD_SEC_MOD_PYTHON="yes"¿Quiere activar el módulo Python de Apache? yes es aquí el valor pordefecto.

HTTPD_SEC_NAGIOS="yes"Permite el acceso a la interfaz web Nagios. Lo puede configurar en/etc/httpd/nagios.conf .

176 Scripts y variables – Configuración del sistema

Page 193: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

HTTPD_SEC_MOD_SSL="no"Activa el módulo SSL. La configuración por defecto es no , puesto quese deben realizar algunas tareas previas antes de que SSL funcione ade-cuadamente.Cree un certificado del servidor. Para crear un certificado de prueba.introduzca los siguientes comandos en este orden como root :

cd /usr/share/doc/packages/mod_ssl./certificate.sh

Establezca la 〈ServerName〉 en VirtualHost _default_:443 delhttpd.conf con el nombre completo del servidor (ingl. Fully QualifiedDomain Name) (véase 〈HOSTNAME〉 /etc/HOSTNAME ).Aumente 〈HTTPD_START_TIMEOUT〉 si el certificado de su sistemaestá protegido con una contraseña. (véase más arriba).

ZOPE_PCGI="no"¿Se deben realizar consultas de Zope mediante la interfaz PCGI deApache? Si deja esta variable con la configuración por defecto no ,Zope se arranca como servidor web ”Standalone”; si indica el valoryes , Apache debe estar instalado para poder utilizar PCGI. Puede en-contrar más opciones en /etc/sysconfig/zope .

ZOPE_KEEP_HOMES="yes"Si se pueden realizar consultas Zope mediante apache-pcgi y〈ZOPE_KEEP_HOMES〉 tiene el valor yes , Apache pondrá a dispo-sición los directorios raíz de los usuarios.

argoups La configuración de argoups. Este paquete ofrece la posibilidadde cerrar el sistema mediante un daemon especial, en caso de que senotifique un corte de corriente.

ARGO_TYPE="local"Introduzca aquí el tipo de conexión al sistema de vigilancia. Siquiere vigilar un sistema a distancia, introduzca su nombre en〈ARGO_REMOTESERVER〉.ARGO_REMOTESERVER=""

ARGO_TTY="/dev/ttyS0"¿Mediante qué puerto serie se realiza la conexión a ArgoUPS?

ARGO_USERTIME="2"Después del corte de corriente, ¿cuánto tiempo (en minutos) debe ejecu-tarse el script de 〈ARGO_USERFILE〉?ARGO_USERFILE="/usr/sbin/argoblackout"

177SuSE Linux – Enterprise Server 8

Page 194: Sles Admin Ipseries

ARGO_SHUTDOWN="8"Y después, ¿cuándo debe iniciarse el cierre?

argus Servidor para Argus (monitor de red).

ARGUS_INTERFACE="eth0"La interfaz de control de Argus.

ARGUS_LOGFILE="/var/log/argus.log"El fichero de registro de Argus. ¡Este fichero puede llegar a ser muygrande!

autofs Con este daemon se pueden montar automáticamente tanto directo-rios accesibles vía NFS como directorios locales (unidades de CD-ROM,disqueteras, etc.)

AUTOFS_OPTIONS=""Opciones para autofs, p. ej."--timeout 60 ". La opción -timeout de-termina el intervalo de tiempo (en segundos) en que los directorios sedeben desmontar (ingl. umount) automáticamente.

autoinstall AutoYaST2 es el programa de instalación automática deYaST2.

REPOSITORY="/var/lib/autoinstall/repository"Depósito de todas los ”perfiles” (ingl. profiles). Estos son ficheros decontrol incluidos en la descripción de las configuraciones de los hostsque se quiere instalar.

CLASS_DIR="/var/lib/autoinstall/classes"Al crear perfiles/ficheros de control para instalaciones complejas, puededefinir clases que facilitan el trabajo y que representan los diferentestipos y grupos de hosts. YaST2 los sitúa en /var/lib/autoinstall/classes .

PACKAGE_REPOSITORY=""Este directorio incluye los datos/paquete de instalación para SuSE Li-nux Enterprise Server.

backup Copia del banco de datos RPM.

RPMDB_BACKUP_DIR="/var/adm/backup/rpmdb"Establece dónde debe escribir cron.daily los backups del banco de da-tos RPM; en caso de que no se quiera disponer de backups, se la da elvalor "" a esta variable.

178 Scripts y variables – Configuración del sistema

Page 195: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

MAX_RPMDB_BACKUPS="5"Determina la cantidad de backups del banco de datos RPM.

RCCONFIG_BACKUP_DIR="/var/adm/backup/rpmdb"cron.daily deja en este directorio los backups de /etc/rc.config ylos ficheros de etc/sysconfig/ . Cada vez que se modifiquen estosficheros, cron.daily creará backups. Si no desea ningún backup, fije estavariable en "" .

MAX_RCCONFIG_BACKUPS="5"Aquí puede establecer cuántos backups de los archivos que se encuen-tran en /etc/sysconfig y en /etc/rc.config se deben conservar.

clock Configuración del tiempo.

GMT=""Si el tiempo de su hardware está fijado en GMT (Greenwich Mean Ti-me), ponga el valor -u a esta variable; si no es el caso, ponga el valor--localtime . Esta configuración es importante para el cambio auto-mático de horario de verano a invierno y viceversa.

TIMEZONE=""La zona horaria en la que vive. Esta configuración también es impor-tante para el cambio automático de horario de verano a invierno y vice-versa. Con ella se establece /usr/lib/zoneinfo/localtime .

console Configuraciones para la consola.

FB_MODULES=""¿Quiere cargar un módulo framebuffer en el kernel? Antes de decidirse,debe tener en cuenta que las configuraciones no funcionarán si vesafbya está activo. Además conlleva más ventajas haber compilado el sopor-te del framebuffer directamente en el kernel. Finalmente, algunos mó-dulos XFree86 (en especial los de la serie XFree86-4.x) tienen problemascon el modo texto del framebuffer.

FBSET_PARAMS=""Si el kernel de que dispone soporta framebuffers (o se pueden car-gar como módulos), deseará cambiar la resolución u otros paráme-tros. Asigne a fbset los parámetros correspondientes con (Detalles: manfbset y/o fbset -h ).

179SuSE Linux – Enterprise Server 8

Page 196: Sles Admin Ipseries

Aviso

Configuración de los parámetros del FramebufferLas configuraciones posibles dependen en gran medida del hard-ware y software de que disponga. En determinadas circunstan-cias, tomar una decisión incorrecta puede causar daños a sumonitor. Tenga en cuenta lo siguiente:

vesafb (aún) no soporta el cambio del modo de presentación. Noescoja un modo de presentación que su monitor no soporte.

Aviso

CONSOLE_FONT=""La fuente que se debe cargar para la consola. Los ajustes adi-cionales se realizan mediante: 〈CONSOLE_SCREENMAP〉,〈CONSOLE_UNICODEMAP〉 y 〈CONSOLE_MAGIC〉.CONSOLE_UNICODEMAP=""Algunas fuentes no disponen de un único ”Unicode Map”. Introduz-ca aquí explícitamente el Unicode Mapping que desea. Los ficheros seencuentran en /usr/share/kbd/unimaps/ . Por regla general, estaopción no es necesaria.

CONSOLE_SCREENMAP=""¿Debe cambiarse la fuente que utiliza en signos de Unicode? Introduzcaaquí el screenmap apropiado. Los screenmaps se encuentran en /usr/share/kbd/consoletrans/ .

CONSOLE_MAGIC=""Para determinadas fuentes la consola debe inicializarse con〈CONSEOLE_MAGIC〉. Por regla general, no es necesario realizar aquíninguna modificación.

SVGATEXTMODE="80x25"El correspondiente paquete svgatext permite la configuración de re-soluciones de texto más altas. (hasta 160x60) con tarjetas SVGA. Estasvariables incluyen un valor procedente de /etc/TextConfig . Acomo-de este fichero a las propiedades de su tarjeta gráfica. Para saber cómopuede hacer esto, diríjase a /usr/share/doc/packages/svgatext .La configuración por defecto para 〈SVGATEXTMODE〉 es ”80x25”. Lasresoluciones modo texto de SVGA se utilizan en los niveles de ejecu-ción 1,2,3 y 5.

cron Tareas diarias de mantenimiento en el sistema

El daemon cron inicia de forma automática determinados programas aciertas horas. La activación de este daemon es muy recomendable en

180 Scripts y variables – Configuración del sistema

Page 197: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

computadoras que están constantemente en funcionamiento. Una alter-nativa o complemento es el daemon AT.

AtenciónExiste una gran cantidad de configuraciones de sistema que re-quieren el arranque de determinados programas. El daemon crondebe haber sido activado con anterioridad.

Atención

MAX_DAYS_IN_TMP="0"Diariamente se comprueba si en los directorios de tmp (seevariableTMP_DIRS_TO_CLEAR) existen ficheros a los que no se ha ac-cedido durante un tiempo fijado (en días). En caso de que este tiemposea superior al fijado, el fichero correspondiente será eliminado.Este mecanismo puede desactivarse con "" o 0 (ventaja). Esta variabledebería fijarse cuando el sistema es utilizado por varios usuarios, con elfin de evitar la sobrecarga de los directorios tmp .

TMP_DIRS_TO_CLEAR="/tmp /var/tmp"Indicación de los directorios en los que se debe buscar diariamente fi-cheros ”viejos”; véase 〈MAX_DAYS_IN_TMP〉.OWNER_TO_KEEP_IN_TMP="root"Los ficheros del usuario del sistema indicado aquí no deben ser elimi-nados del directorio tmp (véase 〈TMP_DIRS_TO_CLEAR〉), aunque nose hayan accedido durante más tiempo del establecido.Atención: ¡Si 〈CLEAR_TMP_DIRS_AT_BOOTUP〉 tiene el valor yes , nose tendrá en cuenta esta configuración!

CLEAR_TMP_DIRS_AT_BOOTUP="no"Asigne el valor yes a esta variable si se deben eliminar todos los fi-cheros y subdirectorios que se encuentran en los directorios temporalesmencionados en 〈TMP_DIRS_TO_CLEAR〉 (rm -fr ).Atención: ¡Si esta variable tiene el valor yes , no se tendrá en cuenta laconfiguración de 〈OWNER_TO_KEEP_IN_TMP〉 y se eliminarán todoslos ficheros sin excepción!

DELETE_OLD_CORE="no"Corefiles son copias de los documentos de almacenamiento de progra-mas, que han sido interrumpidos bruscamente debido a un fallo en elsistema de protección del almacenamiento; estas copias son útiles a lahora de buscar el error. Aquí puede configurar la búsqueda y posterioreliminación de viejas volcadas de pila. Para ello, el paquete paquetefindutils-locate debe estar instalado y 〈RUN_UPDATEDB〉 tenerel valor yes .

181SuSE Linux – Enterprise Server 8

Page 198: Sles Admin Ipseries

MAX_DAYS_FOR_CORE="7"Establezca aquí cuántos días deben transcurrir como máximo antes deeliminar viejas volcadas de pila.

REINIT_MANDB="yes"En qué momento del día el cron.daily debe poner nuevamente a dispo-sición los bancos de datos man (mandb und whatis).

DELETE_OLD_CATMAN="yes"¿Se debe eliminar de las páginas man que se encuentran en /var/catman la información que se ha quedado anticuada?

CATMAN_ATIME="7"¿Cuántos días se deben conservar las páginas man antes de ser elimina-das?

dhcpd Configuración de un servidor DHCP

DHCPD_INTERFACE="eth0"La interfaz o interfaces que el servidor DHCP debe escuchar.

DHCPD_RUN_CHROOTED="yes"¿Debe activarse dhcpd en un ”chroot jail”? Lea la información enREADME.SuSE sobre dhcp que se encuentra en /usr/share/doc/packages/dhcp/README.SuSE .

DHCPD_CONF_INCLUDE_FILES=""El fichero dhcpd.conf puede incluir include . Indique en〈DHCPD_CONF_INCLUDE_FILES〉 todos los ficheros que quiera in-cluir. De esta forma se copiarán todos los ficheros .conf , así como/etc/dhcpd.conf en el directorio Chroot (\$chroot/etc/ ).

DHCPD_RUN_AS="nobody"Establezca el usuario con el que se arrancará dhcpd Si deja esta varia-ble vacía o escribe root , dhcpd arrancará como root . Con nobodyarranca como el usuario nobody del grupo nogroup .

DHCPD_OTHER_ARGS=""Aquí puede añadir más argumentos al dhcpd (véase man dhcpd ).

dhcrelay Configuración del DHCP-Relay-Agents. Sirve como ”intermedia-rio” entre subredes con y sin un servidor DHCP propio. Dirige las con-sultas DHCP (y Bootp) que parten de una subred sin servidor propio auno o más servidores DHCP de la red y transmite la respuesta.

DHCRELAY_INTERFACES=""Las interfaces que debe escuchar el DHCP-Relay-Agent. Separe las en-tradas con espacios en blanco.

182 Scripts y variables – Configuración del sistema

Page 199: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

DHCRELAY_SERVERS=""¿A qué servidor DHCP se debe dirigir el DHCP-Relay-Agent? Indiqueaquí uno o más servidores separados por espacios en blanco.

displaymanager Configurar el administrador de ventanas.

DISPLAYMANAGER=""Esta variable determina el displaymanager que se debe utilizar en el”login”. Posibles valores son console , xdm (displaymanager tradicionaldel sistema X Window), kdm (displaymanager de KDE), gdm (display-manager de GNOME) o wdm(el displaymanager ”WINGs”).

DISPLAYMANAGER_REMOTE_ACCESS="no"¿Quiere permitir un acceso remoto a su administrador de ventanas? Laconfiguración por defecto es no .

DISPLAYMANAGER_STARTS_XSERVER="yes"¿Debe arrancar el administrador de ventanas un servidor X local? Sipermiten el acceso remoto, esta variable debe estar fijada en no .

KDM_SHUTDOWN="auto"Aquí se fija quién puede cerrar el sistema en kdm. Los valores posiblesson root , all , none , local y auto .

KDM_USERS=""Introduzca, separados por espacios en blanco, la lista de los usuariospara los que debe mostrarse iconos en kdm. Si no introducen ningúnvalor, se utilizará la configuración por defecto del sistema.

KDM_BACKGROUND=""Aquí puede escoger la imagen de fondo para kdm.

KDM_GREETSTRING=""¿Desea un saludo especial en kdm?

dracd Las configuraciones para el daemon dracd y ”Mail-Relaying” (tras-paso de mails) vía ”POP antes que SMTP.”

DRACD_RELAYTIME="5"Postfix coloca la dirección IP de un host autentificado en el servidorPOP durante un determinado período de tiempo y permite el envío decorreos desde este host. Transcurrido este tiempo la entrada se eliminay se requiere una nueva autentificación. La indicación tiene validez alcabo de unos minutos..

DRACD_DRACDB="/etc/postfix/dracd.db"Aquí se encuentra el valor dracdb .

183SuSE Linux – Enterprise Server 8

Page 200: Sles Admin Ipseries

dvb tarjeta DVB

DVB_SOUND_CHIP="ti"Establecer el chip de sonido de la tarjeta DVB; los valores posibles sonti o crystal .

hardware Configuraciones del hardware.

DEVICES_FORCE_IDE_DMA_ON=""Arrancar DMA en los dispositivos indicados.

DEVICES_FORCE_IDE_DMA_OFF=""Apagar DMA en los dispositivos indicados.

hotplug Configuraciones de Hotplug.

HOTPLUG_DEBUG="default"Con esta variable puede controlar la cantidad de mensajes de error queel servicio hotplug envía a syslog. Los valores default , "" , o no pro-ducen una cantidad moderada de mensajes, off hace que hotplug ”en-mudezca” y verbose o yes envían algunas mensajes adicionales. maxprovoca que syslog se inunde de mensajes.

HOTPLUG_START_USB="yes"Aquí arranca o se detiene el Hotplug USB.

AtenciónDesactivar Hotplug USBSi ha desactivado Hotplug USB y cargado dispositivos de entradaUSB como módulo, el teclado no reaccionará, puesto que de estaforma también se desactiva el soporte del teclado.

Atención

HOTPLUG_USB_HOSTCONTROLLER_LIST="usb-uhci uhci usb-ohci ehci-hcd"Aquí se fija el orden para la prueba de carga de los módulos del con-trolador. USB.

HOTPLUG_USB_MODULES_TO_UNLOAD="scanner"Estos módulos son eliminados por USB. Para determinado hardware esnecesaria una reinicialización.

HOTPLUG_USB_NET_MODULES="pegasus usbnet catc kaweth CDCEther"Si uno de estos módulos se carga o descarga del almacén, el sistemada por sentado que se trata de un dispositivo de red y elabora unadescripción de hardware para el correspondiente suceso en la red (netevent).

184 Scripts y variables – Configuración del sistema

Page 201: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

HOTPLUG_START_NET="yes"Activa o desactiva el ”NET Hotplug Event Handling” (tratamiento desucesos hotplug en la red).

HOTPLUG_NET_DEFAULT_HARDWARE=""Hasta que hotplug reconozca el tipo de hardware que se encuentra trasuna interfaz de red, USB o PCI Hotplug Events elaboran descripcio-nes del hardware. Añadir al mismo tiempo más dispositivos Hotplugpuede provocar que se eliminen las condiciones necesarias para reco-nocer el dispositivo (”Race Conditions”). En caso de que no funcioneel reconocimiento automático de los nuevos dispositivos, se utiliza-rá el contenido de 〈HOTPLUG_NET_DEFAULT_HARDWARE〉 al lla-mar a if{up,down}. Introduzca aquí lo que utiliza como tarjeta de red:pcmcia , usb o firewire .

HOTPLUG_NET_TIMEOUT="8"Introduzca aquí el valor que fija cuánto tiempo (en segundos) se debeesperar a que USB o PCI Hotplug Event elaboren una descripción delhardware. Si a esta variable se le da el valor 0, se utilizará automática-mente 〈HOTPLUG_NET_DEFAULT_HARDWARE〉. Tenga en cuenta laconfiguración predeterminada de ocho segundos en algunas tarjetas dered PCMCIA.

HOTPLUG_START_PCI="yes"Activa o desactiva el manejo de los anuncios de inserción en caliente(PCI Hotplug Event Handlings).

HOTPLUG_PCI_MODULES_NOT_TO_UNLOAD=""Los siguientes módulos no se deben cargar desde la memoria mientrasque exista un anuncio de haber quitado una tarjeta PCI ”PCI removeEvent”

intermezzo Configuraciones del sistema de ficheros Intermezzo.

EXCLUDE_GID="63"Introduzca aquí el grupo que se debe extraer antes de la replicación.

irda IrDA es la interfaz de infrarrojos que hay que habilitar en la mayoríade las computadoras portátiles.

IRDA_PORT="/dev/ttyS1"De momento sólo se soporta el modo serie (UART (SIR)) en la configu-ración estándar. Se debe buscar el puerto serie que se utiliza en el setupde la BIOS. Si tiene un chipset FIR soportado, indique aquí el módu-lo del kernel correspondiente (p. ej.toshoboe . Primero, FIR debe seractivado en las configuraciones de la BIOS. En casos concretos, puede

185SuSE Linux – Enterprise Server 8

Page 202: Sles Admin Ipseries

ser necesario desactivar el puerto serie vía setserial /dev/ttyS<x>uart none .

isdn/ Todos los scripts importantes para ISDN.

ispell Comprobación de la ortografía.

ENGLISH_DICTIONARY="system american british"SuSEconfig.ispell gestiona un enlace simbólico al diccionario inglés conuno de los dos valores american o british . Si están instalados tantoispell-american como ispell-british, se utiliza 〈ENGLISH_DICTIONARY〉.El valor system comprueba el idioma estándar del sistema (fijado en/etc/sysconfig/language en la variable 〈RC_LANG〉), por lo queéste es uno de las dos variantes del idioma inglés. En caso contrario,system no tiene ningún efecto. Se establece un enlace simbólico con elprimer diccionario instalado de esta lista.

java Configuraciones para Java

CREATE_JAVALINK="yes"Si le da el valor yes a esta variable, SuSEconfig establecerá en /usr/lib/java y /usr/lib/jre enlaces a los correspondientes JDK (ingl.Java Development Kit) y JRE (ingl. Java Runtime Environment). Si prefierela configuración manual, ponga el valor no a 〈CREATE_JAVALINK〉.JAVA_JRE_THREADS_TYPE="green"Configuración del paquete java-jre . Si desea un funcionamientomultihilo real, ponga el valor native a esta variable. Esto hace quep. ej.tenga sentido la combinación con sistemas SMP.

JAVA_THREADS_TYPE="green"Configuración del paquete java . Si desea un ”Multithreading” de ver-dad, ponga el valor native a esta variable. Esto hace que p. ej.tengasentido la combinación con sistemas SMP.

joystick Configuraciones para Joystick.

GAMEPORT_MODULE_0=""Nombre del módulo Gameport, p. ej.ns558 para un Gameport que ten-ga muchos años.

JOYSTICK_MODULE_0=""Normalmente analog .

JOYSTICK_MODULE_OPTION_0=""Por ejemplo "js=gameport " para analog .

186 Scripts y variables – Configuración del sistema

Page 203: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

JOYSTICK_CONTROL_0=""Por ejemplo yes .

JOYSTICK_CONTROL_PORT_0=""Las tarjetas de sonido como ens1371 requieren una dirección de puerto;normalmente 0x200 .

kernel Kernel.

INITRD_MODULES=""Los nombres de los módulos que deben añadirse vía mk_initrd alRamdisk inicial. (p. ej.módulos para controladores SCSI, LVM o Rei-serFS) .

SHMFS=""Introduzca aquí los parámetros de tamaño para montar el sistema deficheros shmfs. Normalmente el kernel utilizar el 50 % de la memoriadisponible, lo cual dependiendo del setup individual a veces puede noser suficiente.

keyboard Einstellungen für die Tastatur.

KEYTABLE="de-latin1-nodeadkeys"Aquí se define la distribución del teclado. Si se utiliza un teclado esta-dounidense, se puede dejar vacía esta variable.

KBD_RATE="24.0"Determina la velocidad de repetición automática del teclado. Las en-tradas posibles varían entre 2 y 30 veces por segundo. ¡Para que estaconfiguración tenga efecto, se debe indicar al mismo tiempo el retardo(véase 〈KBD_DELAY〉)!KBD_DELAY="500"Los valores posibles son: 250 , 500 , 750 y 1000 . Aquí puede establecerel retardo que a su vez determinará la función de repetición automá-tica. El valor es en milisegundos, pero los pasos no son muy exactos.¡También debe fijar la variable 〈KBD_RATE〉!KBD_NUMLOCK="bios"Con el valor no ,

�� ��BloqNum no estará activa al iniciar la computadora.Otras configuraciones posibles son yes , "" y bios para la configura-ción de la BIOS.

KBD_SCRLOCK="no"¿Activar

�� ��BloqDespl ?

KBD_CAPSLOCK="no"No activar

�� ��BloqMayús al arrancar.

187SuSE Linux – Enterprise Server 8

Page 204: Sles Admin Ipseries

KBD_DISABLE_CAPS_LOCK="no"¿Debe desactivarse

�� ��BloqMayús y comportarse como una tecla�� ��Shift nor-

mal?

KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6"�� ��BloqNum ,�� ��BloqMayús y

�� ��BloqDespl pueden estar limitados a determinadosTTYs; "" es para todas las TTYs.

COMPOSETABLE="clear winkeys shiftctrl latin1.add"Aquí puede establecer la tabla de signos especiales (ingl. Compose Table).De esta forma se pueden especificar signos especiales (tildes, símbolosmonetarios, etc.) que no se encuentran directamente en el teclado, me-diante combinaciones de teclas. Puede encontrar una explicación másdetallada en /usr/share/doc/packages/kbd/README.SuSE .

language Configuraciones del idioma y del lugar donde se encuentra.

RC_LANG="de_DE@euro"Define LANGpara locale; con ello es posible definir un valor por defec-to para los usuarios. Este valor es válido hasta el momento en que sedefinan algunas variables RC_LC_* especiales.Las variables típicas de rc.config son: RC_LC_ALL (¡Con esta últimase puede sobreescribir la LC_* tal como la LANG!), RC_LC_MESSAGES,RC_LC_CTYPE, RC_LC_MONETARY, RC_LC_NUMERIC,RC_LC_TIME y RC_LC_COLLATE.Ver el apartado Configuración nacional – I18N/L10N en la página 152.

ROOT_USES_LANG="ctype"Aquí se define si también se deben usar las configuraciones de localepara root . ctype significa que se utilizará el valor de 〈LC_CTYPE〉.

locate El banco de datos de locate posibilita la búsqueda rápida de fiche-ros en el sistema. Si la computadora no está continuamente encendida,es posible que esta actualización se lleve a cabo poco después del iniciode la misma (ver apartado El paquete cron en la página 146.

RUN_UPDATEDB="no"Una vez al día se debe actualizar el banco de datos de locate(locate ). Una configuración más detallada del programa updatedbse puede obtener con las siguientes variables (véase los comentariosque aparecen allí).

RUN_UPDATEDB_AS="nobody"La identidad del usuario que updatedb debe utilizar para ejecutarse.Por razones de seguridad, la configuración estándar aquí es nobody .

188 Scripts y variables – Configuración del sistema

Page 205: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

UPDATEDB_NETPATHS=""updatedb por sí mismo sólo cachea directorios locales. Pero puede fijarque cachee también directorios de red.

UPDATEDB_PRUNEPATHS="/mnt /cdrom /tmp /usr/tmp /var/tmp/var/spool /proc /media"updatedb dejará de lado todos los directorios que se introduzcan aquí.

UPDATEDB_NETUSER=""Ver arriba; aquí puede establecer el usuario, cuya identidad se utilizarápara cachear la red. El valor nobody es un ejemplo.

UPDATEDB_PRUNEFS=""updatedb no sólo puede pasar por alto determinados directorios, sinotambién tipos de sistemas de ficheros.

lvm El Logical Volume Manager.

mail Configuraciones relacionadas con E-Mail.

FROM_HEADER=""Utilización en todo el sistema de la línea From: . Si "", entonces se utili-zará FQDN; véase Domain Name System en la página 215.

MAIL_CREATE_CONFIG="yes"SuSEconfig agrupará todas las entradas de sendmail en /etc/sendmail.cf . Si realiza una configuración manual, fije esta variableen no .

NULLCLIENT=""Un ”cliente cero” es una máquina que sólo puede enviar correo. Nopuede recibir correos de la red ni enviar correos localmente. Tradicio-nalmente, un ”cliente cero” utiliza POP o NFS para acceder a la cuentade correo.

SMTPD_LISTEN_REMOTE="no"Se fijará yes cuando se deba recibir correos del exterior. Para un servi-dor de correo, esta configuración es ”imprescindible”.

mouse Configuraciones del ratón.

MOUSE=""Esta es la ranura a la que se conecta el ratón (p. ej./dev/ttyS0 ). YaST2o SuSEconfig crearán un enlace desde /dev/mouse al dispositivo indi-cado,

GPM_PROTOCOL=""El protocolo GPM para el dispositivo indicado en 〈MOUSE〉. YaST2 fijaeste valor.

189SuSE Linux – Enterprise Server 8

Page 206: Sles Admin Ipseries

GPM_PARAM=" -t $GPM_PROTOCOL -m $MOUSE"El parámetro de arranque de gpm.

network Directorio para la configuración de la red.

network/config Configuración general de la red.

DEFAULT_BROADCAST="+"〈DEFAULT_BROADCAST〉 se utilizará cuando no haya ningún otroBROADCAST. Puede escoger entre "" en caso de que no haya ningu-na dirección de retransmisión, - para 〈IPADDR〉 sin Host Bits y + paratodas las entradas de 〈IPADDR〉 con todos los Host Bits.

CHECK_FOR_MASTER="yes"Esta entrada provoca que se deba activar primero una interfaz ”master”antes de poder establecer direcciones alias (”labelled address”). Técnica-mente esta entrada no tiene ningún efecto, pero los usuarios de ifconfigpueden sacarle provecho.

CHECK_DUPLICATE_IP="yes"yes provoca que el script ifup compruebe si ya se ha utilizado una de-terminada dirección IP. Compruebe que el se soporta el Kernel Packet-Sockets (〈CONFIG_PACKET〉), para sacar provecho de la utilidad ARPde la que depende esta faceta. Esta comprobación dura un segundo porcada interfaz, lo que se notará en caso de una gran cantidad de direc-ciones IP.

DEBUG="no"Activado o desactivado de todos los mensajes de error en todos losscripts de red. Con el valor no y la opción -o debug puede activarmensajes de error en determinados scripts.

USE_SYSLOG="yes"¿Deben elaborarse mensajes de error en los scripts de configuración se-gún syslog ?

MODIFY_RESOLV_CONF_DYNAMICALLY="yes"Algunos servicios como ppp , ippp , dhcp-client , pcmcia y hotplugpueden modificar /etc/resolv.conf en determinados momentos. Elvalor estándar es yes .

MODIFY_NAMED_CONF_DYNAMICALLY="no"Véase 〈MODIFY_RESOLV_CONF_DYNAMICALLY〉. Si no está seguro,deje la configuración por defecto no .

network/dhcp Configuraciones para DHCP (ingl. Dynamic Host Configura-tion Protocol).

190 Scripts y variables – Configuración del sistema

Page 207: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

AtenciónPara hacer posible la configuración de una o más interfaces sobreDHCP, la 〈BOOTPROTO〉 debe tomar en /etc/sysconfig/network/ifcfg-<interface> el valor dhcp . En determi-nados casos la variable 〈STARTMODE〉 debe adquirir el valoronboot .

Atención

La mayoría de estas opciones sólo son utilizadas por dhcpcd;ISC dhclient utiliza sus propios ficheros de configuración. Algunas op-ciones pueden sobreescribirse en los ficheros ifcfg-* debido a la con-figuración.

DHCLIENT_BIN=""¿Qué cliente DHCP se debe utilizar? dhcpcd para DHCP Client Dae-mon o dhclient para el ISC dhclient? Si deja esta entrada vacía, pri-mero intentará arrancar dhcpcd. En caso de no conseguirlo, lo vuelvea intentar con dhclient.

DHCLIENT_DEBUG="no"¿Se debe arrancar DHCP Cliente en modo de búsqueda de errores?Los ficheros de error de DHCP Client Daemon se encuentran en/var/log/messagesfordhcpcd ; los de ISC dhclient en /var/log/dhclient-script .

DHCLIENT_SET_HOSTNAME="no"¿Puede fijar DHCP Client el nombre del host? Tenga cuidado al dar elvalor yes de no encontrarse en una sesión X cuando se restablezca elnombre del host. Puede que la variable 〈DISPLAY〉 no funcione correc-tamente y se no puedan abrir más ventanas correctamente.

DHCLIENT_MODIFY_RESOLV_CONF="yes"¿Puede DHCP Client modificar /etc/resolv.conf ? Laconfiguración por defecto es yes . Si da el valor no o la〈MODIFY_RESOLV_CONF_DYNAMICALLY〉 contiene el valor noen /etc/sysconfig/network/config , no se tocarán los ficheros/etc/resolv.conf .

DHCLIENT_SET_DEFAULT_ROUTE="yes"¿Puede determinar DHCP Client la pasarela por defecto? Si se estánejecutando varios procesos dhcpcd, sólo uno de ellos debería poderhacerlo.

DHCLIENT_MODIFY_NTP_CONF="no"¿Puede DHCP Client modificar la configuración NTP (/etc/ntp.conf )?

191SuSE Linux – Enterprise Server 8

Page 208: Sles Admin Ipseries

DHCLIENT_MODIFY_NIS_CONF="no"¿Puede DHCP Client modificar la configuración NIS (/etc/yp.conf )?

DHCLIENT_SET_DOMAINNAME="yes"¿Puede DHCP Client establecer el nombre de dominio NIS? (Esto sólotiene sentido si el servidor ofrece la opción nis-domain .)

DHCLIENT_KEEP_SEARCHLIST="no"¿Puede DHCP Client, al escribir un nuevo /etc/resolv.conf , con-servar la lista de búsqueda de dominios ya existente y añadir aquellosque se encuentran en el servidor DHCP?

DHCLIENT_LEASE_TIME=""Aquí puede indicar (en segundos) el intervalo de tiempo durante elcual el servidor DHCP entrega una IP dinámica al cliente.

DHCLIENT_TIMEOUT="999999"Aquí puede fijar un determinado ”timeout”, tras el cual el cliente auto-máticamente interrumpe la conexión si no recibe ninguna respuesta delservidor. Esta configuración sólo sirve para dhcpcd.

DHCLIENT_REBOOT_TIMEOUT=""Esta opción determina cuánto tiempo intenta dhcpcd recibir de nuevouna antigua ”Lease” (al reiniciar) antes de utilizar una nueva.

DHCLIENT_HOSTNAME_OPTION="AUTO"Puede establecer un determinado nombre de host que dhcpcd utilizarápara los mensajes DHCP. La configuración por defecto AUTOprovocaque se envíe el nombre del host automáticamente.

DHCLIENT_CLIENT_ID=""Aquí se fija una cadena de tiempo que se enviará como ID del cliente.Si deja esta variable vacía, se enviará la dirección de hardware de latarjeta de red.

DHCLIENT_VENDOR_CLASS_ID=""Establece el ”Vendor Class Identifier”.

DHCLIENT_RELEASE_BEFORE_QUIT="no"¿Debe el cliente avisar al servidor de que ya no necesita una determina-da dirección para que pueda volver a estar disponible? Esta opción sólola soporta dhcpcd.

DHCLIENT_SLEEP="0"Algunas interfaces requieren una determinada cantidad de tiempo an-tes que se inicializan correctamente. Aquí puede introducir un tiempode inactividad en segundos durante el cual DHCP Client espera la ini-cialización. Esta configuración debe fijarse separadamente para cadainterfaz.

192 Scripts y variables – Configuración del sistema

Page 209: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

network/ifcfg-eth0 Configuración de la primera tarjeta de red. Las con-figuraciones que vienen a continuación se pueden efectuar cómodamen-te con YaST2.

STARTMODE=""¿Cuándo se activará la interfaz? onboot confirma que la interfaz se ini-cie en el momento del arranque; manual , que ifup se deba iniciar ma-nualmente; y hotplug hace posible que Hotplug o PCMCIA la activen.

BOOTPROTO=""Escoja entre configuración de IP estática o entrega de dirección dinámi-ca con DHCP (dhcp ).

IPADDR=""Introduzca aquí la dirección IP para la primera tarjeta de red.

NETMASK=""Introduzca aquí la máscara de red de su propia red.

BROADCAST=""Indique la dirección de retransmisión de su red.

PREFIXLEN=""Indique la longitud del prefijo.

NETWORK=""La dirección de su red.

network/ifcfg-lo La configuración del dispositivo Loopback.

network/wireless La configuración para LAN wireless (sin cables). Utili-ce YaST2 para la configuración.

news Configuraciones para el acceso a un servidor NNTP.

ORGANIZATION=""El texto introducido aquí aparecerá en todas las noticias que se envíendesde la computadora en cuestión. Por ejemplo:Tux Waddle, Linuxlandia

NNTPSERVER="news"La dirección del servidor de noticias; si se reciben las noticias víaUUCP y se almacenan localmente, se debe indicar aquí localhost.

nfs Servidor NFS. Los daemon rpc.nfsd y rpc.mountd deben arrancar si-multáneamente. Para una descripción más detallada del servidor NFS(por ejemplo, cómo fijar los directorios a exportar), ver el apartadoNFS – Sistema de ficheros distribuidos en la página 250.

193SuSE Linux – Enterprise Server 8

Page 210: Sles Admin Ipseries

REEXPORT_NFS="no"Asigne el valor yes a esta variable para volver a exportar directoriosNFS o NetWare-Volumes que ya estén cargados.

onlineupdate Configuraciones para una actualización online de YaST2.

YAST2_LOADFTPSERVER="yes"Al iniciar YOU (”actualización online de YaST2”), se actualiza la lista deservidores FTP con wget disponible en http://www.suse.de . Estalista se colocará en /etc/suseservers . Si se le da el valor no a estavariable, la lista no se actualizará.

PROXY_USER=""Usuario del proxy utilizado.

PROXY_PASSWORD=""Contraseña para el proxy utilizado.

pcmcia Sistema PCMCIA/Tarjetas PC.

PCMCIA_SYSTEM="kernel"Escoja uno de los dos sistemas PCMCIA: external o kernel . Si sólotiene instalado uno de los dos sistemas, no se tendrá en cuenta el conte-nido de esta variable.

PCMCIA_PCIC=""Fija el módulo del socket (chipsets). Los valores posibles son i82365 otcic , en caso de que se utilice un sistema PCMCIA ”externo” (véase〈PCMCIA_SYSTEM〉); y yenta_socket , i82365 o tcic si se utilizaun sistema instalado en el kernel. Si se deja esta variable vacía (""), elscript intenta averiguar el módulo adecuado; por tanto, sólo hay quedar un valor a esta variable cuando falla el reconocimiento automático.

PCMCIA_PCIC_OPTS=""Establece los parámetros de tiempo del módulo del socket. Puede en-contrar una descripción más detallada en man i82365 o man tcic ,así como en PCMCIA-HOWTO (/usr/share/doc/packages/pcmcia ) que se encuentra en ”PCIC_OPTS”.

PCMCIA_CORE_OPTS=""Aquí puede establecerlas opciones de ”pcmcia_core”. La descripciónmás detallada se encuentra en /usr/share/doc/packages/pcmciacomo ”CORE_OPTS”. Estas opciones son válidas para los dos tipos dePCMCIA.

postfix Configuración de las variables de Postfix. Para ello utilice el módu-lo mail de YaST2.

194 Scripts y variables – Configuración del sistema

Page 211: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

postgresql PostgreSQL.

POSTGRES_DATADIR="~postgres/data"¿En qué directorio se encuentra el banco de datos PostgreSQL?

POSTGRES_OPTIONS=""”PostgreSQL Master Daemon” recibirá estas opciones al arrancar. Con-sulte las páginas man para postmaster y postgresql . No utiliceaquí la opción -D datadir ; el script de arranque fija este valor a par-tir de 〈POSTGRES_DATADIR〉.

powermanagement apmd.

APMD_WARN_LEVEL="10"¿Quiere que el sistema le avise en cuanto la capacidad de la bate-ría se encuentre por debajo de un determinado nivel (en tanto porciento)? La configuración por defecto es 10 ; con 0 desactiva esta ylas tres opciones siguientes. Puede encontrar más información so-bre apmd en man 8 apmd o en el correspondiente script de inicio/etc/init.d/apmd .

APMD_WARN_ALL="no"¿Se deben enviar los avisos de apmd a todas las terminales? Entoncesescojan el valor yes ; en caso contrario, quedarán recogidas en los fiche-ros syslog. La configuración por defecto es no .

APMD_WARN_STEP="0"Los mensajes de aviso se repetirán cada vez que la capacidad de la ba-tería se reduzca en una determinada cantidad (〈APMD_WARN_STEP〉).0 desactiva esta configuración.

APMD_CHECK_TIME="0"apmd comprueba el estado de la batería, siempre que la BIOS avisa deun acontecimiento. Si quiere que se compruebe más a menudo, fije estavariable a un valor superior a 0 segundos. Pero no olvide que el discoduro arrancará cada vez que se realice la comprobación. La configura-ción por defecto es 0.

APMD_DEBUG="no"Los scripts de apmd y apmd_proxy pueden transformarse en ”lo-cuaces”. Con el valor yes se le informará de cuándo y cómo se llamaa apmd_proxy. Si quiere ver todo lo que sucede en apmd_proxy –stdout y stderr –, escoja error . Con all no se le escapará nada.La configuración por defecto es no .

APMD_ADJUST_DISK_PERF="no"Para ahorrar energía, su disco duro debe apagarse tras un determinadoperíodo de inactividad (ingl. idle time). Pero si en su computadora se

195SuSE Linux – Enterprise Server 8

Page 212: Sles Admin Ipseries

realizan procesos que trabajan a menudo con el disco duro, esta opciónes poco indicada. La configuración por defecto es inactivo.

APMD_BATTERY_DISK_TIMEOUT="12"Determine el ”timeout”, tras el cual el disco duro ha de apagarse. Perorecuerde que el valor de esta variable se limita a minutos o segundos.Puede encontrar más detalles en la página man de hdparm. Por su-puesto, esta configuración sólo tiene sentido si antes ha dado el valoryes a la variable 〈ADJUST_DISK_PERF〉.APMD_AC_DISK_TIMEOUT="0"¿Debe apagarse el disco duro también cuando la computadora se queda”colgada” por falta de conexión a la red? Si es así, ¿cuándo (ver arri-ba)? La opción por defecto es inactivo.

APMD_BATTERY_LOW_SHUTDOWN="0"Al encontrarse por debajo de una determinada capacidad de la batería,la BIOS de algunas computadoras portátiles envían un mensaje ”batterylow”. El sistema puede apagarse después de este suceso. Fije un valoren minutos: 1 es el mínimo, 0 desactiva este comportamiento.

APMD_SET_CLOCK_ON_RESUME="no"Si quiere que las configuraciones de tiempo desaparezcan tras unstandby o suspensión del sistema, asigne el valor yes a esta variable.De este modo, la configuración horaria del kernel se ajustará automáti-camente con la variable GMT. Por defecto, esta opción es inactiva.

APMD_SUSPEND_ON_AC="yes"Su sistema también se apagará si está enchufado a la corriente. Con nodesactivará este comportamiento.

APMD_PCMCIA_SUSPEND_ON_SUSPEND="no"Si su PCMCIA no soporta APM, deje a apmd, que ponga a su tarjetaen suspenso antes de que todo el sistema quede en suspensión.

APMD_PCMCIA_EJECT_ON_SUSPEND="no"Algunas tarjetas PCMCIA (especialmente las tarjetas SCSI) no reaccio-nan ante una suspensión. Por tanto puede ser necesario desactivarlasmediante cardctl eject .

APMD_INTERFACES_TO_STOP=""Si el setup de su tarjeta de red integrada no funciona correctamente conel ciclo suspensión/reinicio, determine aquí el nombre de la interfaz.Ahora la interfaz indicada se apagará y volverá a encender correcta-mente en caso de una suspensión del sistema.

APMD_INTERFACES_TO_UNLOAD=""Si la interfaz de red no se apaga correctamente con〈APMD_INTERFACES_TO_STOP〉, introduzca aquí el módulo de

196 Scripts y variables – Configuración del sistema

Page 213: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

la interfaz de red. En caso de una suspensión, este se cargará de lamemoria y se volverá a leer cuando el equipo se reinicie.

APMD_LEAVE_X_BEFORE_SUSPEND="no"Depediendo de la tarjeta gráfica, puede que no se restablezca correc-tamente el modo gráfico después de una suspensión. Antes de la sus-pensión puede cambiar a una consola de texto y volver a la consola Xdespués del reinicio. La configuración por defecto es 0.

APMD_LEAVE_X_BEFORE_STANDBY="no"Véase 〈APMD_LEAVE_X_BEFORE_SUSPEND〉. También la vuelta delstandby puede ser difícil. La configuración por defecto es 0.

APMD_LOCK_X_ON_SUSPEND="no"¿Debe apmd bloquear la pantalla? Si sólo está en funcionamiento unservidor X en su sistema y nadie tiene acceso a una terminal virtualdel sistema, este estado se puede considerar ”seguro”. Además, unapartición de datos encriptada es una protección muy buena en caso deque le roben la computadora portátil. La configuración por defecto es 0.

APMD_STOP_SOUND_BEFORE_SUSPEND="no"A veces tampoco resisten los módulos de sonido el ciclo de suspen-sión/reinicio. Puede indicar aquí que el módulo de sonido se descarguede la memoria y se vuelva a cargar al reiniciar. Antes de suspender elsistema, cierre todas las aplicaciones de sonido. Según el tipo de sis-tema de sonido utilizado, asigne a esta variable el valor alsa , oss okernel . Con no no se descargará el módulo de sonido.

APMD_KBD_RATE=""A veces, también es necesario restaurar el intervalo de repeticióny retardo del teclado. Indique aquí un valor numérico o deje vacías es-tas dos variables, si no desea este comportamiento.

APMD_KBD_DELAY=""

APMD_TURN_OFF_IDEDMA_BEFORE_SUSPEND=""Algunas computadoras portátiles no vuelven correctamente al esta-do anterior normal, después de que el disco duro estuviera en modoDMA. Indique aquí todos los discos que requieran una parada del mo-do DMA, para restaurar el modo normal de funcionamiento.

printer Impresora.

DEFAULT_PRINTER="lp"El nombre de la impresora por defecto que se usa al invocar el coman-do lpr sin especificar la impresora con -P.

proxy Configuraciones del Proxy.

197SuSE Linux – Enterprise Server 8

Page 214: Sles Admin Ipseries

HTTP_PROXY=""Hay algunos programas (p. ej. lynx, arena o wget) que son ca-paces de usar un servidor proxy si la correspondiente varia-ble está configurada. SuSEconfig puede definirla en /etc/SuSEconfig/* (ver en el banco de datos de soporte SDB file:/usr/share/doc/sdb/de/html/lynx_proxy.html ). Ejemplo:"http://proxy.provider.de:3128/" .

FTP_PROXY=""Proxy para FTP. Ejemplo: "http://proxy.provider.de:3128/" .

NO_PROXY="localhost"Con esta variable es posible excluir (sub)dominios del proxy. Ejemplo:"www.me.de, do.main, localhost" .

security Configuraciones para la seguridad del sistema.

CHECK_PERMISSIONS="set"Esta variable determina si se deben comprobar los permisos de un fi-chero mediante la información en /etc/permissions . Con set se co-rrigen las configuraciones falsas, con warn sólo aparecen ”adverten-cias”, y con no se desactiva esta característica.

PERMISSION_SECURITY="easy local"Hay tres niveles de seguridad preparados: /etc/permissions.paranoid , /etc/permissions.secure y /etc/permissions.easy . Indique aquí easy, secure o /etc/permissions.paranoid. Puededefinir una configuración propia p. ej. en /etc/permissions.local eindicarla después con local.Tenga en cuenta que si elije la opción paranoid , puede que algunosservicios del sistema no se encuentren disponibles tal y como le gusta-rían; lo cual quiere decir que ha conseguido justamente lo que deseaba.Atención: Si realiza entradas en /etc/permissions.local , con-trole que no entran en conflicto con el mecanismo de rotación (pa-quete logrotate ). logrotate sobreescribe las entradas de /etc/permissions.local ; véase apartado Archivos de registro – el paquetelogrotate en la página 146.

sendmail Las variables de sendmail; utilice el módulo mail de YaST2 parala configuración.

sound La configuración del sonido

LOAD_SEQUENCER="yes"¿Se debe cargar el módulo secuencial ALSA al arrancar el sistema? Sólonecesita este módulo si trabaja con dispositivos MIDI. Si no los necesita,

198 Scripts y variables – Configuración del sistema

Page 215: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

desactive esta opción. Los módulos también se pueden cargar más tardeautomáticamente.

ssh ”Secure Shell Daemon”; antes del inicio asegúrese de que existe una”host key” – véase la documentación correspondiente en /usr/share/doc/packages/ssh así como las páginas man.

SSHD_OPTS=""

suseconfig Configuración básica de SuSEconfig.

ENABLE_SUSECONFIG="yes"Determina si SuSEconfig debe realizar una configuración. No se debeapagar nunca si se quiere utilizar el soporte de instalación

MAIL_REPORTS_TO="root"Determina a quién envía SuSEconfig vía E-Mail informes generadosdurante la administración automática del sistema.

MAIL_LEVEL="warn"Existen dos opciones: si se indica warn sólo se envían los mensajes im-portantes; con el valor all también se envían los archivos de registro(”logs”).

CREATE_INFO_DIR="yes"Determina si se debe generar automáticamente el fichero /usr/share/info/dir que contiene un índice de todas las páginas de informaciónexistentes. ¡Tenga en cuenta que se debe instalar perl para aprovecharesta característica!

CHECK_ETC_HOSTS="yes"Determina si SuSEconfig debe comprobar y modificar el fichero /etc/hosts .

BEAUTIFY_ETC_HOSTS="no"Si quiere que se encargue de ordenar /etc/hosts .

SORT_PASSWD_BY_UID="no"Para ordenar /etc/passwd y /etc/group según ”UID” o ”GID”.

CWD_IN_ROOT_PATH="no"Directorio actual (ingl. current working directory) en la ruta de root ; porrazones de seguridad se lo desaconsejamos. Esta configuración afecta atodos los usuarios con un UID fijado en 100 (ingl. system users).

CWD_IN_USER_PATH="yes"¿Debe estar el directorio actual (ingl. current working directory) en la rutade un usuario normal?

199SuSE Linux – Enterprise Server 8

Page 216: Sles Admin Ipseries

CREATE_PERLLOCAL_POD="yes"yes permite que SuSEconfig modifique el fichero perllocal.pod . Enperllocal.pod se encuentra la instalación específica del módulo Perl.

UPDATE_GROFF_CONF="yes"DESCactualizar para establecer el tamaño adecuado de hoja.

GROFF_PAGESIZE=""Si el tamaño de hoja no procede de /etc/printcap , es aquí donde sedebe configurar. letter , legal , a4 y a5 son soportados por groff yghostscript.

sysctl Contralar nivel de kernel del sistema.

IP_DYNIP ="no"Activar el ”dynamic IP patch” durante el tiempo de arranque; con yesel script /etc/init.d/boot.proc libera este parche mediante unaentrada en el sistema de ficheros /proc .

IP_TCP_SYNCOOKIES="yes"Activar la protección contra ”syn flooding” (ingl. syn flood protection);véase /usr/src/linux/Documentation/Configure.help .

IP_FORWARD="no"Si la computadora debe transmitir dos interfaces de red, se debe darel valor yes a la variable 〈IP_FORWARD〉; es el caso si se trata de unenrutador (ingl. router).

ENABLE_SYSRQ="no"Mirar el interior del kernel. ¡Es imprescindible leer antes /usr/src/linux/Documentation/sysrq.txt !

DISABLE_ECN="yes"Con yes se desactivará ECN (ingl. early congestion notification) en elmomento del arranque. Esto es útil cuando existen dificultades paraestablecer contacto con otras computadoras en Internet, que rechazanpaquetes de configuración de firewall propios y con las cuales ha sidoposible establecer conexión con el kernel 2.2 de Linux.

BOOT_SPLASH="yes"Desactivar el ”splashscreen” en el momento del arranque.

syslog Configurar el Syslog-Daemon.

KERNEL_LOGLEVEL="/var/lib/dhcp/dev/log"Entrada adicional generada por el paquete dhcp-server . Los nombresde fichero que se escriban aquí -a <Nombrefichero> se añadiránautomáticamente como socket adicional vía 〈SYSLOGD_PARAMS〉, tan

200 Scripts y variables – Configuración del sistema

Page 217: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

pronto como se inicie syslogd. Esto es necesario para que sea posibleun login en un dhcpd en funcionamiento ”chrooted”, después de unreinicio de syslogd.

KERNEL_LOGLEVEL="1"Nivel de registro (ingl. loglevel) para klogd.

SYSLOGD_PARAMS=""Parámetros para syslogd; p. ej. "-r -s my.dom.ain ".

syslog-ng Configurar Syslog-ng.

SYSLOG_NG_REPLACE="yes"¿Debe syslog-ng sustituir al anterior syslogd? Si se le da el valor no , searrancarán los dos programas.

SYSLOG_NG_PARAMS=""Traspaso de parámetros a syslog-ng. Saque los detalles necesariosman 8 syslog-ng .

tetex TEX/LATEX.

CLEAR_TEXMF_FONTS="no"En el contexto de la generación de fuentes automática para el siste-ma TeX/LaTex, las fuentes de Bitmap se encuentran en el directorio/var/cache/fonts/ . Si da a esta variable el valor yes , se eliminaráncada cierto tiempo todas las fuentes de este directorio que no se hanutilizado en los últimos 20 días.

windowmanager Administrador de ventanas.

DEFAULT_WM="kde"Posibles configuraciones: kde , gnome, fvwm etc.

INSTALL_DESKTOP_EXTENSIONS="yes"Instalar las ampliaciones de SuSE para nuevos usuarios. Se trata de ”te-mas” y funciones adicionales que hacen al sistema más atractivo.

KDE_USE_FAM="no"Utilizar el daemon de fam; sólo tiene sentido en directorios conectadoscon NFS.

KDE_USE_FAST_MALLOC="yes"Utilizar el malloc mejorado.

SUSEWM_UPDATE="yes"Determina si SuSEconfig debe ajustar los ficheros de configuración deladministrador de ventanas a los paquetes de software instalados.

201SuSE Linux – Enterprise Server 8

Page 218: Sles Admin Ipseries

SUSEWM_WM="all"Elabora una lista del administrador de ventanas para los ficheros deconfiguración; valores posibles: fvwm, fvwm2 , fvwm95 , bowman, mwm,ctwm, kwmy all (para todos).

SUSEWM_XPM="yes"Debe instalarse el paquete paquete 3dpixms , para que aparezcan losPixmaps de fvwm/fvwm95 en los menús. Si esto provoca que el admi-nistrador de ventanas se ralentice, se debe dar el valor no a esta varia-ble.

xdmsc Funcionamiento de terminales X.

START_RX="no"Antes de modificar esta variable, edite el fichero /etc/inittab y eli-mine de allí la línea con /sbin/init.d/rx. Además se deben fijar las varia-bles 〈RX_XDMCP〉 y 〈RX_RHOST〉. Después asigne el valor yes a estavariable para que se abra una terminal X.

RX_XDMCP="broadcast"Configuración de solicitudes XDMCP (ingl. XDM Control Protocol).query – con un servidor XDM solicitar la ventana de login; indirect– con un servidor XDM, solicitar un menú de elección; y broadcast– ante todo solicitar una ventana de login a todos los servidores XDMque se encuentran en la red: gana el primero. Para las opciones queryy indirect se debe fijar la variable 〈RX_HOST〉.RX_RHOST=""Nombre del host XDM.

RX_DSP=""Aquí puede fijar el número de ”display”. La configuración por defectoes :0 .

RX_BPP=""Profundidad de color de los servidores X locales. Esta entrada es opcio-nal.

RX_CLASS=""

xntp Arranca el ”Network Time Protocol (NTP) Daemon” de paquete xntp ;la configuración en sí se encuentra en el fichero /etc/ntp.conf .

XNTPD_INITIAL_NTPDATE="AUTO-2"Lista de servidores NTP, separados por un espacio en blanco, con losque se debe consultar la hora antes de arrancar el servidor local; p. ej."sol .cosmos.univ ".

202 Scripts y variables – Configuración del sistema

Page 219: Sles Admin Ipseries

8Elc

on

ce

pto

de

arra

nq

ued

eSuSE

Linux

Ente

rprise

Serve

r

También es posible introducir el valor AUTO, con lo que se preguntaráa todos los servidores y ”peers”, configurados en /etc/ntpd.conf .Se puede limitar el número total de servidores a los que se pregunta; elprefijado es AUTO-2.Los relojes de ajuste automático vía onda electromagnética (”reloj ató-mico”) tienen direcciones IP del tipo wert127.127.T.U. T representa eltipo de reloj y U es el número de unidad entre 0 y 3. – La mayoría deestos relojes necesitan un puerto serie o un bus especial. El fichero dedispositivo previsto para ello (Dispositivo) se indica normalmente conun enlace simbólico /dev/device-U hacia el hardware real. U debecoincidir con el número de unidad mencionado anteriormente; ver tam-bién /usr/doc/packages/xntp/html/refclock.htm .Ejemplo: Si se tiene un ”reloj atómico”, que se conecta al puerto serie,se debe establecer el enlace simbólico correspondiente. El nombre delmismo se indica en refclock.htm . – El driver ”PARSE” se encarga delos receptores de onda típicos del tipo DCF77:

## Type 8 Generic Reference Driver (PARSE)## Address: 127.127.8.u## Serial Port: /dev/refclock-u

Si se selecciona p. ej. server 127.127.8.0 mediante una entra-da en ntp.conf , también hace falta definir un enlace simbólico de/dev/refclock-0 a ttySx ; x representa aquí la interfaz usada pa-ra la conexión.

ypbind Configuración de un cliente NIS. Información adicional: El fichero/etc/defaultdomain contiene el nombre de dominio en texto plano.El programa de configuración de YaST2 escribe el nombre del servidordirectamente a /etc/yp.conf ; ver apartado NIS – Network InformationService en la página 245.

YPBIND_OPTIONS=""Opciones.

YPBIND_LOCAL_ONLY="no"Si le da a esta opción el valor yes , ypbind se conectará solamente conla interfaz loopback local. Otros hosts no pueden preguntar.

YPBIND_BROADCAST="no"Si se le da el valor yes a esta opción, ypbind deja de lado el fichero/etc/yp.conf e intenta encontrar un servidor NIS disponible en lasubred local mediante una ”broadcast-call”. Procure evitar esta opciónpuesto que da lugar a un gran agujero de seguridad.

203SuSE Linux – Enterprise Server 8

Page 220: Sles Admin Ipseries

YPBIND_BROKEN_SERVER="no"Si tiene un servidor NIS en su red, que sólo se conecta con puertos su-periores a 1024, asigne el valor yes a esta opción. Lo cual también pro-voca un riesgo de seguridad; debería considerar una implementación deotro servidor NIS.

ypserv Configuración de un servidor NIS

YPPWD_SRCDIR="/etc"Si quiere determinar un directorio distinto a /etc para los ficherosfuente de passwd , shadow y group , hágalo aquí.

YPPWD_CHFN="no"¿Puede modificar un usuario su campo GECOS con ypchfn (con infor-mación adicional como el número de teléfono, etc.)?

YPPWD_CHSH="no"¿Puede modificar un usuario su login estándar con ypchsh?

zope Configuración de un sistema ZOPE.

ZOPE_FTP="yes"¿Debe Zope ofrecer un acceso FTP?

ZOPE_FTP_PORT="8021"¿Sobre qué puerto debe ser accesible?

ZOPE_HTTP_PORT="8080"Si Zope debe hacer las veces de servidor web ”standalone”, determineel puerto que ocupará.

204 Scripts y variables – Configuración del sistema

Page 221: Sles Admin Ipseries

Parte III

Red

Page 222: Sles Admin Ipseries
Page 223: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Fundamentos deconexión a redes

Linux, que de hecho nació en Internet, proporciona todas las herramientas yprestaciones de red necesarias para la integración en estructuras de red detodo tipo.

A continuación se expone una introducción al protocolo de red TCP/IP - nor-malmente utilizado por Linux - con sus características y particularidades.

Después de los fundamentos se explica cómo configurar una tarjeta de redmediante YaST2. Se explica el significado de los ficheros de configuración másimportantes y algunas de la herramientas más comunes.

Puesto que la configuración de una red puede llegar a ser muy compleja, eneste capítulo sólo le explicaremos los conceptos más fundamentales.

TCP/IP - El protocolo de red utilizado por Linux . . . . . 208IPv6 – La próxima generación de Internet . . . . . . . . . 216El acceso a la red . . . . . . . . . . . . . . . . . . . . . . . 222Configuración manual de la red . . . . . . . . . . . . . . . 225Routing en SuSE Linux Enterprise Server . . . . . . . . . . 233DNS – Domain Name Service . . . . . . . . . . . . . . . . 235NIS – Network Information Service . . . . . . . . . . . . . 245NFS – Sistema de ficheros distribuidos . . . . . . . . . . . 250DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Page 224: Sles Admin Ipseries

TCP/IP - El protocolo de red utilizado por Li-nux

Linux utiliza al igual que otros sistemas operativos un protocolo de comuni-cación que se llama TCP/IP. En realidad no se trata de un solo protocolo dered sino de una familia de protocolos con diferentes prestaciones. TCP/IP sedesarrolló a base de una aplicación militar y su especificación actual se fijóen el año 1981 en un documento RFC (ingl. Request for comments). Los RFCson documentos que describen los diferentes protocolos de Internet y la im-plementación de ellos en un sistema operativo o en aplicaciones. Estos docu-mentos se encuentran en Internet en la dirección http://www.ietf.org/ .Desde 1981 el protocolo sólo se ha modificado en algunos detalles; la base delprotocolo sigue siendo la misma.

TrucoLos documentos RFC describen la estructura de los protocolos de Inter-net. Para profundizar sobre un determinado protocolo, en el documen-to RFC del protocolo concreto, encuentra una fuente de informaciónmuy buena; consulte http://www.ietf.org/rfc.html

Truco .

Para el intercambio de datos vía TCP/IP entre dos computadoras con Linux,existen los servicios que se mencionan en la tabla 9.1 en la página siguiente:

Protocolos DescripciónTCP (ingl. Transmission control protocol) es un protocolo asegu-

rado orientado a la conexión. Desde el punto de vista delas aplicaciones, los datos se transmiten como un caudaly es el sistema operativo que se encarga de convertirlos alformato adecuado para su transmisión. Las aplicacionesen la computadora remota reciben el caudal de datos talcomo fue enviado y TCP se encarga de que el caudal lle-gue completo y ordenado. Por eso TCP se utiliza cuandoel orden de los datos importa y cuando se puede hablarde una conexión.

Cuadro 9.1: Continúa en la página siguiente. . .

208 TCP/IP - El protocolo de red utilizado por Linux

Page 225: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

UDP (ingl. User Datagram protocol) es un protocolo no aseguradoy sin conexión. La transferencia de datos está orienta-da a paquetes que se creen directamente por parte de laaplicación. El orden de llegada de los paquetes no estágarantizado y tampoco la llegada en sí. UDP sirve pa-ra aplicaciones que transmiten bloques de datos y tienemenos tiempo de respuesta que TCP.

ICMP (ingl. Internet control message protocol) es un protocoloque básicamente no puede ser usado por el usuario, yaque su tarea es la de transmitir errores y de controlar lascomputadoras que participan en el intercambio de datos.Además ICMP incorpora un modo especial de eco, que sepuede comprobar mediante ping.

IGMP (ingl. Internet group management protocol) es un protoco-lo que controla el comportamiento de las computadorasutilizando IP-Multicast. Lamentablemente no se puedepresentar este protocolo dentro del marco de este libro.

Cuadro 9.1: Diferentes protocolos de la familia TCP/IP

Todas las redes en el mundo que estén interconectadas vía TCP/IP, formanuna sola red que se suele llamar Internet.

Casi todos los protocolos de hardware están basados en paquetes. Los datosa transmitir se han de dividir en pequeños ”paquetes”, ya que es imposibletransmitirlos ”de golpe”.

TCP/IP también trabaja con paquetes, cuyo tamaño máximo es de casi 64 Ki-lobyte. En realidad los paquetes suelen tener un tamaño mucho menor, yaque el tamaño máximo de un paquete sobre una Ethernet es de 1500 Byte.Por eso el tamaño de cada paquete TCP/IP se limita a estos 1500 Byte, cuan-do el paquete pasa por una red del tipo Ethernet. Para transmitir más datos,el sistema operativo tiene que enviar la cantidad correspondiente de paque-tes.

Modelo de capas

Para ser exactos, el protocolo no se debería llamar TCP/IP sino sólo IP. ConIP (ingl. Internet protocol) no se asegura la transferencia. TCP (ingl. Transmis-sion control protocol) es una capa de control por encima del protocolo IP, que

209SuSE Linux – Enterprise Server 8

Page 226: Sles Admin Ipseries

garantiza la transmisión de los datos. Finalmente el protocolo IP es super-puesto al protocolo que se encuentre por debajo y que depende directamentedel hardware (p. ej. Ethernet). Los expertos hablan aquí de ”modelo de ca-pas”. Compare la figura 9.1.

Figura 9.1: Modelo de capas simplificado para TCP/IP

La imagen muestra uno o dos ejemplos para cada capa. Las capas se ordenansegún su nivel de abstracción; la capa inferior se encuentra más próxima alhardware, mientras que la capa superior ”envuelve” el nivel de abstracciónmas alto. Cada capa tiene una determinada función que se explica a conti-nuación.La función de cada capa se deduce en buena medida de su denominación.La red está representada por la capa de transmisión de bits y por la capa deseguridad.

La primera capa se encarga de detalles como los tipos de cables, tiposde señales, la codificación de las mismas, etc y se denomina Capa física.La segunda capa se encarga del procedimiento de acceso a los datos yde la corrección de errores, por eso la capa se denomina Capa de enla-ce.

La tercera capa es la Capa de red que se encarga de la transmisión dedatos a distancia. Esta capa asegura que los datos encuentren el caminoal destinatario a través de diversas redes.

210 TCP/IP - El protocolo de red utilizado por Linux

Page 227: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

La Capa de transporte como cuarta capa se encarga de la llegada de losdatos de las aplicaciones y del orden de los mismos. La capa de enlacesólo asegura la llegada correcta de los datos, mientras que la capa detransporte evita la ”pérdida” de estos.

La quinta capa representa finalmente el procesamiento de datos porparte de la aplicación.

Cada capa necesita un cierta información adicional para poder cumplir consu tarea. Esta información se encuentra en el encabezado (ingl. header) de ca-da paquete. Cada capa añade un pequeño bloque de datos (denominado ”ca-beza de protocolo” (ingl. Protocol header)) al paquete que se está formando. Lafigura 9.2 muestra el ejemplo de la composición de un paquete TCP/IP queviaja sobre un cable de una red tipo Ethernet.

Figura 9.2: Paquete TCP/IP sobre Ethernet

Una excepción de la estructura del encabezado son los dígitos de control queno se encuentran en el encabezado sino al final. De esta forma el hardwarede red lo tiene más fácil. Como se puede observar, el máximo útil de datosen un paquete sobre una red Ethernet es de 1460 Bytes.

Cuando una aplicación quiere enviar datos por la red, los datos pasan porlas diferentes capas que se encuentran (con excepción de la primera) imple-mentadas en el kernel de Linux. Cada capa se encarga de preparar los datosde tal forma que puedan ser pasados a la capa inferior. La capa más baja seencarga finalmente del envío de los datos.

Al recibir los datos, todo el proceso se invierte. Similar al proceso de pelaruna cebolla, cada capa separa los encabezados de la parte útil de datos. Final-mente la cuarta capa se encarga de preparar los datos para la aplicación en lacomputadora remota.

Durante el proceso de transferencia, cada capa solo se comunica con aquellaque se encuentra directamente encima o por debajo. Por eso para una aplica-ción es totalmente irrelevante si los datos viajan a través de una red de 100

211SuSE Linux – Enterprise Server 8

Page 228: Sles Admin Ipseries

Dirección IP (binario): 11000000 10101000 00000000 00010100Dirección IP (decimal): 192. 168. 0. 20

Cuadro 9.2: Formas de anotar una dirección IP

MBit/s-FDDI o a través de una línea de módem de 56 kbit/s. Igualmentepara la línea no son importantes los datos que se han de transferir sino queestos estén correctamente empaquetados.

Direcciones IP y routing

Direcciones IP

Cada computadora en Internet dispone de una dirección IP única de 32 bits.Estos 32 bits o bien 4 byte se representan normalmente como se muestra enla segunda fila de la tabla 9.2.

Como se puede observar, los cuatros bytes se anotan en el sistema decimalcomo cuatro cifras de 0 a 255 separadas por un punto. Esta dirección asigna-da a la computadora o a su interfaz de red es única y no puede ser utilizadaen ningún otro lugar del mundo. Hay excepciones, pero estas no tienen rele-vancia en el ejemplo expuesto.

La tarjeta Ethernet por sí misma tiene un número único llamado MAC (ingl.Media access control). Este número es de 48 bit y único en el mundo; su fa-bricante lo almacena de forma fija en la tarjeta red. La asignación de los nú-meros MAC por parte de los fabricantes tiene una desventaja fatal: No hayninguna jerarquía entre las tarjetas, sino que están distribuidas ”al azar”. Poreso no es posible utilizarlas para comunicarse con una computadora a muchadistancia. Sin embargo la dirección MAC es de mucha importancia en unared local (es la parte importante de la cabeza del protocolo en la capa 2).

Volviendo a las direcciones IP: Los puntos separadores ya indican la estruc-tura jerárquica de las direcciones. Hasta mediados de los noventa, había unaseparación estricta en clases. Este sistema resultó muy poco flexible por loque se ha dejado de utilizar. Ahora se usa ”routing sin clases” (CIDR (ingl.classless inter domain routing)).

Routing y máscaras de red

Puesto que las computadoras con la dirección IP 192.168.0.20 no puedensaber dónde se encuentra la computadora con la dirección IP 192.168.0.1 ,se crearon las máscaras de red.

212 TCP/IP - El protocolo de red utilizado por Linux

Page 229: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Dirección IP:192.168.0.20 11000000 10101000 00000000 00010100Máscara de red: 255.255.255.0 11111111 11111111 11111111 00000000

Resultado binario 11000000 10101000 00000000 00000000Resultado decimal 192. 168. 0. 0

Dirección IP: 213.95.15.200 11010101 10111111 00001111 11001000Máscara de red: 255.255.255.0 11111111 11111111 11111111 00000000

Resultado binario 11010101 10111111 00001111 00000000Resultado decimal 213. 95. 15. 0

Cuadro 9.3: Conjunción de direcciones IP con una máscara de red

Simplificando se puede decir que la máscara de (sub-)red define para unacomputadora lo que se encuentra ”fuera” y lo que se encuentra ”dentro”.Se puede acceder directamente a aquellas computadoras que se encuentren”dentro” (dentro de la misma sub-red) mientras que a las computadoras queestén ”fuera” solo se llega a través de un enrutador (ingl. router) o una pa-sarela (ingl. gateway). Como cada interfaz de red recibe una IP propia todopuede llegar a ser muy complejo.

Antes de que un paquete empiece a tomar rumbo por la red, la computadorarealiza lo siguiente: Una conjunción bit por bit de la dirección de destino conla máscara de red (operación lógica Y) y de la dirección del remitente conla máscara (ver tabla 9.3). Si hay varias interfaces de red a disposición, secomprueban todas las direcciones de remitente posibles.

Los resultados de las conjunciones se comparan; en caso de que fueran idén-ticas, la computadora remota se encuentra en la misma subred que la máqui-na local. En cualquier otro caso hace falta acceder a la computadora remotaa través de una pasarela. Es decir, por más bits con valor ”1” que se encuen-tren en la máscara de red, más computadoras se accederán a través de la pa-sarela y menos se encontrarán en la propia subred. Para su explicación, latabla 9.3 contiene un par de ejemplos.

La máscara de red se anota – tal como la dirección IP – con valores decimalesseparados por puntos. Esta máscara es también un valor de 32 bit y por esose anotan igualmente en forma de cuatro cifras de tres dígitos cada una.

El usuario se encarga de definir qué computadoras trabajan como pasarelas ya qué rangos de direcciones se accede mediante qué interfaces de red.

Un ejemplo práctico son todas las computadoras que se encuentran conecta-das al mismo cable Ethernet. Estas se encuentran entonces por lo general enla misma subred y se pueden acceder directamente. Igualmente si la Ethernet

213SuSE Linux – Enterprise Server 8

Page 230: Sles Admin Ipseries

está dividida por switches o bridges, hay acceso directo a todas estas compu-tadoras.

Para atravesar distancias largas, ya no se puede utilizar la Ethernet económi-ca, sino que hace falta pasar los paquetes IP por un soporte diferente (p. ej.FDDI o RDSI). Tales aparatos se denominan router (enrutador) o gateway(pasarela). Una computadora con Linux también se puede encargar de esto; lafuncionalidad que lo realiza se denomina ip_forwarding.

En caso de trabajar con una pasarela, el paquete IP se manda a ésta y la pa-sarela trata de pasar el paquetes según el mismo esquema. Este proceso serepite hasta el momento de alcanzar la computadora de destino o hasta queel ”tiempo de vida del paquete” TTL (ingl. time to live) se haya agotado.

Tipo de direc-ciones

Descripción

La dirección base Es la dirección de la máscara de red operada conla conjunción lógica AND (Y) con cualquier direc-ción de la red. Es exactamente lo que se refleja enla tabla 9.3 en la página anterior como Resultado dela conjunción. No se puede asignar esta dirección aninguna computadora.

La direcciónbroadcast

Con esta dirección se puede contactar con todas lascomputadoras de la subred al mismo tiempo. Ladirección se crea invirtiendo su valor binario y rea-lizando una OR lógica con la dirección base de lared. En el caso del ejemplo mencionado resulta elvalor 192.168.0.255. Esta dirección tampoco puede serasignada a ninguna computadora.

Localhost En cada computadora la dirección 127.0.0.1 corres-ponde al dispositivo ”Loopback”. La dirección sirvepara crear una conexión en la propia computadora.

Cuadro 9.4: Direcciones especiales

No se pueden utilizar direcciones IP al azar, ya que estas deben ser únicasen todo el mundo. Para configurar un red privada con direcciones IP exis-ten tres rangos de direcciones que pueden ser utilizados sin problema. Comodesventaja, no es posible realizar con estas direcciones una conexión directa aInternet sin realizar algunas conversiones.

214 TCP/IP - El protocolo de red utilizado por Linux

Page 231: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Los tres rangos reservados en RFC 1597 son los siguientes:

ring net.allg.privat.net Rangospara direcciones IP privadas Red,máscara de red

Rango

10.0.0.0, 255.0.0.0 10.x.x.x172.16.0.0, 255.240.0.0 172.16.x.x - 172.31.x.x192.168.0.0, 255.255.0.0 192.168.x.x

Cuadro 9.5: t

Domain Name System

DNS

Gracias al DNS no hace falta recordar direcciones IP, ya que este sistema re-aliza la asignación de una dirección IP a uno o varios nombres así como laasignación inversa de un nombre a una dirección IP. En Linux, un softwa-re especial llamado bind es el que se encarga de establecer el vínculo entrenombres y direcciones IP. Una computadora que presta este servicio se deno-mina Servidor de nombres (ingl. Nameserver).

Los nombres también están estructurados dentro de una jerarquía; las diferen-tes partes funcionales de los nombres se separan por puntos. Esta jerarquíade nombres es independiente de la ya mencionada jerarquía de direcciones IP.

A continuación figura el ejemplo de un nombre completo:

laurent.suse.de escrito en formatoNombreComputadora.Dominio . Un nombre completo se denomi-na ”Nombre de dominio totalmente cualificado” (ingl. Fully qualified domainname o FQDN) y se compone del nombre de la computadora y de la partedel dominio. Este nombre de dominio se compone de una parte de libreelección – en el ejemplo suse – y del ”dominio de primer nivel” (ingl. Toplevel domain TLD).

Por razones históricas la asignación de los TLDs no es del todo contundente.En los EE.UU. se utilizan TLDs de tres letras mientras que el resto del mundoutiliza los códigos de país ISO de dos letras.

En los primeros tiempos de Internet (antes de 1990) el fichero /etc/hostsalbergaba los nombres de todas las computadoras disponibles en Internet.Esta forma de resolución de nombre se tornó poco práctica debido al rápidocrecimiento de Internet. Por eso se diseñó un banco de datos descentralizado,

215SuSE Linux – Enterprise Server 8

Page 232: Sles Admin Ipseries

capaz de guardar los nombres de las computadoras de forma distribuida. Es-te banco de datos, representado por un servidor de nombres, no dispone delos datos de todas las computadoras en Internet, sino que es capaz de consul-tar otros servidores de nombres en un nivel más alto.

En la punta de la jerarquía de servidores de nombres se encuentran los”Root-Nameserver” que administran los dominios de primer nivel (TLD).El ”Network Information Center” (NIC) se encarga de la administración deestos servidores. El Root-Nameserver conoce los servidores de nombres quese encargan de cada dominio de primer nivel. En el caso de la TLD de Ale-mania (de) es DE-NIC que se encarga de todos los dominios de este tipo. Enla página web http://www.denic.de hay más información sobre DE-NIC;http://www.internic.net informa sobre el NIC.

La computadora de sobremesa tiene que conocer la dirección IP de al menosun servidor de nombres para que sea capaz de convertir nombres en direc-ciones IP. Con YaST2 es muy fácil configurar el servidor de nombres. En elcaso de una conexión vía módem, puede que no sea necesario configurarlomanualmente, ya que el protocolo utilizado para la conexión proporciona estainformación durante el proceso de conexión.

DNS es capaz de realizar otras tareas a parte de la resolución de nombres.El servidor de nombres ”conoce” igualmente la computadora que acepta losE-Mails de todo un dominio. Esta computadora se conoce como ”Mail ex-changer (MX)”.

El apartado DNS – Domain Name Service en la página 235 explica la configura-ción de un servidor de nombres en SuSE Linux Enterprise Server.

whois

El protocolo whois es muy similar al de DNS y sirve para averiguar rápida-mente quién se responsabiliza de un determinado dominio.

IPv6 – La próxima generación de Internet

El por qué del nuevo protocolo de Internet

Debido a la aparición de la WWW (ingl. World Wide Web), Internet y la can-tidad de computadoras que se comunican vía TCP/IP han crecido vertigino-samente. Desde la invención de la WWW por parte de Tim Berners-Lee, quetrabajaba en el CERN (http://public.web.cern.ch/ ) en el año 1990, lacantidad de los hosts en Internet ha crecido de algunos miles hasta alrededorde 100 millones, actualmente.

216 IPv6 – La próxima generación de Internet

Page 233: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Como ya sabemos, una dirección IP ”sólo” tiene 32 bits. Muchas de las di-recciones IP se pierden por su estructuración. Internet se divide en subredes.Cada subred dispone de 2 elevado a N - 2 direcciones. Por eso una subred secompone por ejemplo de 2, 6, 14, 30, etc. direcciones IP. Para conectar p. ej.128 computadoras a Internet, se necesita una subred de ”clase C” con 256 di-recciones IP de las que hay 254 útiles. Hay que restar dos direcciones para ladirección base de la red y para la de broadcast.

La configuración de una computadora dentro de una red TCP/IP es relati-vamente complicada. Como se acaba de mencionar, hace falta configurar lossiguientes parámetros en la computadora: La dirección IP propia, la máscarade subred, la dirección de la pasarela (si existe) y el servidor de nombres. Espreciso conocer exactamente estos valores (p. ej. dados por parte del provee-dor), ya que no se pueden deducir.

Cada paquete IP incorpora unos dígitos de control que se han de comprobary de calcular cada vez que un paquete pasa por un router. Por eso los routersmuy rápidos necesitan mucha potencia de cálculo, lo cual los encarece.

Hay algunos servicios que se realizan hasta ahora mediante Broadcasts(p. ej.el protocolo de red SMB de Windows). Las computadoras que no par-ticipan en este servicio están igualmente obligadas a procesar los paquetespara finalmente ignorarlos. Es algo que puede provocar problemas en redescon alta demanda de velocidad.

El sucesor de IP, IPv6, resuelve todos estos problemas. La meta principal deldesarrollo era una fuerte ampliación del rango de direcciones y la simplifica-ción de la configuración de clientes de sobremesa (hasta llegar a su automati-zación). Este apartado denomina IPv4 o IP al protocolo de Internet utilizadohasta la fecha, e IPv6 al protocolo de la nueva versión 6.

RFC 1752 expone los detalles de IPv6. La característica principal de IPv6 sonlas direcciones de 128 bits, que permiten muchos billones de direcciones. Conesta enorme cantidad es posible ”permitirse el lujo” de definir como subredmás pequeña una red de 48 bits.

De esta forma se puede utilizar la dirección MAC como una parte de la di-rección. Como la MAC es única en el mundo, configurada por parte del fabri-cante, la configuración se simplifica mucho. En realidad los primeros 64 bitsforman un ”EUI-64-Token”. Los últimos 48 bits vienen de la dirección MAC ylos restantes 24 bits contienen información especial, que informa sobre el tipode Token. Así es posible asignar EUI-64-Token a los dispositivos sin direcciónMAC (en caso de conexiones por RDSI o PPP).

IPv6 incorpora una innovación: Se suele asignar a cada interfaz de red va-rias direcciones IP. La ventaja es que así se tiene directamente acceso a varias

217SuSE Linux – Enterprise Server 8

Page 234: Sles Admin Ipseries

redes. Una de estas redes se puede formar con la dirección MAC y un prefi-jo conocido. Con esta red configurada automáticamente, se puede acceder atodas las computadoras dentro de la red local, inmediatamente después delinicio de IPv6, utilizando la dirección ”Link-local”.

El resto de la configuración de un cliente también puede se puede automati-zar. Para ello existe un protocolo especial para configurar los clientes en unared. Estos reciben su dirección IP desde un router.

Es muy importante que todas las computadoras que trabajen con IPv6 sopor-ten ”Multicast”. Multicast permite acceder simultáneamente y de forma selec-tiva a un grupo de computadoras. No se accede a todos ”de golpe” (broad-cast) y tampoco a una sola (unicast), sino a un determinado grupo. El grupopara acceder depende de la aplicación. Hay algunos grupos totalmente defi-nidos como ”todos los servidores de nombres” (ingl. all nameservers multicastgroup), o ”todos los enrutadores” (ingl. all routers multicast group).

Existe un modo de compatibilidad, ya que no sería posible cambiar en unsolo momento todas las computadoras en Internet, de IPv4 a IPv6. Este modotraduce las direcciones actuales a las nuevas IPv6. A parte de esto existenmecanismos como ”Tunneling” (paquetes del tipo IPv6 se envían dentro deun paquete IPv4. También es posible convertir direcciones IPv6 en direccionesIPv4, pero para acceder a una computadora IPv6 desde una con IPv4 hacefalta que la máquina con IPv6 tenga un dirección de compatibilidad con IPv4.

Estructura de una dirección IPv6

Es fácil de imaginar que la dirección IPv6 por sus 128 bits (16 Bytes) resultamucho más larga que la IPv4 con apenas 32 bits.

Debido a su tamaño, las nuevas direcciones del tipo IPv6 se anotan en unaforma distinta a las del tipo IPv4. Esto se ve reflejado en los ejemplos de latabla 9.6 en la página siguiente.

Como se puede ver en la tabla, las direcciones IPv6 se representan mediantecifras hexadecimales. Éstas siempre se reunen en grupos de dos bytes sepa-radas por un : (dos puntos). Por esta razón cada dirección tiene un máximode ocho grupos y siete doble puntos. Es permitido suprimir bytes de cero pordelante, pero no en medio ni al final de un grupo. Es posible saltarse más decuatro bytes de cero sucesivos utilizando el comodín :: (doble dos puntos).No se permite utilizar más de un comodín en una dirección. El proceso desuprimir los ceros se denomina en inglés ”collapsing”. Las direcciones com-patibles con IPv4 tienen una forma especial: La dirección IPv4 se añade senci-llamente al prefijo definido para las direcciones compatibles IPv4.

218 IPv6 – La próxima generación de Internet

Page 235: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Descripción Valor de la direcciónLocalhost ::1Dirección IPv6 compatible IPv4 ::10.10.11.102

(IPv6 está soportado)Dirección IPv6 mapeado a IPv4 ::ffff:10.10.11.102

(IPv6 no está soportado)Dirección en general 3ffe:400:10:100:200:c0ff:fed0:a4c3Dirección Link-local fe80::10:1000:1a4Dirección Site-local fec0:1:1:0:210:10ff:fe00:1a4Grupo Multicast ff02:0:0:0:0:0:0:2”todos los routers locales”

Cuadro 9.6: Diferentes direcciones IPv6

Cada parte de una dirección IPv6 tiene un determinado significado. Los pri-meros bytes forman un prefijo que indica el tipo de la dirección. La parte delmedio representa una red o bien no representa nada y el final de la direcciónes la parte del host.

La tabla 9.7 en la página siguiente muestra el significado de algunos prefijosque se utilizan con frecuencia.

Prefijo (hexadeci-mal)

Uso

00 Direcciones IPv4 y IPv4 compatibles sobre IPv6. Sondirecciones compatibles con IPv4. Un router ade-cuado tiene que convertir el paquete IPv6 en IPv4.Hay otras direcciones especiales (p. ej. LoopbackDevice) que utilizan este prefijo.

primera cifra 2 o 3 (ingl. provider-based-unicast) Direcciones unicastasignadas por un proveedor. Igual que ahora,también en el caso de IPv6 se puede recibir laasignación de subredes a través de un proveedor.

fe80 hasta febf (ingl. link-local) Direcciones con este prefijo nopueden ser ruteadas y por tanto solo se puedenacceder en la misma subred.

Cuadro 9.7: Continúa en la página siguiente. . .

219SuSE Linux – Enterprise Server 8

Page 236: Sles Admin Ipseries

fec0 bis feff (ingl. site-local) Estas direcciones pueden ser ru-teadas, pero solamente dentro de una mismaorganización. Estas direcciones corresponden a lasdirecciones ”privadas” actuales (p. ej. 10.x.x.x).

ff (ingl. multicast) Las direcciones IPv6 que comien-zan con ff son direcciones Multicast.

Cuadro 9.7: Diferentes prefijos IPv6

Como se puede observar, especialmente las direcciones Unicast llegan a sermuy largas y es muy difícil memorizarlas. Por eso el buen funcionamientodel servidor de nombres es para IPv6 aún más importante que para IPv4.

Debido a la importancia del servidor de nombres existe un programa especialpara la autoconfiguración del mismo.

Máscaras de red en IPv6

La representación de las máscaras de red en IPv6 es un poco diferente. La se-paración de las redes en clases carece de sentido, ya que desde un principioel enrutamiento es independiente de las clases de red y la subred más peque-ña ya puede albergar una cantidad enorme de máquinas. Como las máscarasde red pueden llegar a ser muy largas, la anotación de las mismas es ahoramuy diferente. En el siguiente número:

fec0:1:1:0:210:10ff:fe00:1a4/64

los últimos 64 bits forman la parte de host y los primeros 64 bits la parte dela red.

La cifra 64 significa que la máscara de red se rellena bit por bit comenzandoen la izquierda. Por eso la máscara de red tiene 64 bits. Igual que en el casode IPv4, una conjunción del tipo ”Y” de la máscara de red con la dirección IPdetermina si la computadora se encuentra en la misma subred o en otra.

Literatura y enlaces sobre IPv6

El resumen de IPv6 presentado no pretende ser una introducción completaacerca del amplio tema IPv6. Para más información, ver la literatura y librosonline que se presenta a continuación:

220 IPv6 – La próxima generación de Internet

Page 237: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

http://www.bieringer.de/linux/IPv6/ CÓMOs de IPv6 en Linux ymuchos enlaces.

http://www.6bone.de/ Acceder a IPv6 a través de un túnel.

http://www.ipv6.org/ Todo acerca IPv6.

RFC 1725 El RFC introductorio sobre IPv6.

221SuSE Linux – Enterprise Server 8

Page 238: Sles Admin Ipseries

El acceso a la red

Finalmente TCP/IP se ha impuesto como el protocolo de red estándar y to-dos los sistemas operativos modernos son capaces de comunicarse con esteprotocolo. Sin embargo Linux sigue soportando otros protocolos de red co-mo p. ej. IPX usado (anteriormente) por Novell Netware o Appletalk utilizadopor los Macintosh. Este capítulo sólo explica la integración de una computa-dora con Linux en una red TCP/IP, realizando así el acceso a una red de árealocal (LAN local area network) con una tarjeta de red tipo Ethernet.

La configuración de tarjetas de red ”exóticas” como Arcnet, Token-Ring o FD-DI se explica en la documentación de la fuentes del kernel en /usr/src/linux/Documentation .

Preparativos

La computadora debe disponer de una tarjeta red soportada. Normalmenteésta se reconoce durante la instalación y el driver adecuado se activa. El re-conocimiento correcto de la tarjeta se nota entre otras cuando el resultado delcomando ifstatus eth0 muestra el dispositivo de red eth0.

Por defecto el SuSE-kernel realiza el soporte de la tarjeta red mediante unmódulo. En este caso el nombre del módulo debe aparecer como alias en elfichero /etc/modules.conf . Para la primera tarjeta Ethernet p. ej. de la si-guiente forma:alias eth0 tulipEsto funciona automáticamente cuando se carga durante la primera instala-ción desde linuxrc el driver de la tarjeta red. Posteriormente se puede realizaresta tarea desde YaST2.

Configuración de red con YaST2

YaST2 permite la configuración rápida de la tarjeta red. Al seleccionar en elCentro de Control la opción ‘Red/básico’ y después ‘Configuración de la tar-jeta de red’ aparece el diálogo para la configuración básica de la tarjeta y dela red propiamente dicha.

Durante la configuración de dispositivos de red en iSeries, YaST2 muestracualquier dispositivo ethernet virtual como ‘IBM virtual ethernet card’. Pul-se ‘Finish installation’ cuando haya terminado.

Si su sistema contiene una mezcla de dispositivos ethernet, fíjese en la nume-ración de los dispositivos. Anote cuáles son los adaptadores incluidos en el

222 El acceso a la red

Page 239: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

sistema y cuántos hay de cada clase. Cuando se carga un módulo, todos losdispositivos de esa clase reciben un nombre de dispositivo ‘ethx’. Así, el pri-mer dispositivo configurado será ‘eth0’ y el resto de dispositivos del mismotipo tomarán los números ‘eth1’, ‘eth2’, etc. Por ejemplo, tomemos el caso dedos tarjetas ethernet IBM 79c970 (Feature Code 2838 con el controlador ‘pc-net32’) y dos tarjetas ethernet virtuales en un sistema iSeries. Si configura unade las tarjetas IBM 79c970 como ‘eth0’ (lo que sucede automáticamente en es-te caso), la otra tarjeta se convertirá en ‘eth1’ al arrancar el sistema, y ‘eth2’debería configurarse como la primera tarjeta ethernet virtual, seleccionandoel número de dispositivo correspondiente. Este procedimiento sería idénticoen caso de tener dos tipos diferentes de tarjetas ethernet físicas. La clave estáen conocer la configuración de su sistema y recordar que, cuando se carga unmódulo, se asignan números a todos los dispositivos de ese tipo. Entonces,utilice la herramienta de configuración para seleccionar los números correctos.No hace falta que configure todas las tarjetas. Simplemente asegúrese de quepara cada una de ellas se reserva correctamente un número de dispositivo.

El diálogo para la configuración básica de red permite pulsar ‘Añadir’ pa-ra añadir o ‘Eliminar’ para quitar tarjetas de red de la lista. ‘Editar’ permitecambiar los parámetros para la configuración de una tarjeta de red.

Activando el botón ‘Hardware’ y pulsando posteriormente ‘Editar’, se puedemodificar el hardware de una tarjeta red ya configurada. Aparece un menúpara la configuración del hardware tal como se refleja en la figura 9.3 en lapágina siguiente.

YaST2 suele configurar y activar correctamente la tarjeta de red durante lainstalación. Por eso normalmente sólo se requiere una configuración manu-al trabajando con más de una tarjeta de red o cuando la autodetección delhardware falla. En tal caso hay que seleccionar ‘Añadir’ para seleccionar undriver nuevo.

Este diálogo permite seleccionar el tipo de tarjeta de red y, en caso de las tar-jetas tipo ISA, también la interrupción y la dirección de entrada y salida (IO).Algunos drivers admiten parámetros especiales como la selección de la in-terfaz entre el conector RJ-45 o el del tipo BNC. Para averiguarlo, consulte ladocumentación del driver.

Después de haber introducido los parámetros de hardware, se pueden confi-gurar los parámetros adicionales de la interfaz de red. Dentro del diálogo dela ‘Configuración básica de red’ seleccione el botón ‘Interfaz’ para activar latarjeta recientemente configurada y para asignarle una dirección IP.

Después de haber elegido la tarjeta pulse sobre ‘Editar’. Aparece un nuevodiálogo que permite asignar la dirección IP y definir datos adicionales de lared IP. Configurando una red propia, se puede asignar las direcciones IP tal

223SuSE Linux – Enterprise Server 8

Page 240: Sles Admin Ipseries

Figura 9.3: Configuración de los parámetros de hardware

como lo expone el apartado 9 en la página 208. Si no es así, los campos sehan de rellenar con las direcciones asignadas por parte del administrador dela red.

No olvide configurar un servidor de nombres en ‘Nombre del ordenador yservidor de nombres’ para que la resolución de nombres, tal como se explicaen el apartado 9 en la página 235, funcione correctamente.

La opción ‘Enrutado’ permite configurar el ”routing” y mediante ‘Configura-ción avanzada’ se pueden realizar ajustes expertos.

Aquí finaliza la configuración de la red y YaST2 inicia SuSEconfig, que se en-carga de introducir las indicaciones hechas en los correspondientes ficheros(ver apartado 9 en la página siguiente). Para activar los ajustes y usar la nue-va configuración hay que iniciar de nuevo los daemons correspondientes. Es-to se consigue introduciendo el siguiente comando:

tierra: ~ # rcnetwork restart

Configurar IPv6

Para utilizar IPv6 normalmente no hace falta configurar nada especial en ellado de los clientes. Lo único que hace falta es cargar el soporte de IPv6 p. ej.mediante el comando

224 El acceso a la red

Page 241: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

tierra: ~ # modprobe ipv6

De acuerdo con la filosofía de autoconfiguración en IPv6, se asigna a la tarje-ta una dirección de red dentro de la red link-local. Normalmente no se man-tiene ninguna tabla de routing en una computadora cliente, que puede con-sultar mediante el Router Advertisment Protocol los enrutadores que existenen la red y el prefijo que se ha de utilizar.

El programa radvd del paquete radvd , serie n (Red) sirve para configurar unenrutador IPv6. Este programa indica a los clientes el prefijo utilizado paralas direcciones IPv6 y el/los router(s) en la red.

Es muy aconsejable instalar un enrutador con el programa radvd ya que ésterealiza la asignación de las direcciones IPv6 de forma totalmente automática.

Configuración manual de la red

La configuración manual de la red no es muy aconsejable, ya que es más sen-cillo usar YaST2.

Todas las interfaces de red se configuran con el script /sbin/ifup . Para de-tener la interfaz, utilice ifdown . Puede comprobar su estado con ifstatus .

Si tiene una tarjeta de red ordinaria, integrada en el equipo, configure lasinterfaces por su nombre. Los comandos ifup eth0 , ifstatus eth0 yifdown eth0 , sirven para iniciar, detener la interfaz eth0 o comprobarsu estado. Los ficheros de configuración respectivos están almacenados en/etc/sysconfig/network/ifcfg-eth0 . eth0 es tanto el nombre de lainterfaz como el nombre de la configuración.

La red también puede configurarse en base a la dirección de hardware (di-rección MAC) de una tarjeta de red. En este caso se usa un fichero de con-figuración ifcfg-<direccióndehardwaresinlosdospuntos> . Empleeletras minúsculas para la dirección de hardware tal y como se muestra con elcomando ip link (ifconfig muestra letras mayúsculas). Si ifup encuen-tra un fichero de configuración que coincida con la dirección de hardware, seignorará el fichero ifcfg-eth0 en caso de que exista.

Ficheros de configuración

En resumen, este apartado explica la función de los ficheros de configuraciónde red y expone sus formatos.

225SuSE Linux – Enterprise Server 8

Page 242: Sles Admin Ipseries

/etc/sysconfig/network/ifcfg-*Estos ficheros contienen datos relativos a una interfaz de red. Pue-

den llamarse como la interfaz de red (ifcfg-eth2 ), la dirección dehardware de una tarjeta de red (ifcfg-000086386be3 ), o comola descripción de hardware (ifcfg-usb ). Si se utilizan alias parala red, los ficheros respectivos se denominan ifcfg-eth2:1 o bienifcfg-usb:1 . El script ifup obtiene el nombre de la interfaz y, si fue-ra necesario, la descripción de hardware como argumento. A continua-ción busca el fichero de configuración más adecuado.

Los ficheros de configuración contienen la dirección IP (BOOTPRO-TO="static", IPADDR="10.10.11.214") o la dirección para usar DHCP(BOOTPROTO="dhcp"). La dirección IP también puede incluir la más-cara de red (IPADDR="10.10.11.214/16") o bien la máscara de puede es-pecificarse por separado (NETMASK="255.255.0.0"). Consulte en páginadel manual de ifup (man ifup ) la lista completa de variables.

Además, todas las variables de los ficheros dhcp , wireless y configpueden usarse en los ficheros ifcfg-* si se va a usar sólo una confi-guración general para una interfaz. Las variables POST_UP_SCRIPTyPRE_DOWN_SCRIPTpermiten ejecutar scripts individuales después deiniciar o antes de detener la interfaz.

/etc/sysconfig/network/config,dhcp,wireless

El fichero config contiene la configuración general de ifup , ifdown eifstatus . Por su parte, dhcp contiene la configuración para DHCP ywireless para tarjetas wireless lan. Las variables de estos tres ficherosde configuración están comentadas y pueden usarse también ficherosifcfg-* , donde se tratan con una prioridad más alta.

/etc/hostsEste fichero (ver fichero 28) tiene una tabla de asignación entre nombresde computadoras y direcciones IP. En esta tabla deben aparecer todaslas computadoras a las que se quiere establecer una conexión IP cuandono se usa un servidor de nombres. Cada computadora ocupa una líneaen la tabla que contiene el número IP, el nombre completo de la compu-tadora y el nombre (abreviado), p. ej. tierra . La línea debe comenzarcon la dirección IP y las demás indicaciones se separan con espacios otabuladores. Los comentarios comienzan con ‘#’ .

# hosts This file describes a number of hostname-to-address# mappings for the TCP/IP subsystem. It is mostly

226 Configuración manual de la red

Page 243: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

# used at boot time, when no name servers are running.# On small systems, this file can be used instead of a# "named" name server. Just add the names, addresses# and any aliases to this file...127.0.0.1 localhost192.168.0.1 sol.cosmos.univ sol192.168.0.20 tierra.cosmos.univ tierra# End of hosts

Fichero 28: /etc/hosts

/etc/networksEn este fichero se convierten los nombres de redes en direcciones dered. El formato se parece al del fichero hosts solo que aquí los nom-bres de las redes aparecen por delante de sus direcciones IP (ver fiche-ro 29).

# networks This file describes a number of netname-to-address# mappings for the TCP/IP subsystem. It is mostly# used at boot time, when no name servers are running.#loopback 127.0.0.0localnet 192.168.0.0

Fichero 29: /etc/networks

/etc/host.confEste fichero controla el funcionamiento de la biblioteca de resolución,que convierte nombres de computadoras en direcciones IP; este fiche-ro solo se usa para programas que fueron ”linkados” (enlazados) conlas bibliotecas libc4 o libc5. ¡Para los programas actuales, linkados conglibc, la configuración se encuentra en /etc/nsswitch.conf ! Cadaparámetro debe estar en una línea aparte. Los parámetros admitidos fi-guran en la tabla 9.8 en la página siguiente; los comentarios comienzancon el símbolo ‘#’ .

El fichero 30 en la página siguiente muestra un ejemplo de /etc/host.conf .

227SuSE Linux – Enterprise Server 8

Page 244: Sles Admin Ipseries

order hosts, bind Determina el orden de llamada a los serviciosde resolución de nombres. Los parámetros po-sibles, separados por espacios o comas, son:hosts: Búsqueda en el fichero /etc/hostsbind: Llamada a un servidor de nombresnis: Mediante NIS

multi on/off Determina si una computadora dada de alta en/etc/hosts puede tener varias direcciones IP.

nospoof onalert on/off

Estos parámetros influyen sobre el ”spoofing”del servidor de nombres, pero no tienen ningu-na influencia adicional sobre la configuraciónde red.

trim〈domainname〉

El nombre de dominio que se indica aquí, seresta del nombre totalmente cualificado de lacomputadora que lo contiene (antes de asignarla dirección IP al nombre de computadora).Se trata de una opción de utilidad cuando elfichero /etc/hosts solo contiene nombresde computadoras locales (alias) y, estos debenser reconocidos también cuando se añade elnombre del dominio.

Cuadro 9.8: Parámetros de /etc/host.conf

## /etc/host.conf## We have named runningorder hosts bind# Allow multiple addrsmulti on# End of host.conf

Fichero 30: /etc/host.conf

228 Configuración manual de la red

Page 245: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

/etc/nsswitch.confCon la version 2.0 de la librería GNU de C comenzó el uso del ”NameService Switch” (NSS) (verpágina del manual de nsswitch.conf (man 5 nsswitch.conf ) ymás explícito en The GNU C Library Reference Manual, capítulo "SystemDatabases and Name Service Switch" – ver paquete libcinfo , seriedoc ).

El fichero /etc/nsswitch.conf determina en cuál orden se solici-tan determinadas informaciones. El fichero 31, muestra un ejemplo paransswitch.conf en el cual las líneas de comentarios comienzan con‘#’ . Respecto al ”banco de datos” hosts , el ejemplo siguiente indi-ca que se envía una solicitud al servicio DNS (ver el apartado 9 en lapágina 235) después de consultar /etc/hosts (files ).

## /etc/nsswitch.conf#passwd: compatgroup: compat

hosts: files dnsnetworks: files dns

services: db filesprotocols: db files

netgroup: files

Fichero 31: /etc/nsswitch.conf

Las ”bases de datos” accesibles vía NSS se mencionan en la tabla 9.9 enla página siguiente. En el futuro se espera también la disponibilidad deautomount , bootparams , netmasks y publickey .

aliases Mail-Alias, usado por sendmail (8); ver página delmanual de aliases (man 5 aliases ).

ethers Direcciones de ethernet.

Cuadro 9.9: Continúa en la página siguiente. . .

229SuSE Linux – Enterprise Server 8

Page 246: Sles Admin Ipseries

group Usado por getgrent (3) para grupos de usuarios;ver página del manual de group (man 5 group ).

hosts Para nombres de host y direcciones IP, los usan fun-ciones como gethostbyname (3) o parecidas.

netgroup Lista de hosts y de usuarios válida en la red paraadministrar los derechos de acceso; ver página delmanual de netgroup (man 5 netgroup ).

networks Nombres y direcciones de redes, lo usagetnetent (3).

passwd Contraseñas de usuarios, que usa getpwent (3); verpágina del manual de passwd (man 5 passwd ).

protocols Protocolos de red; información usada porgetprotoent (3); ver página del manual deprotocols (man 5 protocols ).

rpc Nombres y direcciones del tipo ”Remote ProcedureCall”; lo usan getrpcbyname (3) y otras funcionesparecidas.

services Servicios de red; lo usa getservent (3).shadow Las contraseñas ”Shadow” de los usuarios, usado

por getspnam (3); ver página del manual de shadow(man 5 shadow).

Cuadro 9.9: Bases de datos accesibles a través de /etc/nsswitch.conf

Las opciones de configuración de las ”bases de datos” NSS se encuen-tran en tabla 9.10 en la página siguiente.

files acceso directo a los ficheros, p. ej. a /etc/aliases .

db acceso a través de una base de datos.nis NIS, ver apartado 9 en la página 245.nisplusdns Parámetro adicional, solo aplicable para hosts

y networks .compat Parámetro adicional para passwd , shadow y

group .

Cuadro 9.10: Continúa en la página siguiente. . .

230 Configuración manual de la red

Page 247: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

adicionalmente es posible conseguir diferentes resultadosen caso de determinados eventos ”Loo-kup”; hay detalles en página del manual densswitch.conf (man 5 nsswitch.conf ).

Cuadro 9.10: Opciones de configuración de los ”bancos de datos” NSS

/etc/nscd.confEste es el fichero para configurar el nscd (ingl. Name Service Cache Dae-mon); ver página del manual de nscd (man 8 nscd ) y página del ma-nual de nscd.conf (man 5 nscd.conf ). La información en cuestiónes la que se encuentra en passwd y groups . hosts no es leído parano tener que reiniciar el daemon p. ej.cuando se cambia la resolución denombres de dominio (DNS) modificando /etc/resolv.conf .

Cuando está activada la característica ”caching” para passwd , normal-mente trascurren unos 15 segundos hasta que un usuario creado denuevo se conozca en el sistema. Reiniciando nscd este tiempo de esperase puede reducir.

tierra:~ # rcnscd restart

/etc/resolv.confEste fichero, tal como /etc/host.conf , también juega su papel res-pecto a la resolución de nombres de computadoras con la bibliotecaresolver.

En este fichero se indica a cuál dominio pertenece la computadora (pa-labra clave search) y cuál es la dirección del servidor de nombres aacceder (palabra clave nameserver); se pueden indicar varios nombresde dominio. Resolver un nombre que no sea totalmente cualificado, sig-nifica obtener un nombre totalmente cualificado y válido al añadir lasindicaciones en search. Es posible indicar varios servidores de nombreintroduciendo varias líneas que comienzan con nameserver; los comen-tarios se introducen como siempre con ‘#’ .

Hay un ejemplo para /etc/resolv.conf en el fichero 32.

# /etc/resolv.conf## Our domain

231SuSE Linux – Enterprise Server 8

Page 248: Sles Admin Ipseries

search cosmos.univ## We use sol (192.168.0.1) as nameservernameserver 192.168.0.1# End of resolv.conf

Fichero 32: /etc/resolv.conf

¡YaST apunta aquí el servidor de nombres que se le indica!

Algunos servicios como p. ej.pppd (wvdial), ipppd (isdn), dhcp (dhcpcdy dhclient), pcmcia y hotplug, modifican el fichero /etc/resolv.conf por medio del script modify_resolvconf .

Al modificar temporalmente el fichero /etc/resolv.conf , el scriptdeja un comentario dentro de este fichero sobre cuál servicio lo modifi-có, dónde se ha guardado el fichero original y cómo se puede desacti-var las modificaciones automáticas.

En el caso de una secuencia de modificaciones de /etc/resolv.conf ,esta secuencia se deshace de forma totalmente limpia incluso cuando lasecuencia de deshacer es diferente a la secuencia de modificación indi-vidual. Es algo bastante normal trabajando con varios servicios comoisdn, pcmcia y hotplug.

Cuando algún servicio se ha terminado mal, es posible recuperar el es-tado anterior mediante modify_resolvconf . Al arrancar, el sistemacomprueba la existencia de un fichero resolv.conf modificado y re-cupera el resolv.conf original. Esto es algo que podría pasar p. ej.después de un cuelgue de sistema.

YaST puede averiguar fácilmente mediante modify_resolvconfcheck , si el fichero resolv.conf fue modificado y alertar al usuarioinformándole que sus modificaciones se perderán después de la restau-ración.

Por lo demás, YaST no utiliza modify_resolvconf . Esto quiere decirque una modificación mediante YaST y una modificación manual sonequivalentes y ambas son permanentes. En cambio la modificación pro-vocada por un de los servicios mencionados es sólo temporal.

/etc/HOSTNAMEAquí se encuentra el nombre de la computadora, es decir, solo el nom-bre del host sin el nombre de dominio. Hay distintos scripts que leeneste fichero durante el arranque de la computadora. ¡No debe contener

232 Configuración manual de la red

Page 249: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

más que una sola línea con el nombre de la computadora! Este fiche-ro se genera también automáticamente a través de los parámetros en/etc/rc.config .

Scripts de arranque (Startup-Scripts)

Aparte de los ficheros de configuración mencionados, existen diferentesscripts (macros) que inician los programas de red cuando la computadoraarranca. Estos scripts se inician cuando el sistema entra en uno de los nivelesde ejecución de multiusuario (ingl. Multiuser-Runlevel) (ver tabla 9.11).

/etc/init.d/network Este script se encarga de la configuracióndel hardware y software de la red durante elarranque.

/etc/init.d/inetd Inicia el inetd. Este se necesita p. ej. paraacceder desde la red a la computadora encuestión.

/etc/init.d/portmap Inicia el ”portmapper”, que se necesita parausar servidores RPC como p. ej. un servidorNFS.

/etc/init.d/nfsserver

Inicia el servidor NFS.

/etc/init.d/sendmail Controla el proceso de sendmail./etc/init.d/ypserv Inicia el servidor NIS./etc/init.d/ypbind Inicia el cliente NIS.

Cuadro 9.11: Algunos scripts de arranque de las utilidades de red

Routing en SuSE Linux Enterprise Server

A partir de SuSE Linux Enterprise Server 8.0 la tabla de ”routing” es ad-ministrada en los ficheros de configuración /etc/sysconfig/network/routes y (etc/sysconfig/network/ifroute-* .

El fichero /etc/sysconfig/network/routes define todas las rutas estáti-cas necesarias para las distintas tareas en un sistema: ruta hacia una compu-tadora, ruta hacia una computadora a través de un gateway y ruta hacia unared..

233SuSE Linux – Enterprise Server 8

Page 250: Sles Admin Ipseries

Para todos los interfaces que tienen necesidad de ”routing” individual exis-te la posibilidad de definir esto en un propio fichero por interfaz: /etc/sysconfig/network/ifroute-* . Cambie el símbolo ‘*’ por el nombredel dispositivo. Un fichero podría contener líneas como éstas:

DESTINATION GATEWAY NETMASK INTERFACE [ TYPE ] [ OPTIONS ]DESTINATION GATEWAY PREFIXLEN INTERFACE [ TYPE ] [ OPTIONS ]DESTINATION/PREFIXLEN GATEWAY - INTERFACE [ TYPE ] [ OPTIONS ]

Si GATEWAY, NETMASK, PREFIXLEN o INTERFACE no están indicadas hayque rellenar el campo correspondiente con el símbolo ‘-’ . Los campos TYPEy OPTIONS pueden quedarse vacíos.

El destino de una ruta se encuentra en la primera columna en formade la dirección IP de una red o una computadora. Si hay acceso a unservidor de nombres, se puede usar también el nombre totalmente cua-lificado de la red o de la computadora.

La segunda columna contiene el gateway por defecto o un gateway através del cual se puede acceder a otra computadora o red.

La tercera columna contiene la máscara de red para redes o computa-doras detrás de un gateway. Por ejemplo, para una computadora pordetrás de un gateway el valor de la máscara es 255.255.255.255 .

La última columna solo es importante para las redes locales de la com-putadora (Loopback, Ethernet, RDSI, PPP, . . . ); en ella se apunta elnombre del dispositivo.

Los siguientes scripts en el directorio /sbin facilitan la administración de lasrutas:

ifup-route activa una ruta

ifdown-route desactiva una ruta

ifstatus-route muestra el estado de las rutas configuradas

234 Routing en SuSE Linux Enterprise Server

Page 251: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

DNS – Domain Name Service

El servicio DNS (ingl. Domain Name Service) se necesita para convertir nom-bres de dominio y nombres de computadoras en direcciones IP; generalmen-te se habla de ”resolver nombres”. Por ejemplo al nombre de computadoratierra se le asigna la dirección IP 192.168.0.20 . Antes de configurar unDNS propio consulte la información general sobre DNS en el apartado 9 en lapágina 215

Iniciar el servidor de nombres BIND

El servidor de nombres BIND ya están preconfigurados en SuSE Linux Enter-prise Server por lo que no resulta difícil iniciarlo directamente después de lainstalación.

Cuando la conexión a Internet ya funciona, no hace falta más que indicar127.0.0.1 (localhost) como servidor de nombres en /etc/resolv.conf pa-ra que la resolución de nombres funcione, sin necesidad de conocer el DNSdel proveedor. De esta forma BIND utiliza los ”Root-Nameserver” para laresolución de los nombres y el proceso es mucho más lento. Por lo generalsiempre se debería indicar la dirección IP del DNS del proveedor en el fi-chero de configuración /etc/named.conf en el apartado forwarders paraconseguir una resolución de nombres eficaz y segura. Funcionando de estemodo, el servidor de nombres actúa en modo ”caching-only”. Configurándolocon zonas, se convierte en un DNS real. En el directorio de la documentaciónhay un ejemplo sencillo para ello: /usr/share/doc/packages/bind8/sample-config . No se debería configurar ningún dominio oficial, mien-tras éste no haya sido asignado por parte de la institución en cuestión – para”.es” la organización ES-NIC es la que se encarga de ello. Al disponer de undominio propio, tampoco se debería utilizar mientras que el proveedor seencargue de administrarlo. En caso contrario BIND deja de pasar (forward)consultas para ese dominio y (p. ej.) el servidor web que se encuentra en elcentro de datos del proveedor deja de estar accesible.

Como superusuario se puede iniciar el servidor de nombres mediante el co-mando: rcnamed start

Si a la derecha de la pantalla se muestra ”done” en color verde, es porque eldaemon del servidor de nombres (nombrado named) se ha iniciado correcta-mente. Se puede comprobar el funcionamiento en la máquina local inmedia-tamente con el programa nslookup . Este debe mostrar como servidor prede-terminado localhost con la dirección 127.0.0.1. Si esto no fuera el caso, es po-sible que /etc/resolv.conf contenga un servidor de nombres equivocado

235SuSE Linux – Enterprise Server 8

Page 252: Sles Admin Ipseries

o que este fichero sencillamente no exista. En el prompt de nslookup se in-dica ”localhost” o ”127.0.0.1” para ver si todo va bien. Si aparece un mensajede error del tipo ”No response from server”, lo mejor es utilizar el comando

rcnamed status

para ver si el daemon named realmente está en funcionamiento. En caso deerror, es posible averiguar el origen del mismo mediante los mensajes en elfichero /var/log/messages .

En caso de tener una conexión discontinua, hay que considerar que BIND8trata de comprobar los ”Root-Nameserver” en el momento de iniciarse. Si es-to falla es posible que ya no se resuelva ninguna petición al DNS salvo paralas zonas localmente definidas. El comportamiento de BIND9 en este caso esdiferente, pero BIND9 consume muchos más recursos.

Para utilizar el servidor de nombres del proveedor o cualquier otro que yaexiste en la red propia como ”forwarder”, se apunta éste mismo o varios enel apartado options dentro de forwarders; véase el ejemplo 33.

options {directory "/var/named";forwarders { 10.11.12.13; 10.11.12.14; };listen-on { 127.0.0.1; 192.168.0.99; };allow-query { 127/8; 192.168.0/24; };notify no;

};

Fichero 33: Opciones de forwarding en named.conf

Las direcciones IP del ejemplo se han de adaptar a los valores reales del casoconcreto.

Detrás de options llegan las entradas para las zonas. ”localhost”, ”0.0.127.in-addr.arpa”, tal como ”.” del tipo ”hint” siempre deberían existir. No hace fal-ta modificar los ficheros correspondientes, ya que funcionan tal como están.

Aparte de esto es importante que exista un ”;” por detrás de todas las entra-das y que los corchetes } estén correctamente puestos.

Al haber modificado el fichero de configuración /etc/named.conf o losficheros de zona, es preciso que BIND lea estos ficheros nuevamente. Esto serealiza con el comando rcnamed reload .

Otra posibilidad es la de reiniciar el servidor mediante rcnamed restart ;el comando para pararlo es rcnamed stop .

236 DNS – Domain Name Service

Page 253: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

El fichero de configuración /etc/named.conf

La configuración de BIND8 y BIND9 se realiza por completo con el fichero/etc/named.conf . Los datos propios de la zona, que son los nombres delas computadoras, direcciones IP, etc. de los dominios administrados, se hande anotar en ficheros aparte dentro del directorio /var/named ; el siguientecapítulo amplía esta información.

A grandes rasgos /etc/named.conf se estructura en dos secciones; la pri-mera es options para la configuración general y la siguiente es la que contie-ne las entradas zone para los diferentes dominios. También es posible utilizaruna sección logging o una con entradas del tipo acl. Las líneas comentadascomienzan con el símbolo ‘#’ o ‘//’ .

El ejemplo 34 muestra un fichero /etc/named.conf muy sencillo:

options {directory "/var/named";forwarders { 10.0.0.1; };notify no;

};

zone "localhost" in {type master;file "localhost.zone";

};

zone "0.0.127.in-addr.arpa" in {type master;file "127.0.0.zone";

};

zone "." in {type hint;file "root.hint";

};

Fichero 34: Fichero /etc/named.conf muy sencillo

El ejemplo funciona para Bind8 y Bind9, porque no se ha utilizado ningu-na opción que sólo pueda ser entendida por una de las dos versiones. Bind9acepta todos los comandos de Bind8 y sólo se limita a mostrar un mensajedurante el arranque cuando una determinada opción no está implementada.

237SuSE Linux – Enterprise Server 8

Page 254: Sles Admin Ipseries

Las opciones más importantes del apartado options

directory "/var/named"; indica el directorio que contiene los ficheros con losdatos de zona,

forwarders { 10.0.0.1; }; se utiliza para indicar uno o varios servidores denombres (generalmente los del proveedor) para pasarles las consultasDNS que no se pueden resolver directamente.

forward first; hace que las consultas DNS se pasen primero antes de tra-tar de resolverlas mediante un root-Nameserver. En lugar de forwardfirst también es posible poner forward only para que todas las consul-tas siempre se pasen sin acceder nunca a los root-Nameserver. Es unaopción razonable para una configuración con cortafuegos.

listen-on port 53 { 127.0.0.1; 192.168.0.1; }; indica las interfaces de red y elpuerto que debe utilizar BIND para atender a las peticiones DNS porparte de los clientes. Es posible suprimir port 53, ya que éste es el puer-to estándar. Al suprimir esta entrada completamente, BIND atiende entodas las interfaces de red.

query-source address * port 53; Cuando un cortafuegos bloquea las consul-tas DNS externas, es posible que esta entrada resulte útil, ya que BINDdeja de utilizar los puertos altos (> 1024) y realiza entonces las consul-tas hacia fuera desde el puerto 53.

allow-query { 127.0.0.1; 192.168.1/24; }; determina desde qué redes se per-miten hacer consultas DNS. /24 es una abreviación para la máscara dered, en este caso 255.255.255.0.

allow-transfer { ! *; }; determina qué computadora tíenen permiso para so-licitar el traslado de una zona. ! * hace que el traslado esté totalmenteprohibido. Suprimiendo esta entrada, cualquier computadora puede so-licitar el traslado de zona.

statistics-interval 0; Sin esta entrada Bind8 crea cada hora varias líneas condatos estadísticos en /var/log/messages . Indicando 0 los mensajesse suprimen; también es posible indicar el tiempo en minutos.

cleaning-interval 720; Esta opción indica el intervalo de limpieza de la cachede Bind8. Cada vez que se realiza esta acción se crea una entrada en/var/log/messages . El tiempo se indica en minutos y 60 minutos esel valor predeterminado.

238 DNS – Domain Name Service

Page 255: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

interface-interval 0; Bind8 busca continuamente interfaces de red nuevas ocanceladas, esta opción se suprime poniendo el valor en 0. De este mo-do bind8 solo atiende las interfaces que existían en el momento del ini-cio. Es posible indicar un intervalo en minutos; el valor predeterminadoes 60 minutos.

notify no; significa que no se notifica a ningún otro Nameserver el cambiode los datos de zona o cuando se reinicia el servidor de nombres.

El apartado de configuración Logging

Hay muchas posibilidades de protocolar eventos con Bind8. Normalmentela configuración predeterminada es suficiente. El ejemplo 35 es la forma mássencilla de una configuración que suprime el ”Logging” totalmente:

logging {category default { null; };

};

Fichero 35: Logging suprimido

Estructura de las entradas de zona

Después de zone se indica el nombre de dominio a administrar (en este casomi-dominio.es) seguido de in y un bloque de opciones entre corchetes; véaseel archivo 36

zone "mi-dominio.es" in {type master;file "mi-dominio.zone";notify no;

};

Fichero 36: Configuración de mi-dominio.es

Para definir una ”Slave-Zone” sólo hace falta cambiar type en slave e indicarun servidor de nombres que administra esta zona como master (igualmentepuede ser un ”slave”); véase el archivo 37 en la página siguiente.

239SuSE Linux – Enterprise Server 8

Page 256: Sles Admin Ipseries

zone "otro-dominio.es" in {type slave;file "slave/otro-dominio.zone";masters { 10.0.0.1; };

};

Fichero 37: Configuración para otro-dominio.es

Las opciones:

type master; master significa que esta zona se administra en este servidor denombres. Es algo que requiere un fichero de zona muy bien configura-do.

type slave; Esta zona se transfiere de otro servidor de nombres. Hay queusarlo junto con masters.

type hint; La zona . del tipo hint se utiliza para indicar los Root-Nameserver. Es una definición de zona que no se modifica.

file "mi-dominio.zone"; file "slave/otro-dominio.zone"; Esta entrada indicael fichero que contiene los datos de zona para el dominio. En caso deun slave no hace falta que el fichero exista, ya que se trae desde otroservidor de nombres. Para separar los ficheros de esclavo y de maestro,se indica slave como directorio de los ficheros slave.

masters { 10.0.0.1; }; Esta entrada sólo se requiere para zonas esclavo e indi-ca desde qué servidor de nombres se debe transferir el fichero de zona.

allow-update { ! *; }; Esta opción regula el acceso de escritura desde el ex-terior a los datos de zona. Es una opción que abre la posibilidad a losclientes de crear su propia entrada en el DNS cosa que, por razones deseguridad, no es deseable. Sin esta entrada las actualizaciones de zonaestán prohibidas, cosa que no cambia nada en este ejemplo, ya que ! *prohibe igualmente todo.

Sintaxis de los ficheros de zona

Existen dos tipos de ficheros de zona; el primero sirve para asignar la direc-ción IP a un nombre de computadora y el segundo entrega el nombre delordenador en función de una dirección IP. El símbolo del punto (’.’) tiene unsignificado importante en los ficheros de zona. A todos los nombres de com-putadoras que se indican sin el punto por detrás, se les añade la zona. Por

240 DNS – Domain Name Service

Page 257: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

eso es importante terminar con un ’.’ los nombres de las computadoras quese hayan anotado con el dominio completo. La falta o la posición equivoca-da de un punto suele ser la causa de error más frecuente en la configura-ción de un servidor de nombres. El primer ejemplo forma el fichero de zonasolar.zone que corresponde al dominio solar.sis ; véase el fichero 38.

1. $TTL 2D2. welt.all. IN SOA gateway root.solar.sis. (3. 2001040901 ; serial4. 1D ; refresh5. 2H ; retry6. 1W ; expiry7. 2D ) ; minimum8.9. IN NS gateway10. IN MX 10 sol11.12. gateway IN A 192.168.0.113. IN A 192.168.1.114. sonne IN A 192.168.0.215. mond IN A 192.168.0.316. erde IN A 192.168.1.217. mars IN A 192.168.1.3

Fichero 38: Fichero /var/named/solar.zone

Línea 1: $TTL define el TTL estándar, que vale para todas las anotacionesen este fichero y es en este caso de 2 días (2D = 2 days). TTL ”time tolive” es el tiempo de vencimiento.

Línea 2: Aquí comienza la parte del SOA control record:

En primer lugar figura el nombre del dominio a administrar so-lar.sis, terminado con un ’.’ para que no se añada otra vez el nom-bre de la zona. La alternativa es la de anotar el símbolo ‘@’ paraque se busque el nombre de la zona en /etc/named.conf .

Por detrás de IN SOA se anota el nombre del servidor de nombresque actúa como master para esta zona. En este caso el nombregateway se amplia a gateway.solar.sis, ya que no termina con unpunto.

Detrás sigue una dirección de E-mail de la persona que se encar-ga de este servidor de nombres. Como el símbolo ‘@’ ya tieneun significado especial, se lo reemplaza por un ’.’; en lugar de

241SuSE Linux – Enterprise Server 8

Page 258: Sles Admin Ipseries

[email protected] se escribe entonces root.solar.sis. . No se debe olvi-dar el punto al final para que no se añada la zona.

Al final hay un ‘(’ , para incorporar las siguientes líneas hasta el‘)’ con todo el SOA-Record.

Línea 3: El número de serie en la línea serial es un número al azar que de-be aumentarse después de cada modificación del fichero. El cambio delnúmero informa a los servidores de nombres secundarios sobre la mo-dificación. Es típico utilizar una cifra de diez dígitos formada por lafecha y de un número de orden en la forma AAAAMMDDNN.

Línea 4: El intervalo de refresco en la línea refresh indica el servidor denombres secundario cuando debe comprobar nuevamente la zona. Eneste caso es un día (1D = 1 day).

Línea 5: El intervalo de reintento en la línea retry indica cuánto tiempo des-pués el servidor de nombres secundario debe intentar conectar nueva-mente con el primario. En este caso son 2 horas (2H = 2 hours).

Línea 6: El tiempo de expiración en la línea expiry indica el tiempo despuésdel cual el servidor de nombres secundario debe descartar los datosdentro de la caché, cuando la conexión con el servidor primario hayadejado de funcionar. En este caso es una semana (1W = 1 week).

Línea 7: El tiempo mínimo de vida en la línea minimum indica cuanto tiem-po los otros servidores pueden mantener las consultas DNS hechas enla caché, antes de que éstas pierdan su validez y se deba consultar nue-vamente.

Línea 9: IN NS indica el servidor de nombres que se encarga de este do-minio. En este caso se convierte otra vez gateway en gateway.solar.sis,porque no se terminó con el punto. Puede haber varias líneas de es-te tipo, una para el servidor de nombres primario y otra para cadaservidor de nombres secundario. Con la variable notify dentro de/etc/named.conf en yes se informará de todos los servidores denombres aquí mencionados y de los cambios en los datos de zona.

Línea 10: El MX-Record indica el servidor de correo que recibe, procesa otraspasa los mails para el dominio solar.sis. En este ejemplo se trata dela computadora sol.solar.sis. La cifra por delante del nombre de compu-tadora es el valor de preferencia. Si existen varias entradas MX, primerose utiliza el servidor de correo con el valor de preferencia más bajo ysi la entrega del correo a este servidor falla, se utiliza el servidor con elsiguiente valor más alto.

242 DNS – Domain Name Service

Page 259: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Líneas 12-17: Estos son los registros de direcciones en los que se asignanuna o varias direcciones IP a una computadora. Todos los nombres seanotaron sin terminarlos con el punto ’.’, de tal forma que a todos seles añade solar.sis. La computadora con el nombre gateway tiene dosdirecciones IP asignadas, porque dispone de dos tarjetas de red.

Para la resolución inversa de direcciones IP (reverse lookup) se utiliza elpseudo-dominio in-addr.arpa. Éste se añade por detrás a la parte de redde la dirección IP escrita al revés. 192.168.1 se convierte así en 1.168.192.in-addr.arpa; véase 39.

1. $TTL 2D2. 1.168.192.in-addr.arpa. IN SOA gateway.solar.sis. root.solar.sis. (3. 2001040901 ; serial4. 1D ; refresh5. 2H ; retry6. 1W ; expiry7. 2D ) ; minimum8.9. IN NS gateway.solar.sis.10.11. 1 IN PTR gateway.solar.sis.12. 2 IN PTR tierra.solar.sis.13. 3 IN PTR marte.solar.sis.

Fichero 39: Resolución de nombres inversa

Línea 1: $TTL define el TTL estándar que sirve, en este caso , para todas lasconfiguraciones.

Línea 2: La resolución inversa (’reverse lookup’) se debe realizar para la red192.168.1.0. En este caso la zona se denomina 1.168.192.in-addr.arpa yeste sufijo no se debe añadir a los nombres de las computadoras, poreso todos los nombres terminan con el punto. Para el resto vale lo mis-mo, tal como se explicó en el ejemplo anterior de "solar.sis".

Línea 3-7: Véase el ejemplo anterior de "solar.sis".

Línea 9: Esta línea indica también el servidor de nombres que se respon-sabiliza de la zona pero en este caso se anota completamente con el ’.’como terminación.

243SuSE Linux – Enterprise Server 8

Page 260: Sles Admin Ipseries

Líneas 11-13: Aquí se encuentran los registros de los punteros que apun-ten de una dirección IP a un nombre. Al comienzo de la línea sólo seencuentra la última cifra de la dirección IP sin el punto ’.’ como ter-minación. Añadiéndole la zona y quitando mentalmente la parte ’.in-addr.arpa’, se obtiene la dirección IP completa en orden inverso.

Estos ficheros de zona se pueden utilizar de esta forma tanto para Bind8 co-mo para Bind9. Normalmente las transferencias de zonas entre las dos versio-nes no deberían representar ningún problema.

Información adicional

Documentación sobre el paquete bind8 : file:/usr/share/doc/packages/bind8/html/index.html .

Hay un ejemplo de configuración en:/usr/share/doc/packages/bind8/sample-config

página del manual de named (man 8 named), que menciona los RFCsmás importantes tal como la página del manual de named.conf(man 5 named.conf ).

244 DNS – Domain Name Service

Page 261: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

NIS – Network Information Service

Cuando en una red existen varios sistemas Unix que quieren acceder a recur-sos comunes, hay que asegurar la armonía de las identidades de usuarios yde grupos en todas las computadoras de la red. La red debe ser completa-mente transparente para el usuario; da igual en la computadora que traba-je, el usuario siempre debe encontrar el mismo entorno, lo cual se consiguemediante los servicios NIS y NFS; este último sirve para la distribución desistemas de ficheros en la red y se describe en el apartado NFS – Sistema deficheros distribuidos en la página 250.

NIS (ingl. Network Information Service), se puede entender como un servicio debanco de datos que da acceso a los ficheros /etc/passwd , /etc/shadow o/etc/group en toda la red. NIS puede prestar también servicios adicionales,p. ej. para /etc/hosts o /etc/services , pero estos no son objeto de dis-cusión aquí. Muchas veces se usan las letras ‘YP’ como sinónimo para NIS;éstas se derivan de las yellow pages, es decir, las páginas amarillas en la red.

Servidor NIS-Master y Slave

Para realizar la instalación, escoja en YaST2 la opción ‘Red/Ampliada’ y allí‘Configurar un servidor NIS’.

En caso de que aún no exista ningún servidor NIS en su red, en la siguien-te máscara que aparece debe activar el punto ‘Configurar un servidor masterNIS’. En caso de que ya exista un servidor NIS (es decir, un ”master”), puedeañadir un servidor slave NIS (p. ej. si quiere configurar una nueva subred).Lo primero que se detalla es la configuración del servidor master. En la pri-mera máscara de configuración (figura 9.4 en la página siguiente), introduzcaarriba el nombre del dominio. En la caja inferior, puede establecer si la com-putadora también debe ser un cliente NIS, es decir si los usuarios puedenrealizar logins y por tanto acceder a los datos del servidor NIS.

Si quiere configurar más servidores NIS (”servidores slave”) en la red mástarde, debe activar la caja ‘Disponer de servidor esclavo activo para NIS’.Además también debe activar ‘Distribución rápida de mapeo’, lo cual pro-voca que las entradas del banco de datos se envíen rápidamente del servidormaster al esclavo.

Si quiere permitir que los usuarios de la red puedan cambiar sus contrase-ñas (con el comando yppasswd , no sólo las locales sino también las que seencuentran en el servidor NIS), puede activar esta opción aquí. Entonces tam-bién se activarán las opciones ‘Permitir el cambio de GECOS’ y ‘Permitir el

245SuSE Linux – Enterprise Server 8

Page 262: Sles Admin Ipseries

Figura 9.4: YaST2: Herramienta de configuración de un servidor NIS

cambio de SHELL’. ”GECOS” significa que el usuario también puede modi-ficar su nombre y dirección (con el comando ypchfn ). ”SHELL” quiere decirque también puede modificar su shell (con el comando ypchsh , p. ej.de basha sh).

Si escoge ‘Otras configuraciones globales...’, aparecerá un menú (Figura 9.5 enla página siguiente), en el que se puede modificar el directorio estándar(/etc ). Además aquí también se pueden reunir contraseñas y grupos. Laconfiguración se debe dejar en ‘Sí’, para que los archivos correspondientes(/etc/passwd y /etc/shadow , ó /etc/group y /etc/gshadow ) concuer-den mutuamente. Además se puede establecer el número más pequeño deusuarios y grupos. Con ‘OK’ vuelve a la máscara anterior. Aquí haga clic en‘Siguiente’.

Si ya ha activado ‘Disponer de servidor esclavo activo para NIS’, ahora debeintroducir el nombre de la computadora que hará las veces de esclavo. Trasdar el nombre, diríjase a ‘Siguiente’. También puede acceder directamente almenú que aparece a continuación si no ha activado la configuración del servi-dor esclavo. A continuación vienen los ”maps”, es decir, los bancos de datosde texto que se deben enviar del servidor NIS al cliente correspondiente. Enla mayoría de los casos, aquí son importantes las configuraciones predetermi-nadas. Por eso, en casos normales no debe cambiar nada. Para realizar algunamodificación, debe ser un gran conocedor de la materia.

246 NIS – Network Information Service

Page 263: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Figura 9.5: YaST2: Servidor NIS: Cambiar directorios y sincronizar ficheros

Con ‘Siguiente’ se llega al último diálogo, en el que se establece qué red pue-de realizar solicitudes al servidor NIS (ver figura 9.6 en la página siguiente).Normalmente se trata de la red de su empresa, por lo que deberá introducir:

255.0.0.0 127.0.0.0

0.0.0.0 0.0.0.0

La primera permite las conexiones desde la propia computadora; la segundahace posible que todas las computadoras que tienen acceso a la red solicitenal servidor.

El módulo del ciente NIS en YaST2

Con este módulo puede configurar fácilmente el cliente NIS. En la ventanade inicio, puede indicar el NIS que quiere utilizar. En la siguiente ventana dediálogo, puede introducir el dominio NIS y el número IP del servidor NIS..La opción ‘Broadcast’ le permite buscar un servidor NIS en la red cuando elindicado no responde. También puede añadir múltiples dominios con un do-minio por defecto. Para cada dominio, con la opción ‘Añadir’ puede indicarmás servidores e incluso la función broadcast.

247SuSE Linux – Enterprise Server 8

Page 264: Sles Admin Ipseries

Figura 9.6: YaST2: Servidor NIS: Permiso de solicitud

Configuración manual de un cliente NIS

El paquete ypbind contiene todos los programas necesarios para la configu-ración de un cliente NIS. Esta requiere de los siguientes pasos:

Defina el dominio NIS en el fichero /etc/defaultdomain . No con-funda el nombre de dominio NIS con el del dominio DNS . ¡Estos pue-den ser iguales pero no tienen nada que ver el uno con el otro!

El nombre del servidor NIS se define en el fichero /etc/yp.conf :

ypserver 192.168.0.1

Es necesario que se pueda resolver el nombre del servidor NIS (p. ej.sol .cosmos.univ ) con /etc/hosts .

Hay que asegurarse de que se inicia el RPC-Portmapper.

El funcionamiento de NIS se realiza a través de RPC (ingl. Remote Pro-cedure Calls), por eso es necesario que el RPC-Portmapper esté iniciado.Este servidor se arranca mediante el script /etc/init.d/portmap .

248 NIS – Network Information Service

Page 265: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Suplementos a las entradas en /etc/passwd y /etc/group .

Los ficheros en cuestión deben llevar una línea suplementaria que co-mience con el símbolo ‘+’ , para que la computadora pase una solicitudal servidor NIS después de haber buscado en los ficheros locales.

En el fichero /etc/sysconfig/ypbind puede activar muchas opcio-nes adicionales de NIS.

El último paso en la configuración del cliente NIS es el inicio del pro-grama ypbind, que representa el verdadero arranque del cliente NIS.

Se arranca la computadora de nuevo, o bien, se inician nuevamente losservicios necesarios con los comandos:

tierra: # rcnetwork restart

tierra: # rcypbind restart

249SuSE Linux – Enterprise Server 8

Page 266: Sles Admin Ipseries

NFS – Sistema de ficheros distribuidos

Como ya se ha mencionado en el apartado 9 en la página 245, el servicio NFSsirve, junto con el servicio NIS, para hacer una red transparente al usuario.NFS consiente la distribución de sistemas de fichero en la red, lo que permiteal usuario encontrar siempre el mismo entorno, independientemente de lacomputadora en la que trabaje.

Al igual que NIS, NFS es un servicio asimétrico de estructura cliente-servidor,pero a diferencia de este, NFS puede ofrecer sistemas de fichero a la red (”ex-portar”) y a su vez montar los de otras computadoras (”importar”). Normal-mente son sólo los servidores los que exportan sistemas de ficheros, ya queson estos los que tienen una gran capacidad de almacenamiento de datos.

Importar sistemas de ficheros con YaST2

Todo usuario (al que le han asignado ciertos derechos), puede distribuir di-rectorios NFS de servidores NFS en su propio árbol de ficheros. La formamás fácil de hacer esto es mediante el módulo ‘Cliente NFS’ que aparece enYaST2. Allí se debe introducir el nombre de host de la computadora que hacelas veces de servidor NFS, el directorio a exportar del servidor, y el punto demontaje en el que se debe montar la computadora. En la primera ventana dediálogo escoja ‘Añadir’ e introduzca lo ya mencionado (ver figura 9.7).

Figura 9.7: Configuración de un cliente NFS

Importación manual de sistemas de ficheros

Importar sistemas de ficheros desde un servidor NFS es muy simple y tie-ne como única condición el inicio del RPC-Portmapper. La manera de iniciar

250 NFS – Sistema de ficheros distribuidos

Page 267: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

este servidor ya se explicó en el contexto de NIS (ver apartado Configuraciónmanual de un cliente NIS en la página 248). De este modo es posible incorpo-rar sistemas de ficheros externos al sistema de ficheros local, análogamente ala incorporación de discos locales, usando el comando mount ; el sistema deficheros externo a montar debe ser exportado debidamente por la máquinaservidora. La sintaxis de mount es la siguiente:

mount -t nfs 〈computadora 〉: 〈path remota 〉 〈path local 〉Se pueden importar p. ej. los directorios de usuario de la computadora solcon el siguiente comando:

tierra: ~ # mount -t nfs sol:/home /home

Exportar sistemas de ficheros con YaST2

Con YaST2 puede convertir rápidamente una computadora de su red en unservidor NFS, la cual pone a disposición de todas las computadoras a las queha otorgado acceso un servidor, directorios y archivos. Muchas aplicacionespueden p. ej. ponerse a disposición del resto de trabajadores sin que sea nece-sario instalarlas en su computadoras personales.

Para realizar la instalación, escoja en YaST2 la opción ‘Red/Ampliada’ y allí laopción ‘servidor NFS’ .

En el siguiente paso puede activar la opción ‘Arrancar el servidor NFS’ y ha-ga clic en ‘Siguiente’

Ahora ya sólo queda un paso. En el campo superior introduzca los directo-rios que deben exportarse y en el inferior las computadoras de la red a lasque se las permite el acceso (figura 9.8 en la página siguiente). Existen cua-tro opciones disponibles para las computadoras: 〈single host〉, 〈netgroups〉,〈wildcards〉 y 〈IP networks〉. Puede encontrar explicaciones más detalladas deestas opciones en las páginas man paquete exports (man exports ).

Con ‘Fin’ cierra la ventana de configuración.

Exportar manualmente sistemas de ficheros

En un servidor NFS, deben encontrarse los siguientes servicios activados (enejecución):

RPC-Portmapper (portmap)

RPC-Mount-Daemon (rpc.mountd)

251SuSE Linux – Enterprise Server 8

Page 268: Sles Admin Ipseries

Figura 9.8: YaST2: Servidor NFS: Introducir el host y los directorios de exportación

RPC-NFS-Daemon (rpc.nfsd)

Los scripts /etc/init.d/portmap y /etc/init.d/nfsserver inician los daemonscuando la computadora arranca.

Aparte de iniciar estos daemons es preciso definir cuáles sistemas de fiche-ros se deben exportar a cuáles computadoras. Esto se realiza con el fichero/etc/exports .

Por cada directorio a exportar se necesita una línea que constate cuál com-putadora debe acceder a él y de qué forma; los sub-directorios se exportanautomáticamente. Las computadoras con permiso de acceso se indican ge-neralmente por sus nombres (con el nombre del dominio incluido). Tambiénpuede usar los Comodines ‘*’ y ‘?’ con sus funciones conocidas de la shellbash. Si no se indica ningún nombre, cada computadora tiene la posibilidadde montar el directorio con los derechos de acceso indicados para el mismo.

Los derechos de exportación del directorio se indican en paréntesis en unalista detrás del nombre de computadora. La siguiente tabla resume las opcio-nes de acceso más importantes.

252 NFS – Sistema de ficheros distribuidos

Page 269: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Opciones Usoro Exportación sólo con derecho de lectura (por defecto).

rw Exportación con derecho de escritura y lectura.

root_squash Esta opción hace que el usuario root de la computa-dora indicada, no tenga sobre el directorio los derechosespeciales típicos para root . Esto se logra modificandolos accesos con la identidad de usuario (ingl. User-ID) 0al de 65534 (-2) . Esta identidad debe estar asignadaal usuario nobody (es así por defecto).

no_root_squash Ninguna modificación de los derechos de root .

link_relative Modificación de enlaces simbólicos absolutos (aquellosque comienzan con ‘/’ ) a una secuencia de ‘../’ .Esta opción solo tiene sentido si se monta el sistemade ficheros completo de una computadora (es así pordefecto).

link_absolute No se modifican los enlaces simbólicos.

map_identity El cliente usa la misma identidad (ingl. User-ID) que elservidor (es así por defecto).

map_daemon Las identidades de usuario, de cliente y de servidor,no coinciden. Con esta opción el nfsd genera una tablapara la conversión de las identidades de usuario. Elrequisito para ello es la activación del daemon ugidd.

Cuadro 9.12: Derechos de acceso a directorios exportados

El fichero 40 muestra un ejemplo de un fichero exports .

## /etc/exports#/home sol(rw) venus(rw)/usr/X11 sol(ro) venus(ro)

253SuSE Linux – Enterprise Server 8

Page 270: Sles Admin Ipseries

/usr/lib/texmf sol(ro) venus(rw)/ tierra(ro,root_squash)/home/ftp (ro)

# End of exports

Fichero 40: /etc/exports

Los programas mountd y nfsd leen el fichero /etc/exports . Después dehaberlo modificado, es preciso reiniciar mountd y nfsd para que los cambiosse activen. Lo más sencillo para conseguirlo es introducir del comando:

tierra: ~ # rcnfsserver restart

254 NFS – Sistema de ficheros distribuidos

Page 271: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

DHCP

El protocolo DHCP

El denominado ”Dynamic Host Configuration Protocol” tiene como funciónproveer configuraciones desde un servidor en la central de la red, para notener que hacerlo de forma descentralizada, desde cada estación de trabajo.Un cliente que ha sido configurado con DHCP no posee direcciones estáticassi no que se configura totalmente a sí mismo según las especificaciones delservidor DHCP.

Existe la posibilidad de identificar a cada cliente y proveerle siempre con lamisma configuración mediante la dirección de hardware de su tarjeta de red(por lo general definida de forma fija), así como otorgar a cada computado-ra ”interesada” las direcciones, desde un conjunto determinado para ello deforma”dinámica”. De ser este el caso, el servidor DHCP procurará otorgarsiempre la misma dirección (igualmente a lo largo de grandes espacios detiempo) – claro que esto no funcionará si en la red hay más computadorasque direcciones.

De esta forma el administrador del sistema podrá sacarle provecho a DHCPde dos formas. Por una parte es posible realizar de forma central, cómoda ypor sí mismo grandes modificaciones, sean estas de configuración y/o de di-recciones de red desde el fichero de configuración del servidor DHCP y todoello sin tener que configurar uno a uno cada cliente. Por otra parte y sobretodo, se pueden integrar fácilmente nuevas computadoras a la red, debien-do otorgárseles desde el conjunto de direcciones un determinado número IP.También es de gran interés, para portátiles que operan de forma regular envarias redes, la posibilidad de obtener la configuración de red apropiada delrespectivo servidor DHCP.

Además de otorgar al cliente la dirección IP y la máscara de red se le entre-garán también el nombre de la computadora y del dominio, la pasarela (gate-way) a ser usada y las direcciones de los servidores de nombres.

Además también se pueden configurar de forma central algunos parámetros,como p. ej. un servidor horario (ingl. Timeserver), desde el cual se puede acce-der a la hora actual

A continuación le ofrecemos, sin entrar mucho en detalles, una descripcióngeneral del mundo de DHCP. También deseamos mostrarle, con ayuda dedhcpd (servidor DHCP), cómo se puede realizar sencillamente toda la confi-guración de su red de forma central mediante DHCP.

255SuSE Linux – Enterprise Server 8

Page 272: Sles Admin Ipseries

Los paquetes de software DHCP

En SuSE Linux 7.2 se encuentran tres paquetes relevantes para DHCP.

El primero es el servidor DHCP dhcpd , que se encarga de otorgar y adminis-trar las configuraciones adecuadas de la red. Este servidor ha sido elaboradopor el consorcio de software para Internet. Mientras que por lo general sóloentra en consideración dhcpd como servidor para SuSE Linux, como clientesDHCP tenemos dos alternativas de elección. Por un lado, se encuentra dhcp-client, también realizado por ISC, y por el otro lado el denominado ”DHCPClient Daemon”, incluido en el paquete dhcpcd .

En SuSE Linux 7.2, dhcpcd está instalado de forma estándar y su manejo esmuy sencillo. Ya durante el arranque de la computadora éste se ejecuta deforma automática y busca un servidor DHCP. A dhcpcd no le hace falta unarchivo de configuración y normalmente funciona sin ninguna configuraciónadicional.

Para situaciones más complejas se puede usar el dhclient de ISC, el cual secontrola desde el fichero de configuración /etc/dhclient.conf . El usua-rio experto se encontrará con un gran abanico de posibilidades para poderconfigurar en detalle dhclient según sus necesidades, ya sea para añadir undominio adicional en la lista de búsqueda o para emular un cliente DHCP deMicrosoft.

El servidor DHCP: dhcpd

El Dynamic Host Configuration Protocol Daemon es el corazón de todo sistemaDHCP. Éste se encarga de ”alquilar” direcciones y de vigilar su uso como es-té estipulado en el archivo de configuración /etc/dhcpd.conf . El adminis-trador del sistema puede determinar según sus preferencias el comportamien-to del DHCP mediante los parámetros y valores definidos en este archivo.

Un ejemplo para un fichero /etc/dhcpd.conf sencillo:

default-lease-time 600; # 10 minutesmax-lease-time 7200; # 2 hours

option domain-name "cosmos.sol";option domain-name-servers 192.168.1.1, 192.168.1.2;option broadcast-address 192.168.1.255;option routers 192.168.1.254;option subnet-mask 255.255.255.0;

256 DHCP

Page 273: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

subnet 192.168.1.0 netmask 255.255.255.0{

range 192.168.1.10 192.168.1.20;range 192.168.1.100 192.168.1.200;

}

Fichero 41: El fichero de configuración /etc/dhcpd.conf

Este sencillo fichero de configuración es suficiente para que DHCP puedaotorgar direcciones IP en su red. Tenga especial cuidado con los puntos ycoma al final de cada línea. ¡Sin ellos dhcp no arrancará!

Como se puede observar, el anterior ejemplo puede dividirse en tres bloques.

En la primera parte se define de forma estándar cuántos segundos se ”alqui-lará” una dirección IP a una computadora que quiere una, antes de que éstase tenga que ocupar de pedir una prórroga (default-lease-time ). Aquítambién se define cuánto tiempo puede conservar una computadora comomáximo un número IP, otorgado por el servidor DHCP, sin tener que tramitarpara ello una prórroga (max-lease-time).

En el segundo bloque se definen globalmente algunos parámetros de red bá-sicos:

Con option domain-name se define el dominio por defecto de sured.

En option domain-name-servers se pueden introducir hasta tresservidores DNS, que se encargarán de distribuir direcciones IP en nom-bre de host (y viceversa). Lo ideal sería que en su sistema o en su redhubiese ya un servidor de nombres en funcionamiento, que también tu-viese listo a su vez un nombre de host para las direcciones dinámicasy viceversa. Obtendrá más información sobre la creación de un propioservidor de nombres en el capítulo sobre DNS.

option broadcast-address define qué dirección Broadcast debeusar la computadora que efectúa la consulta.

option routers define dónde deben ser enviados los paquetes dedatos que no pueden ser entregados en la red local (a causa de la direc-ción del host de origen y el host de destino así como de la máscara desubred). Este router es por lo general en pequeñas redes la pasarela aInternet.

option subnet-mask da al cliente la plantilla de red a ser entregada.

257SuSE Linux – Enterprise Server 8

Page 274: Sles Admin Ipseries

Por debajo de esta configuración general se define una red con su más-cara de subred y después no hace falta nada más que seleccionar un ran-go de direcciones que utiliza el daemon DHCP para asignar direcciones IPa clientes que lo consultan. Para el ejemplo dado, son todas las direccio-nes entre 192.168.1.10 y 192.168.1.20 y también en el rango de192.168.1.100 hasta 192.168.1.200 .

Después de esta corta configuración, ya debería ser posible iniciar eldaemon DHCP mediante el comando rcdhcpd start . Igualmente esposible controlar la sintaxis de la configuración mediante el comandorcdhcpd syntax-check . Si hay algún problema y el servidor da un erroren lugar de indicar ”done”, el fichero /var/log/messages tal como la con-sola 10 (

�� ��Control +�� ��Alt +

�� ��F10 ) dan más información.

¡Felicidades por haber conseguido un servidor DHCP propio!

Computadora con dirección IP fija

Después de conseguir la asignación de direcciones dinámicas hace falta pro-fundizar en el tema de la asignación de direcciones estáticas. Como ya seha mencionado, también existe la posibilidad de asignar a una determinadacomputadora en cada consulta la misma dirección IP.

La asignación fija de una dirección a una computadora tiene prioridad a laasignación de las direcciones desde un conjunto de direcciones dinámicas.En comparación a las direcciones dinámicas, las fijas no se pierden, tampococuando ya no quedan direcciones y se requiere de una redistribución de lasmismas.

Para identificar una computadora que debe obtener una dirección estática,DHCPD utiliza la dirección de hardware. Esta es una dirección única en elmundo para identificar las interfases de red. Se compone de seis grupos dedos cifras hexadecimales, p. ej.00:00:45:12:EE:F4 .

Al ampliar el fichero de configuración que se refleja en el extracto 41 en lapágina 256 por una entrada como se ve en el extracto 42, DHCPD siempreentrega los mismos datos a la computadora correspondiente.

host tierrahardware ethernet 00:00:45:12:EE:F4;fixed-address 192.168.1.21;

258 DHCP

Page 275: Sles Admin Ipseries

9Fun

da

me

nto

sd

ec

on

exió

na

red

es

Fichero 42: Extensiones del fichero de configuración

El significado de estas líneas prácticamente se explica por sí mismo:

Primero aparece el nombre DNS de la computadora (host hostname) y en la lí-nea siguiente se define la dirección MAC. Es muy fácil de averiguar en Linuxejecutando el comando ifstatus seguido de la interfaz de red (p. ej.eth0).Dado el caso antes tiene que activar la tarjeta: ifup eth0 . Este comandoproduce una salida como: "link/ether 00:00:45:12:EE:F4".

Siguiendo el ejemplo expuesto, la computadora con la dirección MAC00:00:45:12:EE:F4 recibe automáticamente la dirección IP192.168.1.21 y el nombre tierra .

Como tipo de hardware hoy en día se suele utilizar ethernet , pero tampocohay problemas con token-ring que se encuentra en muchos sistemas deIBM.

Más información

Tal como se ha mencionado al principio, el capítulo no pretende más que in-troducir al lector en el mundo de DHCP. En la página web del Internet Soft-ware Consortium (http://www.isc.org/products/DHCP/ ) se encuen-tra información detallada sobre DHCP y sobre la versión 3 de este proto-colo que actualmente se está desarrollando. A parte de esto existen las pá-ginas man como man dhcpd , man dhcpd.conf , man dhcpd.leases yman dhcp-options . También hay una serie de libros en el mercado quedetallan las posibilidades del Dynamic Host Name Configuration Protocol.

Otra característica interesante de dhcpd es la posibilidad de entregar un fi-chero con un kernel a los clientes que lo consulten. Es algo que se define me-diante el parámetro filename en el fichero de configuración. Así se puedenconfigurar clientes sin disco duro y cargar el sistema operativo tal como losdatos, exclusivamente a través de la red. Es algo que puede resultar muy in-teresante por razones de costo y de seguridad.

259SuSE Linux – Enterprise Server 8

Page 276: Sles Admin Ipseries
Page 277: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

Redes heterogéneas

Este capítulo le proporciona la información necesaria para lograr que susequipos Linux puedan comunicarse con el mundo Windows y Macintosh.

Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Netatalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

Page 278: Sles Admin Ipseries

Samba

Con la ayuda del programa Samba, del australiano Andrew Tridgell, es posi-ble hacer de cualquier computadora Unix un servidor de ficheros y de impre-sión potente, con clientes que corren bajo DOS o Windows. Desde el comien-zo de su desarrollo en 1991, Samba se ha convertido en un producto muyestable ocupando un sitio fijo en el mundo empresarial, donde se usa comocomplemento o incluso como reemplazo de los servidores Novell NetWare oWindows NT.

Samba es ya un producto muy completo y, por eso, aquí nos centramosexclusivamente en su funcionalidad. Sin embargo el software viene conuna completa documentación digital, compuesta por un lado de páginasde manual – escriba apropos samba en la línea de comandos – y porotro de documentos y ejemplos que se instalaron en su sistema junto conSamba – en /usr/share/doc/packages/samba . Allí, en el subdirecto-rio examples también encontrará un ejemplo de configuración comentado/smb.conf.SuSE .

Samba usa el protocolo SMB (Server Message Block) de la empresa Microsoft.Este protocolo aprovecha los servicios de NetBIOS. Por la insistencia de laempresa IBM, Microsoft publicó el protocolo para que otras empresas pudie-ran desarrollar software para conectar a una red con dominios de Microsoft.Como Samba usa el protocolo SMB sobre TCP/IP, en todos los clientes se de-be instalar el protocolo TCP/IP. Le recomendamos utilizar TCP/IP de formaexclusiva.

NetBIOS

NetBIOS es una interfaz para programas de aplicación (ingl. Application Pro-gram Interface, API), que se diseñó para la comunicación entre computado-ras. Entre otros, ofrece un servicio de nombres (ingl. name service) medianteel cual las computadoras se identifican entre sí. No existe ningún control cen-tralizado para otorgar o controlar los nombres. Cada computadora puede re-servar en la red tantos nombres como quiera, mientras no se haya adelantadootra.

Se puede implementar la interfaz NetBIOS sobre diferentes arquitecturas dered. Hay una implementación que se encuentra relativamente ”cerca” al hard-ware de red llamada NetBEUI. NetBEUI es lo que se denomina frecuentemen-te como NetBIOS.

Protocolos de red que se han implementado son NetBIOS son IPX (NetBIOSvía TCP/IP) de Novell y TCP/IP.

262 Samba

Page 279: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

Los nombres de NetBIOS no tienen nada en común con aquellos asignadosen el fichero /etc/hosts o por DNS – NetBIOS es un área de nombres com-pletamente propio. Esto es válido también para los nombres que se asignanen la implementación de NetBIOS mediante TCP/IP. Sin embargo, para sim-plificar la administración se recomienda usar, como mínimo para los servi-dores, nombres de NetBIOS equivalentes a los del DNS. Samba lo hace pordefecto.

Los clientes

Todos los sistemas operativos usuales de PCs como DOS, Windows y OS/2soportan el protocolo SMB. Las computadoras deben tener TCP/IP instalado.Samba se puede utilizar también para los diferentes versiones de UNIX.

Los servidores SMB ofrecen a los clientes espacio en disco en forma de ”Sha-res”. Un Share es un directorio en el servidor con todos los sub-directorios.Este se exporta con su nombre y los clientes pueden acceder a él bajo estenombre. El nombre del Share es completamente libre, no hace falta que coin-cida con el nombre del directorio exportado. De la misma manera se asignaun nombre a una impresora exportada, para que los clientes puedan accedera ella.

Instalación y configuración del servidor

Primero hay que instalar el paquete samba. Para iniciar Samba manualmen-te se utiliza el comando rcsmb start y con rcsmb stop los servicios separan.

El fichero de configuración central de Samba es /etc/samba/smb.conf ,que sirve para configurar todos los servicios de Samba.

El fichero de configuración /etc/samba/smb.conf se compone básicamen-te de dos secciones: la sección [global] y la [share] . La primera secciónsirve para las configuraciones globales y la segunda determina las autoriza-ciones de acceso a ficheros e impresoras. Un determinado valor dentro de lasección [share] que debe ser válido para todos los grupos se puede pasar a lasección [globals]. Puesto que este fichero se utilizar muy a menudo duranteel funcionamiento, es mejor mantener el fichero breve y libre de comentariospara que el servidor Samba trabaje con más rapidez.

Finalmente se explicarán algunos parámetros con más detalle,

263SuSE Linux – Enterprise Server 8

Page 280: Sles Admin Ipseries

Sección global mediante la configuración de ejemplo

Los siguientes parámetros de la sección global residen en su red para que suservidor Samba en una red Windows puede ser accesible desde otros sistemasvía SMB.

workgroup = TUX-NET Con esta línea, el servidor Samba asignará ungrupo de trabajo. Para el funcionamiento, acomode TUX-NET al grupode trabajo que tenga a su disposición o configure su cliente con el valorque se encuentra aquí. En esta configuración su servidor Samba aparececon su nombre DNS en el grupo de trabajo elegido, siempre que no sehaya cedido el nombre.

Si ya se ha adjudicado el nombre, puede establecer algo diferente delnombre DNS mediante netbiosname=MEINNAME . Los detalles de esteparámetro están disponible vía man smb.conf .

os level = 2 En función de este parámetro el servidor Samba decide siquiere convertirse en un LMB (ingl. Local Master Browser) para su gru-po de trabajo. Se ha escogido un valor bajo en el ejemplo a propósitopara que la red de Windows disponible no se vea perturbada por unservidor Samba mal configurado. Puede encontrar más detalles sobreeste tema tan importante en los ficheros BROWSING.txt y BROWSING-Config.txt que se encuentran en el subdirectorio textdocs de la docu-mentación del paquete.

Si no hay en funcionamiento un servidor SMB — p. ej.Windows NT,2000 Server — y el servidor Samba debe ordenar los nombres de lossistemas disponibles en la red local, aumente os level a un valor másalto (p. ej.65), para conseguir convertirse en LMB.

Tenga mucho cuidado al modificar este valor, ya que puede perturbarel funcionamiento de una red Windows ya disponible. Hable con el ad-ministrador, pruebe los cambios primero en una red aislada o en mo-mentos críticos.

wins support y wins server Si quiere integrar el servidor Samba en unared Windows ya disponible en la que existe un servidor WINS, debeactivar el parámetro wins server eliminando el punto y coma, y acomo-dando la dirección IP a sus características.

Sus sistemas Windows funcionarán en subredes separadas si observaque no existe un servidor WINS en la red Windows y su servidor Sam-ba debe convertirse en el servidor WINS. Para ello active la línea conwins support = yes. Compruebe que este parámetro se activa exclusiva-mente para un servidor Samba. Además no se debe activar wins serveren este entorno.

264 Samba

Page 281: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

Autorizaciones de acceso

En los siguientes ejemplos se libera por una parte la unidad de CD-ROM ypor otra los directorios del usuario homes para el cliente SMB.

CD-ROM

;[cdrom]; comment = Linux CD-ROM; path = /media/cdrom; locking = no

Fichero 43: Acceso al CD-ROM

Para impedir el acceso libre a un CD-ROM por error, todas las líneas corres-pondientes de esta autorización de acceso se encuentran desactivada.

[cdrom] y [comment] La sección [cdrom] es el nombre de la autoriza-ción de acceso visible al cliente SMB. Con [comment] se puede dar unadescripción de la autorización al cliente.

path = /media/cdrom Con path se exporta el directorio /media/cdrom .

Debido a una configuración hecha restrictiva a propósito, este tipo de auto-rizaciones de acceso sólo están disponibles para el usuario que se encuentreen el sistema. Si debe estar disponible para todo el mundo, añada otra líneaguest ok = yes. Debido a las posibilidades de lectura que ofrece, se debe te-ner mucho cuidado con esta configuración y utilizarla solamente en autoriza-ciones escogidas. Se ha de tener un cuidado especial en la sección [global].

La autorización [home] tiene un significado especial: Si el usuario en cuestióndispone de una cuenta válida en el servidor de ficheros y de un directoriopersonal en el mismo, es posible conectarse a este directorio mediante nom-bre y contraseña.

[homes]comment = Home Directoriesvalid users = %Sbrowseable = nowriteable = yescreate mask = 0640directory mask = 0750

Fichero 44: homes de autorizaciones

265SuSE Linux – Enterprise Server 8

Page 282: Sles Admin Ipseries

[homes] Mientras no exista una autorización de acceso expresa con elnombre de autorización del usuario asociado, se creará una autorizaciónde forma dinámica debido a la autorización [homes]. El nombre de estaautorización será idéntica al nombre de usuario.

valid users = %S %S será reemplazada por el nombre concreto de la au-torización tras haber realizado la conexión adecuadamente. Puesto quela autorización [homes] siempre es idéntica al nombre de usuario, losusuarios autorizados están restringidos como dueños del directorio deuso. Esta es una posibilidad para permitir el acceso al dueño solamente.

browseable = no Con esta configuración no aparecerá la autorización[homes] en la lista de autorizaciones.

writeable = yes En la configuración predeterminada, Samba deniegael permiso de escritura a autorizaciones exportables, read only = yes.Si un directorio debe tener también permiso de escritura, dé el valorwriteable = yes. En directorios de uso esto suele ser lo deseable.

create mask = 0640 Las computadoras Windows no conocen el conceptode permisos de acceso de Unix. Por lo tanto, al crear los ficheros, nopueden establecer los permisos de acceso correspondientes.El parámetro create mask establece los permisos de acceso que corres-ponden a los ficheros. Esto sólo es válido para autorizaciones en las quese pueda escribir. En concreto, al dueño se le permitirá leer y escribir,y a los componentes del mismo grupo sólo la lectura. Compruebe quevalid users = %S impide la lectura a los miembros del grupo.

Niveles de seguridad

El protocolo SMB viene del mundo DOS y contempla los problemas de segu-ridad directamente. Todos los accesos a un share se protegen con una contra-seña. Para realizarlo, SMB ofrece tres posibilidades:

”Share Level Security” En este caso cada share tiene una contraseña fija.Cada persona que conoce la contraseña tiene acceso al share.

”User Level Security” Esta variante introduce el concepto de usuarioSMB. Cada usuario tiene que darse de alta en el servidor con una con-traseña propia. Después de la autentificación, el servidor puede otor-gar derechos de acceso a los distintos shares exportados en función delnombre de usuario.

266 Samba

Page 283: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

”Server Level Security” Samba aparenta frente a los clientes trabajaren el ”User Level Mode”, pero en realidad pasa todas las peticiones deentrada a otra computadora que se encarga de la autentificación. Estaconfiguración requiere de un parámetro adicional (password server =).

La decisión sobre el tipo de autentificación es algo que afecta a todo el servi-dor. No es posible exportar algunos shares en modalidad ”Share Level Secu-rity” y otros en ”User Level Security”.

El fichero textdocs/security_level.txt contiene más información alrespecto.

TrucoExiste un programa denominado swat que permite administrar fácil-mente el servidor samba, ya que ofrece una interfaz de web sencillapara configurarlo cómodamente. Dentro de un navegador introduzcahttp://localhost:901 y entre al sistema como root. Hay que con-siderar que swat se activa también en los fichero /etc/inetd.conf y/etc/services . Hay más información acerca de este programa en lapágina del manual de swat (man swat ).

Truco

Samba como servidor de dominio

En redes con gran cantidad de clientes Windows, se prefiere que los usuariossólo puedan acceder a los recursos con su nombre de usuario y una contra-seña. Un servidor Samba puede realizar esta autentificación. En una red to-talmente de Windows un servidor de Windows-NT se encarga de esta tareacuando está configurado como Primary Domain Controller (PDC). Para rea-lizarlo con Samba introduzca lo siguiente dentro de la sección [globals] ensmb.conf .

[global]workgroup = TUX-NETdomain logons = yesdomain master = yes

Fichero 45: La sección global en smb.conf

267SuSE Linux – Enterprise Server 8

Page 284: Sles Admin Ipseries

Para usar contraseñas encriptadas, hay que configurar el servidor Samba detal forma que sepa manejarlas. Esto se realiza mediante la entradaencrypt passwords = yes dentro de la sección [globals]. Además, las cuentasde los usuarios y las contraseñas se deben encriptar en una forma que Win-dows entienda; se puede realizar mediante el comando smbpasswd -a name.Según el concepto de dominio de Windows NT, las propias computadorasnecesitan una cuenta de dominio que se genera mediante los siguientes co-mandos:

useradd nombre_computadora$smbpasswd -a -m nombre_computadora

Fichero 46: Creación de una cuenta de computadora

En el caso del comando useradd se ha añadido el símbolo del dólar, mientrasque el comando smbpasswd añade este carácter automáticamente al usar elparámetro -m.

En el ejemplo de configuración comentado se encuentran configuraciones queautomatizan este trabajo.

add user script = /usr/sbin/useradd -g machines \-c "NT Machine Account" -d \/dev/null -s /bin/false %m$

Fichero 47: Creación automática de una cuenta

Instalación de los clientes

Primero hay que mencionar que los clientes sólo pueden acceder al servidorSamba vía TCP/IP. Actualmente no es posible usar con Samba NetBEUI oNetBIOS sobre IPX, pero como TCP/IP está ganando cada vez más terreno –incluso en las aplicaciones de Novell y de Microsoft – es bastante cuestiona-ble si esto cambiará algún día.

Windows 95/98

Windows 95/98 trae el soporte de TCP/IP incorporado, pero al igual queWindows 3.11 no se instala con la configuración por defecto. Para la instala-ción de TCP/IP en un Windows ya instalado, se selecciona el icono de red en

268 Samba

Page 285: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

el panel de control y después ‘Agregar...’, ‘Protocolo’ TCP/IP de Microsoft.¡Debe indicarse correctamente la dirección y máscara de red! Después del rei-nicio de la computadora con Windows puede encontrar el servidor Samba enel entorno de red (doble clic con el ratón sobre el icono correspondiente en elescritorio).

TrucoPara usar una impresora conectada al servidor Samba, se recomiendainstalar en el cliente el driver general para impresoras PostScript o elusado para impresoras Postscript de Apple (se usan los drivers quevienen junto con la versión de Windows). Después se conecta con lacola de impresión de Linux, que contiene el reconocimiento automáticocon apsfilter.

Truco

Optimización

socket options ofrece una posibilidad de optimización. La configuraciónpredeterminada del ejemplo de configuración incluido está orientada auna red Ethernet local. Más detalles en página del manual de smb.conf(man smb.conf ) en la sección socket options y en página del manual desocket(7) (man socket(7) ). Más información en textdocs/Speed.txty textdocs/Speed2.txt .

La configuración estándar en /etc/samba/smb.conf intenta proponer va-lores de gran alcance y renuncia así a todas las configuraciones que se co-rrespondan con las configuraciones por defecto del equipo de Samba. Sinembargo esto es difícil o imposible respecto a la configuración de red y delos nombres de grupos de trabajo. En el ejemplo de configuración comenta-do examples/smb.conf.SuSE se encuentran indicaciones que le serán deayuda para adecuarse a la realidad local.

TrucoEl equipo Samba incluye en textdocs/DIAGNOSIS.txt una intro-ducción paso a paso para probar la configuración.

Truco

269SuSE Linux – Enterprise Server 8

Page 286: Sles Admin Ipseries

Netatalk

Con el paquete netatalk se puede generar un servidor de ficheros y de im-presión potente para dar servicios a clientes Apple.

Netatalk es un conjunto de programas Unix, que incorporan el DDP (ingl.Datagram Delivery Protocol) en el kernel, e implementan la familia de protoco-los de AppleTalk (ADSP, ATP, ASP, RTMP, NBP, ZIP, AEP y PAP).

En principio, AppleTalk es el equivalente del ampliado TCP (Transmis-sion Control Protocol). Muchos de los servicios TCP/IP, p. ej. la resoluciónde nombres y la sincronización horaria, equivalen a los de AppleTalk. Así,por ejemplo, en vez del comando nslookup (DNS; Domain Name Service)utiliza nbplkup (NBP, Name Binding Protocol), y en vez de ping (ICMPECHO_REQUEST, Internet Control Message Protocol) utiliza aecho (AEP,AppleTalk Echo Protocol).

Normalmente, los tres daemons que vienen a continuación se inician en elservidor:

El atalkd (”Administrador de red de AppleTalk”), se corresponde porasí decirlo con ifconfig y routed;

El afpd (AppleTalk Filing Protocol Daemon), que pone una interfaz desistema de datos Unix para clientes de Macintosh.

El papd (Printer Access Protocol Daemon), que incorpora la impresoraa la red (de AppleTalk).

En el servidor, puede exportar al mismo tiempo a través de Samba (paraclientes de Windows, ver el capítulo anterior) y de NFS (ver 9 en la pági-na 250) sin necesidad de más directorios, lo cual es muy útil en entornos dered heterogéneos. La protección de datos y la administración de los derechosde acceso se pueden realizar centralmente en el servidor de Linux.

Tenga en cuenta lo siguiente:

Debido a las restricciones de los clientes de Macintosh, las contraseñasde los usuarios en el servidor han de tener 8 dígitos como máximo.

Los clientes de Macintosh no tienen acceso a ficheros de Unix cuyonombre tenga más de 31 dígitos.

Los nombres de archivo no deben incluir dos puntos (‘:’ ), porque estesigno funciona como separador en los nombres de ruta de MacOS.

Para realizar la instalación está el paquete netatalk .

270 Netatalk

Page 287: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

Configuración del servidor de ficheros

”Netatalk” es ya un servidor de ficheros completamente funcional para todoslos usuarios que estén dados de alta mediante la configuración estándar. Parausar otras características adicionales hay que realizar algunos ajustes en losficheros de configuración que se encuentran en el directorio /etc/atalk .

Todos los ficheros de configuración son ficheros de texto. Las líneas que co-mienzan con el símbolo ‘#’ y las vacías se ignoran ya que se consideran co-mentarios.

Configurar la red – atalkd.conf

El fichero /etc/atalk/atalkd.conf define las interfaces a través de lascuales se ofrecen los servicios de AppleTalk. A menudo es eth0 , lo cual essuficiente cuando se introduce

eth0

como valor único (es el caso de este ejemplo). Aquí puede añadir más in-terfaces, p. ej. si utiliza más de una tarjeta de red simultáneamente. Cuandoarranca el servidor, este busca en la red zonas y servidores que ya estén dis-ponibles, tras lo cual modifica las líneas correspondientes que contienen lasdirecciones de la red de AppleTalk tal como están configuradas. Se encontraráuna línea como

eth0 -phase 2 -net 0-65534 -addr 65280.57

al final del archivo. Si quiere realizar configuraciones más complejas, puedeencontrar varios ejemplos en el fichero de configuración. Además, para másdocumentación sobre opciones adicionales, consulte la página del manual deafpd.

Definir el servidor de ficheros – afpd.conf

En el fichero afpd.conf se define el nombre del servidor tal como aparecepara los clientes Apple en el ‘Selección’. Como el resto de archivos de confi-guración, este también incluye comentarios detallados que le explicarán lasdiversas opciones.

Si no se modifica nada aquí, el servidor por defecto arrancará, lo cual se mos-trará en el ‘Selección’ con el nombre del host. Por lo tanto, no es necesarioque introduzca algo aquí. En este fichero además se puede definir otro servi-dor con un nombre diferente p. ej. definir un servidor ”público” que permitea ”invitados” dejar ficheros en él.

271SuSE Linux – Enterprise Server 8

Page 288: Sles Admin Ipseries

"Guest server" -uamlist uams_guest.so

O puede definir un servidor que no permite la entrada a invitados, sino sóloa usuarios que ya existan en el sistema Linux:

"Font server" -uamlist uams_clrtxt.so,uams_dhx.so

Este comportamiento quedará guardado a través de la opción uamlist se-guido de una lista de módulos de autentificación empleados separados poruna coma. Por defecto todos los comportamientos están activos.

Por regla general, un servidor AppleShare no sólo ofrece sus servicios a tra-vés de AppleTalk, sino también ”encapsulado” a través de TCP/IP. El puertopor defecto es 548. Si quiere disponer de más servidores AppleShare (en lamisma computadora), y también deben funcionar a través de TCP/IP, debeasignar los puertos. La preparación del servicio vía TCP/IP hace posible elacceso al servidor a través de Internet por ejemplo.

La sintaxis sería p. ej.:

"Font server" -uamlist uams_clrtxt.so,uams_dhx.so -port 12000

Aquí el servidor AppleShare aparece en la red con el nombre ”Font Server”,no permite ningún acceso a los invitados y el puerto es 12 000. Por lo tanto,también se puede acceder a través de un router TCP/IP.

En el archivo AppleVolumes.default quedan definidos los directorios delservidor AppleShare que pondrán a disposición la red ”Volumes”. Mediantela opción -defaultvol puede fijar otro directorio para un único servidorAppleShare, directorio en el cual se realizarán procesos diferentes, p. ej. (enuna línea):

"Guest server" -uamlist uams_guest.so -defaultvol/etc/atalk/AppleVolumes.guest

En el archivo afpd.conf se explican otras opciones.

/etc/atalk/AppleVolumes.guest

272 Netatalk

Page 289: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

Directorios y derechos de acceso – AppleVolumes.default

Aquí se establecen los directorios que deben ser exportados. Los derechos deacceso quedan establecidos mediante los derechos de usuario y grupo norma-les en Unix.

Esto se configura en el archivo AppleVolumes.default .

AtenciónAquí ha cambiado parcialmente la sintaxis. Tenga esto en cuenta siha actualizado una versión antigua, p. ej. en vez de access= , ahoraes allow: (un síntoma característico sería si en los clientes Mac conAppleTalk se le muestran las opciones en vez de la descripción de unaunidad determinada.) Puesto que con la actualización han aparecidonuevos archivos con la extensión .rpmnew , puede que, en determi-nadas circunstancias y debido al cambio de sintaxis, no funcionen lasconfiguraciones de que disponía.

Le recomendamos que haga un backup de los archivos de configu-ración, con el fin de incorporar las configuraciones anteriores en losnuevos archivos y renombrarlos. De este modo puede aprovecharse delos detallados comentarios que se incluyen ahora y que le explicaránlas diversas opciones posibles en los archivos de configuración.

Atención

Es posible que existan ficheros adicionales junto a AppleVolumes.default ,p. ej.AppleVolumes.guest , utilizados por determinados servidores (en elarchivo afpd.conf se usa la opción -defaultvol – ver apartado anterior).

La sintaxis es bastante sencilla:

/usr/local/psfonts "PostScript Fonts"

significa que, en el directorio root, se encuentra el directorio Linux /usr/local/psfonts como AppleShare-Volume con el nombre ”PostScriptFonts”.

Las distintas opciones, separadas por espacios en blanco, se añaden a la línea.Una opción muy útil es la de restricción de accesos.

/usr/local/psfonts "PostScript Fonts" allow:Usuario1,@grupo0

limita el acceso al Volume ”PostScript Fonts” al usuario ”Usuario1” y a todoslos miembros del grupo ”grupo0”, los cuales ya deberán ser conocidos por el

273SuSE Linux – Enterprise Server 8

Page 290: Sles Admin Ipseries

servidor. De forma análoga se puede excluir explícitamente a un usuario condeny:Usuario2 .

Tenga en cuenta que estas limitaciones tienen validez para el acceso vía Ap-pleTalk, pero no tienen nada que ver con los derechos de acceso de un usua-rio al hacer un login en el servidor.

Netatalk coloca en el Ressource-Fork de archivos típico de Mac el directorio.AppleDouble . Con la opción noadouble puede determinar si el directorioha de fijarse cuando se le necesita realmente. La sintaxis es:

/usr/local/guests "Guests" options:noadouble

Puede encontrar explicaciones más detalladas de las distintas opciones en elfichero en cuestión.

Por lo demás: En los archivos de configuración puede encontrar un pequeñoe inocente signo (‘~’ ). Este signo simboliza el directorio raíz de cada usua-rio en el servidor. Con él, todos los usuarios pueden preparar su directorioraíz automáticamente, sin necesidad de incluirlos aquí de forma explícita. Elarchivo de ejemplo que se encuentra instalado incluye este signo, puesto queNetatalk ya prepara por defecto el directorio raíz si Vd. no modifica nada enel archivo.

Además, el afpd busca en el directorio raíz de un usuario que se ha da-do de alta los archivos Applevolumes o .Applevolumes . Las asigna-ciones de estos archivos se combinan con las de los archivos del servidorAppleVolumes.system y AppleVolumes.default , para posibilitar laasignación de más ”type/creator” individuales y acceder al sistema de ar-chivos. Estas asignaciones son combinaciones y no posibilitan ningún accesoque no se permita a través del servidor.

El archivo netatalk.pamd ofrece autentificación mediante PAM (PluggableAuthentication Modules), lo cual no tiene interés en el marco de este manual.

Asignación de archivos – AppleVolumes.system

El fichero AppleVolumes.System establece también la asignación de tipo(Type) y creador (Creator) a las terminaciones de los ficheros. Algunas asig-naciones estándar ya están predefinidas. Si un fichero aparece con un iconogenérico en blanco es porque aún no se ha realizado ninguna asignación. Encaso de problemas al abrir un archivo de texto de otro sistema Mac, o lo con-trario, puede controlar allí las entradas.

274 Netatalk

Page 291: Sles Admin Ipseries

10Re

de

sh

ete

rog

én

ea

s

Configuración del servidor de impresión

Mediante el fichero papd.conf se puede ofrecer un servicio del tipo ”AppleLaserwriter”. Esta impresora ya debe funcionar localmente mediante lpd. Elprimer paso ha finalizado cuando se puede imprimir localmente usando elcomando lpr fichero.txt .

No debe añadir nada al papd.conf , si se ha configurado una impresora lo-cal en Linux, puesto que los trabajos de impresión se envían directamenteal daemon de impresión lpd . La impresora se presenta en la red AppleTalkcomo ”Laserwriter”. Pero también puede dar de alta una impresora de la si-guiente forma:

Drucker_Empfang:pr=lp:pd=/etc/atalk/kyocera.ppd

Con esta configuración aparece en la selección una impresora denominadaImpresora_oficina3. El fabricante de la misma suministra normalmente el fi-chero de descripción correspondiente. En caso de no disponer de él, se puedeusar en su lugar el fichero Laserwriter de la carpeta ‘Extensiones de siste-ma’ pero con la desventaja de no poder disponer de todas las característicasde la impresora.

Arrancar el servidor

El servidor arranca mediante el script de inicialización, ”Init-Script”, o ma-nualmente con rcatalk start . El script de inicialización se encuentra en/etc/init.d/atalk . El script realiza el arranque en segundo plano; duramás o menos un minuto hasta que las interfaces de AppleTalk se configurany se ponen a disposición. Solicite un informe de la situación para comprobarsi ya lo ha realizado (el OKdebe aparecer tres veces):

tierra:~ # rcatalk status

"Checking for service atalk:OKOKOK"

Ahora diríjase a una computadora Mac que funcione con Mac OS. Comprue-be que AppleTalk está activado, escoja ‘Filesharing’, haga doble clic en ‘Ap-pleshare’ y verá el nombre del servidor en la ventana que aparece. Haga do-ble clic en el nombre y regístrese. Escoja la unidad y – voilà – ahí se encuen-tra su unidad de red con Mac OS.

Para conectarse con servidores que sólo funcionan con TCP y no con DDP,diríjase al ‘Selección’, haga clic en ‘Dirección IP del servidor’ e introduzca ladirección IP correspondiente, y de ser necesario, seguida de dos puntos y elnúmero de puerto.

275SuSE Linux – Enterprise Server 8

Page 292: Sles Admin Ipseries

Información adicional

Para sacar el máximo provecho de todas las posibilidades que le ofrece elpaquete netatalk , le recomendamos que hojee las correspondientes páginasman, que encontrará con el comando: rpm -qd netatalk Otra indicación:El archivo /etc/atalk/netatalk.conf no se utiliza en nuestra versión denetatalk, por lo tanto puede pasarlo por alto.

URLs con amplia información:

http://netatalk.sourceforge.net/

http://www.umich.edu/~rsug/netatalk/

http://www.anders.com/projects/netatalk/

http://cgi.zettabyte.net/fom-serve/netatalk/cache/1.html

¿Puedo acceder a una unidad AppleShare con Linux? La verdadera respuestaes: Mejor no lo haga, porque el paquete correspondiente se encuentra en fasede desarrollo. Si quiere conocer las experiencias de valientes experimentado-res: http://www.panix.com/~dfoster/afpfs/

276 Netatalk

Page 293: Sles Admin Ipseries

11In

tern

etInternet

Este capítulo tiene como objetivo facilitar la información clave necesaria acer-ca de la configuración del servidor proxy Squid. Este servicio acelera el acce-so a los recursos localizados en la World Wide Web.

Servidor proxy: Squid . . . . . . . . . . . . . . . . . . . . . 278

Page 294: Sles Admin Ipseries

Servidor proxy: Squid

El caché proxy por excelencia para plataformas Linux/UNIX es squid, delque veremos cómo realizar su configuración, qué especificaciones requerirá elsistema donde lo vayamos a instalar, cómo llevar a cabo la configuración deun servidor proxy transparente, y finalmente cómo obtener estadísticas sobreel uso del caché con la ayuda de programas como Calamaris y cachemgr ocómo utilizar la aplicación squidgrd para realizar filtrado de páginas web.

¿Qué es un caché proxy?

Squid se comporta como un caché proxy: esto es, actúa como un agente querecibe peticiones de clientes (en este caso navegadores web) y pasa estas peti-ciones al proveedor de servicios apropiado. Cuando los datos llegan de nue-vo al agente, éste almacena una copia de los datos en un caché de disco.

Las ventajas de este sistema aparecen cuando varios clientes intentan acce-der a los mismos datos: ya no hará falta ir a buscarlos otra vez en Internet,sino que se servirán directamente desde el caché de disco, beneficiándosenlos usuarios de un ahorro importante en el ancho de banda y en el tiempo dedescarga.

Truco

Squid ofrece ventajas como la posibilidad de intercomunicar jerarquíasde servidores proxys para repartir la carga entre ellos, establecer es-trictas reglas de control de acceso para los clientes de las redes quequieran acceder al proxy, y con la ayuda de otras aplicaciones es posi-ble controlar el acceso a determinadas páginas web u obtener estadís-ticas sobre cuáles son las webs más visitadas, con qué frecuencia losusuarios se conectan, ect.

Truco

Squid no es un proxy genérico. Actúa como proxy entre conexiones víaHTTP; igualmente soporta los protocolos FTP, Gopher, SSL y WAIS, pero nosoporta otros protocolos de Internet como por ejemplo Real Audio, News ovideoconferencia. Squid sólo soporta el protocolo UDP para realizar comuni-caciones entre diferentes cachés, con lo que muchos programas multimediaquedarán igualmente excluidos.

278 Servidor proxy: Squid

Page 295: Sles Admin Ipseries

11In

tern

et

Información general sobre cachés proxy

Squid y seguridad

También es posible emplear Squid junto con un cortafuegos para protegeruna red interna del exterior mediante un caché proxy. El cortafuegos cie-rra todos los servicios externos a excepción de Squid, forzando a que sea elproxy quien establezca todas las comunicaciones con la World Wide Web.

Si la configuración del cortafuegos incluye un DMZ, es allí donde pondremosel servidor proxy. En ese caso, es importante que todas las computadoras enla DMZ envíen sus ficheros de archivo (o logfiles) a computadoras dentro dela red segura.

Una forma de implementar esta configuración con la ayuda de lo que se de-nomina un proxy ”transparente” se tratará en el apartado Configuración de unproxy transparente en la página 289.

Cachés multinivel

Se trata de una ampliación del concepto de caché. Consiste en configurar va-rios servidores caché proxy para que cooperen intercambiando objetos entreellos. De esta forma se reduce la carga total del sistema y se aumenta la pro-babilidad de que el objeto se encuentre ya en la red local. Es posible confi-gurar incluso jerarquías de cachés, de forma que se puede pedir páginas acachés del mismo nivel o enviar peticiones a otros proxys de jerarquía másalta para que pidan las páginas a otros cachés existentes en la red, o bien pa-ra obtener los documentos directamente desde la fuente.

Elegir una buena topología para los cachés es muy importante para no acabarcreando más tráfico del que ya había en la red antes de instalar los cachés.Por ejemplo, para una red local muy extensa puede configurarse un servidorproxy para cada subred, y conectar éstos a un proxy ”padre”, que esté a suvez conectado, por ejemplo, al caché proxy del ISP.

Todo esta comunicación se lleva a cabo mediante el protocolo ICP (InternetCache Protocol), basado en UDP. Las transferencias de datos entre la mayoríade cachés se realizan mediante HTTP, protocolo basado en TCP, pero paraeste tipo de conexiones es preferible usar protocolos más rápidos y simples,capaces de reaccionar a las peticiones enviadas en un máximo de un segundoo dos.

Para encontrar el servidor más apropiado desde el que obtener un objeto, uncaché envía una petición ICP a sus proxys vecinos. Éstos le enviarán respues-tas ICP con código HIT, si el objeto se encuentra efectivamente allí, o bienMISS en caso contrario. En caso que haya varios HIT, el proxy se decidirá por

279SuSE Linux – Enterprise Server 8

Page 296: Sles Admin Ipseries

un servidor en especial en función de factores como la velocidad de respuestao la proximidad, entre otros. Si las respuestas de los proxys vecinos no sonsatisfactorias, la petición se realizará al caché principal.

TrucoPara evitar duplicaciones de los objetos en varios cachés en la red,se utiliza otros protocolos ICP como CARP (Cache Array RoutingProtocol) o HTCP (Hyper-Text Cache Protocol). Cuantos más objetostengamos en la red, mayor será la posibilidad que esté el que busca-mos.

Truco

Objetos cacheados en Internet

No todos los objetos disponibles en la red son estáticos. Existen páginas gene-radas dinámicamente por CGIs, contadores de visitantes o bien documentosque incluyen SSL para encriptar el contenido y hacerlos más seguros. Poresos motivos se considera este tipo de objetos como no cacheable, ya que ca-da vez que se accede a estos ya han cambiado.

Pero para todos los demás objetos que se guardan en el caché existe el pro-blema de cuánto tiempo deben quedarse allí. Para determinarlo se asigna atodos los objetos del caché 3 estados diferentes:

Los servidores web y los cachés proxy controlan el estado de un objeto aña-diendo cabeceras como Last modified (última modificación) o Expires(expira) y la fecha correspondiente. También se utilizan otras cabeceras paraespecificar los objetos que no deben cachearse.

Normalmente, los objetos desaparecerán antes del caché por la falta de espa-cio en el disco. Se utiliza algoritmos para sustituir objetos en el caché, comoel LRU (Last Recently Used) que consiste en sustituir los objetos menos utili-zados por nuevos.

Requerimientos del sistema

Lo más importante es cuantificar la carga que va a tener que soportar nuestrosistema. Para esto es importante fijarse más en los picos de carga del sistemaque en la media total, ya que los picos pueden llegar a ser varias veces lamedia del día. En caso de duda siempre es mucho mejor sobreestimar losrequerimientos del sistema, ya que si Squid trabaja al límite de su capacidadse puede llegar a degradar de forma sustancial las condiciones de servicio.

280 Servidor proxy: Squid

Page 297: Sles Admin Ipseries

11In

tern

et

Discos duros

Cuando se trata de cachés, la velocidad es un parámetro importantísimo. Enlos discos duros este parámetro se mide mediante su ”tiempo medio de acce-so” (en inglés random-seek time) en milisegundos, que debe ser lo más bajoposible.

Tamaño del caché de disco

Depende de varios factores. En un caché pequeño la probabilidad de un HIT(el objeto ya se encuentre en e caché) será pequeña, ya que el caché se llenarácon facilidad y se deberá sustituir los objetos antiguos por nuevos. Bien alcontrario, en el caso de disponer de 1 GB de disco para cachear, y en casoque los usuarios naveguen solamente 10 MB de datos al día, se tardará almenos 100 días en llenar el caché.

Quizás lo más fácil es pensar en el tráfico máximo que pasará por el caché.Si disponemos de una conexión de 1 Mb/s , como mucho se transferirán 125KB por segundo. Si todo este tráfico va a parar al caché, en una hora será450 MB, y suponiendo que este tráfico se genera durante las 8 horas de tra-bajo, tendremos en total 3.6 GB diarios. Como la línea no trabaja al máximo(si fuera así ya habríamos puesto otra de más capacidad), los datos de todoun día se podrían almacenar en, digamos, unos 2 GB. Así pues, para guardartodos los datos navegados por la WWW en un día, necesitaremos 2 GB deespacio en disco para Squid.

A modo de conclusión, Squid tiende a leer y escribir pequeños bloques en eldisco duro, así que será mucho más importante la velocidad con que encuen-tre esos datos que no su capacidad de transferencia de datos.

Memoria RAM

La cantidad de memoria requerida por Squid está directamente relaciona-da con la cantidad de objetos que se encuentran en el caché. Squid tambiénalmacena referencias a los objetos en el caché así como también objetos uti-lizados más frecuentemente, para optimizar la obtención de los mismos. ¡Lamemoria RAM es un millón de veces más rápida que el disco duro! (Com-pare el tiempo medio de acceso de un disco duro, sobre los 10 milisegundos,con los 10 nanosegundos de tiempo de acceso de las nuevas memorias RAM)

Squid también guarda datos en la memoria para muchas otras cosas comouna tabla con todas las direcciones IP utilizadas, un caché para los nombresde dominio totalmente cualificados, objetos ”calientes” (los que más se solici-tan), buffers, listas de control de acceso, etc.

281SuSE Linux – Enterprise Server 8

Page 298: Sles Admin Ipseries

Es muy importante tener memoria de sobras para el proceso de Squid, yaque en el caso de tener que pasar el proceso la zona de swap (o de intercam-bio) del disco duro las prestaciones del sistema se reducirán dramáticamente.Para facilitar la administración de la memoria utilizada por el caché, pode-mos utilizar la herramienta cachemgr.cgi, tal y como veremos en el aparta-do cachemgr.cgi en la página 292.

Potencia del procesador

Squid no es un programa que consuma mucho potencia de procesador. So-lamente al arrancar y comprobar el contenido del caché es cuando se trabajamás intensamente con el procesador. Tampoco hay partes de la ejecución quese optimicen notablemente utilizando máquinas con capacidad multiprocesa-dor. Para obtener un mayor rendimiento es preferible aumentar la cantidadde memoria RAM o bien utilizar discos más rápidos, antes que cambiar elprocesador por otro más potente.

Algunos ejemplos de sistemas configurados y que utilizan Squid se encuen-tran disponibles en http://wwwcache.ja.net/servers/squids.html .

Arrancar Squid

Squid ya se encuentra preconfigurado en SuSE Linux Enterprise Server asíque casi se puede iniciar directamente después de la instalación. Los prerre-quisitos en este caso son: tener una red ya configurada, al menos un servidorde nombres, y, por supuesto, acceso a Internet. Pueden aparecer problemasen caso de utilizar una conexión de tipo dial-up que utilice configuración di-námica de DNS. En casos como este, al menos el servidor de nombres debeestar claramente especificado, ya que Squid solamente se iniciará si detectaun DNS en el archivo /etc/resolv.conf .

Para iniciar Squid, introduzca desde la línea de comandos como usuarioroot :

rcsquid start

Durante la primera inicialización del programa se define la estructura de di-rectorios en var/squid/cache . Esta operación es llevada a cabo automá-ticamente por el script de inicialización /etc/rc.d/squid y puede tardardesde pocos segundos a minutos. Cuando aparezca el mensaje done en co-lor verde a la derecha de la pantalla, significa que Squid ya se ha cargadocorrectamente. Se puede comprobar si Squid funciona correctamente en el sis-tema local dando los valores localhost y Port 3128 como proxy en cual-quier navegador web. Para permitir a todos los usuarios el acceso a Squid

282 Servidor proxy: Squid

Page 299: Sles Admin Ipseries

11In

tern

et

y por ende a Internet, solamente es necesario cambiar una entrada en el fi-chero de configuración /etc/squid.conf de http_acces deny all ahttp_acces allow all . Sin embargo, haciendo esto Squid se hace accesi-ble para cualquiera. Por tanto, en cualquier caso deberá configurar listas decontrol de acceso o ACL para controlar el acceso al proxy. Más sobre esto enel apartado Listas de control de acceso o acl en la página 287.

Cada vez que se produce un cambio en el fichero de configuración /etc/squid.conf , hay que decirle a Squid que a partir de este momento debe uti-lizar el nuevo fichero de configuración. Esto se puede hacer con el siguientecomando:

rcsquid reload

O bien reiniciar completamente Squid:

rcsquid restart

Los siguientes comandos son igualmente importantes:

rcsquid status

Con este se determina si el proxy se encuentra funcionando y con

rcsquid stop

se puede parar Squid. Este último comando puede tardar unos momentosya que Squid espera hasta medio minuto (opción shutdown_lifetime en/etc/squid.conf ) antes de cortar las conexiones con los clientes y entoncestodavía tendrá que guardar los datos en el disco. En caso que Squid sea ter-minado con un comando kill o bien killall , esto puede llevar a la des-trucción del caché, que en ese caso tendrá que ser borrado completamentepara poder reiniciar Squid.

Si Squid finaliza de forma inesperada tras un corto periodo de tiempo, aun-que pareciera que se había iniciado correctamente, puede ser debido a unaentrada de DNS incorrecta o bien por no encontrar el archivo /etc/resolv.conf . Squid almacena la causa del error en el fichero /etc/rc.config .

Si Squid debe cargarse automáticamente cada vez que se inicie el sistema,solamente es necesario activarlo en el ”Runlevel-Editor” de YaST2.

Al desinstalar Squid no se borrará ni el caché ni en los ficheros de error. Sedeberá borrar manualmente el directorio /var/cache/squid .

283SuSE Linux – Enterprise Server 8

Page 300: Sles Admin Ipseries

Servidor DNS local

Configurar un servidor DNS localmente como BIND-8 o bien BIND-9 esigualmente importante, incluso aunque el servidor proxy no controle su pro-pio dominio. En ese caso actuará solamente como ”caché-solamente DNS” yde esta manera será capaz de resolver peticiones DNS a través del servidorde nombres principal sin necesidad de realizar ninguna configuración espe-cial. Si introduce en el archivo /etc/resolv.conf una entrada con direc-ción IP 127.0.0.1 para localhost, Squid detectará un servidor de nombresválido al iniciarse. La configuración de un servidor DNS ya es un capítulo ensi misma y no será descrita con detalle en este capítulo. Será suficiente insta-lar el paquete e iniciarlo. El servidor de nombres del proveedor deberá espe-cificarse en el fichero de configuración /etc/named.conf bajo forwardersjunto con su dirección IP. En caso de disponer de un cortafuegos activado,incluso aunque se trate del cortafuegos personal, tendrá que asegurarse quedeje pasar las peticiones DNS a través suyo.

El fichero de configuración /etc/squid.conf

La configuración de Squid se almacena en este archivo de configuración. Parapoder iniciar Squid por primera vez, no es necesario hacer cambios en estearchivo, aunque los clientes externos tendrán inicialmente el acceso denegado.El proxy necesita ejecutarse en localhost y, normalmente utilizará el puerto3128 . Las opciones son extensivas y vienen acompañadas de amplia docu-mentación y ejemplos ya preinstalados en el archivo /etc/squid.conf .Casi todas las líneas comienzan por el símbolo # (significa que la línea estácomentada y su contenido no se evaluará); las opciones relevantes se encuen-tran en el fin de línea. Los valores por defecto corresponden casi siempre alos valores que necesitaremos, así que para muchas opciones sólo será nece-sario quitar el símbolo de comentario al principio de la líneas. De cualquiermodo es mejor dejar el ejemplo comentado y reescribir la línea con los nue-vos parámetros una línea más abajo. De esta manera se puede ver fácilmentecuales son los valores por defecto y cuales son los cambios introducidos.

Si está actualizando desde una versión anterior de Squid, se recomienda edi-tar el nuevo /etc/squid.conf y añadirle la configuración del archivo ante-rior. Si trata de implementar directamente el antiguo fichero de configuración/etc/squid.conf , es posible que no funcione correctamente debido a mo-dificaciones en algunas opciones o a los nuevos cambios en la nueva versión.

Opciones generales de configuración

http_port 3128 Este es el puerto en el que Squid escuchará las peticiones delos clientes. El puerto por defecto es 3128 , aunque 8080 se usa tam-

284 Servidor proxy: Squid

Page 301: Sles Admin Ipseries

11In

tern

et

bién comúnmente. Es posible especificar varios puertos separándolospor espacios en blanco.

cache_peer <hostname> <tipo> <puerto-proxy> <puerto-icp> En esta op-ción podemos especificar otro servidor proxy como ”padre” (ingl. pa-rent), por ejemplo, si lo desea, o prefiere usar el de su proveedor o ISP.En la opción <hostname> , se especifica el nombre y la dirección IP delproxy al que nos vayamos a conectar, en la opción <tipo> , especifi-camos parent . Para <puerto-proxy> , se debe escribir el número depuerto, el que también se especifica para los navegadores, normalmen-te se utiliza el 8080 . Se puede fijar el <puerto-icp> a 7 o bien 0 sino se conoce el puerto ICP del proxy padre y su uso carece de interéspara el proveedor. Además de esto, default y no-query se debenespecificar después de los números de puerto para no permitir el usodel protocolo ICP. Squid se comportará en ese caso como un navegadornormal en lo que respecta al proxy del proveedor.

cache_mem 8 MB Esta entrada define la cantidad máxima de memoriaRAM que utilizará Squid para los cachés. El valor por defecto es 8 MB.

cache_dir ufs /var/cache/squid 100 16 256 La entrada correspondiente acache_dir fija el directorio donde se almacenarán los datos. Los nú-meros al final indican: el tamaño máximo en MBque se va a utilizar,seguido del número de directorios de primer y segundo nivel. El pará-metro ufs debe dejarse tal y como está. El valor por defecto es 100 MBde espacio en disco ocupado en el directorio /var/cache/squid , paraluego crear 16 sub-directorios más, y en cada uno de ellos se crearán256 directorios más. Al especificar el espacio de disco a utilizar, siemprese debe dejar espacio suficiente de reserva. Tiene sentido manejar valo-res de tamaño para el caché entre el 50 a un 80 por ciento del espaciototal disponible. Los últimos dos números sólo deben ser incrementa-dos con precaución ya que demasiados directorios pueden provocarproblemas de funcionamiento. En caso de disponer de más discos pa-ra repartir entre ellos el caché, se pueden especificar varias líneas decache_dir .

cache_access_log /var/squid/logs/access.log path para ficheros log

cache_log /var/squid/logs/cache.log path para ficheros log

cache_store_log /var/squid/logs/store.log path para ficheros log

Estas tres entradas especifican el path donde Squid guardará sus fiche-ros de control. Normalmente no hace falta cambiar nada. Si Squid so-

285SuSE Linux – Enterprise Server 8

Page 302: Sles Admin Ipseries

porta una carga relativamente elevada, puede ser necesario distribuir elcaché y estos archivos de control en discos diferentes.

emulate_httpd_log off Si la entrada está configurada a on , se puede obtenerficheros de log en formato legible. Sin embargo, algunos programas deevaluación no pueden interpretarlos.

client_netmask 255.255.255.255 Con esta entrada, es posible enmascarar lasdirecciones IP en los ficheros de control para ocultar la identidad delos clientes. Especificando en esta opción el valor 255.255.255.0 , elúltimo dígito de la dirección IP se interpretará como cero.

ftp_user [email protected] Con esta opción se puede fijar la contraseña queSquid utilizará para realizar el registro (ingl. login) para FTP anónimo.Es importante especificar una dirección de correo electrónico válida, yaque algunos servidores FTP pueden comprobar si es válida o no.

cache_mgr webmaster Dirección de e-mail a la que el Squid enviará unmensaje en caso que termine inesperadamente. Por defecto se enviaránal webmaster.

logfile_rotate 0 Squid puede rotar archivos de registro al ejecutar la ordensquid -k rotate . Los archivos serán enumerados en este procesoy después de alcanzar el valor especificado, el fichero más antiguo se-rá sobreescrito. El valor que se utiliza normalmente es 0 ya que pa-ra archivar y borrar archivos de registro en SuSE Linux EnterpriseServer se utiliza un cronjob que se puede encontrar en el archivo deconfiguración /etc/logrotate/syslog . El periodo de tiempo des-pués del cual se borran los archivos está definido en el fichero /etc/sysconfig/aaa_base por la variable MAX_DAYS_FOR_LOG_FILES.

append_domain <dominio> Con la opción append_domain , se puede es-pecificar qué dominio se añadirá automáticamente en caso de que no sefacilite ninguno. Normalmente se especifica el propio dominio, de for-ma que al introducir wwwen el navegador es suficiente para acceder alservidor web propio.

forwarded_for on Al apagar esta opción y ponerla a off , Squid eliminarálas direcciones IP y el nombre de la máquina de los clientes en las peti-ciones HTTP.

negative_ttl 5 minutes; negative_dns_ttl 5 minutes Normalmente no es ne-cesario cambiar estos valores. En caso de disponer de una conexiónde tipo dial-up puede ser que a veces no se pueda acceder a Internet.Squid tomará nota de las peticiones fallidas y se negará a realizarlas

286 Servidor proxy: Squid

Page 303: Sles Admin Ipseries

11In

tern

et

otra vez, incluso aunque la conexión ya se haya restablecido. En esecaso puede cambiar el valor minutes a seconds . Después de esto, alpulsar en el botón de Recargar en el navegador la conexión se reini-ciará al cabo de unos segundos.

never_direct allow <acl_name> Si desea impedir que Squid conteste a peti-ciones que vengan directamente de Internet, puede utilizar el siguientecomando para forzar la conexión a otro proxy. Éste debe estar ya intro-ducido en la opción cache_peer . Si se especifica como <acl_name>el valor all , todas las peticiones serán redirigidas al caché padre . Estopuede ser necesario, por ejemplo, en caso de disponer de un proveedorque estipule estrictamente el uso de sus proxys o que no permita accesodirecto a Internet a través de su cortafuegos.

Listas de control de acceso o acl

Squid implementa un inteligente sistema para controlar el acceso al proxy.Mediante las ACL’s, se puede configurar de forma fácil y extensa. Se trata denormas procesadas secuencialmente. Las ACLs deben ser definidas antes depoderse utilizar. Algunas ACLs como all y localhost ya están definidas.Sólo por definir una ACL no se consigue ningún resultado hasta que no seponga en funcionamiento, conjuntamente p. ej. con http_access , para utili-zar las reglas definidas anteriormente.

acl <acl_nombre> <tipo> <datos> Una ACL necesita por lo menos tres es-pecificaciones para definirla. El nombre <acl_nombre> se puede elegirarbitrariamente. Para el <tipo> , se puede elegir de entre diferentes op-ciones que se pueden encontrar en la parte de ACCESS CONTROLSenel fichero /etc/squid.conf . La parte de datos depende del tipo deACL y también puede ser leída desde un fichero, p. ej. que contenganombres de máquinas, direcciones IP o bien URLs. A continuación unosejemplos:

acl usuarios srcdomain .mi-dominio.comacl profesores src 192.168.1.0/255.255.0.0acl alumnos src 192.168.7.0-192.168.9.0/255.255.0.0acl mediodía time MTWHF 12:00-15:00

http_access allow <acl_nombre> http_access define a quién le está per-mitido usar el proxy y quién puede acceder a Internet. Para todo estose deberá definir primero las ACL correspondientes. localhost y allya han sido definidas con anterioridad. En general se puede permitir el

287SuSE Linux – Enterprise Server 8

Page 304: Sles Admin Ipseries

acceso mediante allow o bien negarlo con deny . Se puede crear unalista completa de entradas http_access que será procesada de arri-ba hacia abajo y dependiendo de cómo estén configuradas las reglasse accederá o no a Internet para cada URL. Por eso la última entradade todas debe ser http_access deny all . En el ejemplo siguientelocalhost dispone de acceso libre mientras que todos los otros hoststienen el acceso negado.

http_access allow localhosthttp_access deny all

Otro ejemplo donde se utilizan las reglas definidas anteriormente: elgrupo profesores siempre tendrá acceso a Internet, mientras que elgrupo alumnos solamente tiene acceso de lunes a viernes durante elmediodía.

http_access deny localhosthttp_access allow profesoreshttp_access allow alumnos mediodía timehttp_access deny all

Esta lista con las entradas para http_access deberá colocarse en laparte del fichero /etc/squid.conf a partir de la entrada

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

y finalizar en

http_access deny all

redirect_program /usr/bin/squidGuard Con esta opción, se puede especi-ficar un programa redirector como SquidGuard, capaz de bloquear elacceso a URL no deseadas. El acceso a Internet puede ser controladoindividualmente para varios grupos de usuarios con la ayuda de au-tentificación por proxy y apropiadas ACL. SquidGuard es un paqueteindependiente que se debe instalar y configurar separadamente.

authenticate_program /usr/sbin/pam_auth Si los usuarios deben ser auten-tificados en el proxy, se puede especificar un programa que realice estafunción como pam_auth. Cuando se accede a pam_auth por primeravez, el usuario verá una pantalla de login donde se deberá introducirel nombre de usuario y la contraseña. Además será necesario especi-ficar una ACL correspondiente para que sólo los usuarios registradospuedan acceder a Internet:

288 Servidor proxy: Squid

Page 305: Sles Admin Ipseries

11In

tern

et

acl password proxy_auth REQUIRED

http_access allow passwordhttp_access deny all

El texto REQUIREDdespués de proxy_auth debe ser sustituido poruna lista de usuarios permitidos o por la trayectoria a una lista.

ident_lookup_access allow <acl_nombre> Con esta opción, se consigue quepara todos los clientes que pertenezcan a la ACL especificada corra unprograma que determine la identidad del cliente. Al especificar el valorall como <acl_nombre> , esto será válido para todos los clientes. Paraesto deberá correr un daemon denominado ident en todos los clientes;en Linux, se puede utilizar para este propósito el paquete pidentd, pa-ra Windows, hay software libre disponible para descargar desde Inter-net. Para asegurar que sólo se permite acceso a clientes correctamenteidentificados, se deberá igualmente especificar otra ACL, tal y como sedefine a continuación:

acl identhosts ident REQUIRED

http_access allow identhostshttp_access deny all

Aquí también se puede cambiar el valor REQUIREDpor una lista deusuarios autorizados. El uso de ident puede reducir la velocidad delsistema debido a que el proceso de autentificación se repite para cadapetición.

Configuración de un proxy transparente

Normalmente la manera como se trabaja con servidores proxy es la siguien-te: el navegador web envía peticiones a un puerto determinado del servidorproxy, y éste se encarga de servirle las páginas, se encuentren o no en su ca-ché. A la hora de trabajar con una red real se pueden dar los siguientes ca-sos:

Por motivos de seguridad, es más seguro que todos los usuarios utili-cen un proxy para navegar por Internet.

Se requiere que todos los usuarios utilicen un proxy, sean los usuariosconscientes de ello o no.

289SuSE Linux – Enterprise Server 8

Page 306: Sles Admin Ipseries

En redes muy grandes que ya utilicen un proxy, es posible ahorrarseel tener que configurar todas las computadoras una por una cuando selleven a cabo cambios en el sistema.

En cualquiera de estos casos se puede utilizar un proxy transparente. El prin-cipio es muy sencillo: el proxy intercepta y responde a las peticiones del na-vegador web, así que el navegador recibirá las páginas solicitadas sin saberexactamente de dónde provienen. El proceso completo se realiza de formatransparente, de ahí el nombre que este procedimiento recibe.

Opciones de configuración en /etc/squid.conf

Ahora vamos a ocuparnos de las opciones que hay que activar en el fichero/etc/squid.conf para activar el proxy transparente.

Las opciones son:

httpd_accel_host virtual

httpd_accel_port 80 # número de puerto del servidor HTTP

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Configuración del cortafuegos con SuSEfirewall2

Ahora sólo falta redirigir las peticiones de los clientes por el cortafuegos ha-cia el puerto en el que está Squid.

Para la configuración utilizaremos la herramienta proporcionada por SuSESuSEfirewall2. El archivo de configuración correspondiente se encuentra en/etc/sysconfig/scripts/SuSEfirewall2-custom . El archivo está có-modamente ordenado por diferentes entradas muy bien documentadas. Ten-dremos que configurar algunas opciones más. En nuestro ejemplo:

Dispositivo apuntando a Internet: FW_DEV_WORLD="eth1"

Dispositivo apuntando a la red: FW_DEV_INT="eth0"

Puertos y servicios (ver /etc/exports ) en el cortafuegos accedidos desderedes no seguras como Internet. En este ejemplo sólo se especifican serviciosweb hacia el exterior:

FW_SERVICES_EXTERNAL_TCP=”www”

290 Servidor proxy: Squid

Page 307: Sles Admin Ipseries

11In

tern

et

Puertos o servicios (ver /etc/exports ) a los que se accede desde la redsegura. Tanto TCP como UDP:

FW_SERVICES_INTERNAL_TCP=”domain www 3128”

FW_SERVICES_INTERNAL_UDP=”domain”

Accedemos a servicios de web y al programa Squid (cuyo puerto por defec-to es 3128). El servicio ”domain” especificado anteriormente se trata del DNSo Domain Name Server. Lo más normal es utilizar este servicio, pero en ca-so contrario, se elimina de las entradas superiores y se configura la opciónsiguiente a no:

FW_SERVICE_DNS=”yes”

La opción más importante es la número 15:

## 15.)# Which accesses to services should be redirected to a localport# on the firewall machine?## This can be used to force all internal users to surf via your# squid proxy, or transparently redirect incoming webtraffic to# a secure webserver.## Choice: leave empty or use the following explained syntax of# redirecting rules, separated by a space.# A redirecting rule consists of 1) source IP/net, 2) destination# IP/net, 3) original destination port and 4) local port to# redirect the traffic to, separated by a colon. e.g.# "10.0.0.0/8,0/0,80,3128 0/0,172.20.1.1,80,8080"#

Fichero 48: Opción 15 de la configuración del cortafuegos

Los comentarios indican la sintaxis que hay que seguir. En primer lugar, seescribe la dirección IP y la máscara de las ”redes internas”, de donde vie-nen nuestros datos. En segundo lugar, la dirección IP y la máscara de red adónde se ”dirigen” las peticiones. En el caso de navegadores web, especifi-caremos la dirección de red 0/0, un comodín que quiere decir ”a cualquierdirección”. A continuación, el número de puerto ”original” al que se dirigenlas peticiones, y finalmente, el puerto a donde ”redirigimos” las peticiones.

Como Squid tiene soporte para más protocolos además de http; existe la posi-bilidad de desviar las peticiones dirigidas a otros puertos al proxy, como porejemplo FTP (puerto 21), HTTPS o SSL (Puerto 443).

291SuSE Linux – Enterprise Server 8

Page 308: Sles Admin Ipseries

En el ejemplo dado, los servicios de Web (Puerto 80) se desvían al puertodel proxy (aquí 3128 ). En el caso de disponer de más redes para añadir, sólohace falta separar las diferentes entradas con un espacio en blanco en la líneacorrespondiente.

FW_REDIRECT_TCP="192.168.0.0/16,0/0,80,3128 192.168.0.0/16,0/0,21,3128"

FW_REDIRECT_UDP="192.168.0.0/16,0/0,80,3128 192.168.0.0/16,0/0,21,3128"

Para que el cortafuegos se inicie, y con éste la nueva configuración, se debeeditar una entrada en el archivo /etc/sysconfig/SuSEfirewall2 y po-ner la entrada FW_START en ”yes”:

Inicie Squid tal como se mostró en el apartado Arrancar Squid en la pági-na 282. Para comprobar que todo funciona correctamente, compruebe los ar-chivos de registro de Squid en /var/log/squid/access.log

Para verificar que todos los puertos están correctamente configurados, se pue-de realizar un escaneo de puertos en la máquina, desde una computadoraque esté fuera de la red local. Sólo deberá estar abierto el puerto de servi-cios web (80). Para llevar a cabo el portscan se puede utilizar nmap con lasiguiente sintaxis:

nmap -O direccion_IP

Squid y otros programas

En este capítulo veremos cómo otros programas interactúan con Squid.cachemgr.cgi permite al administrador del sistema comprobar la cantidadde memoria necesaria para cachear los objetos, Squidgrd filtra páginas web, ycalamaris es un generador de informes para Squid.

cachemgr.cgi

El administrador de caché (cachemgr.cgi) es una utilidad CGI para mostrarestadísticas sobre cómo el proceso Squid consume la memoria . Es quizás unaforma más amigable para controlar el uso del caché y ver estadísticas sin ne-cesidad de registrarse en el servidor.

Configuración

En primer lugar, se necesita tener un servidor web corriendo en nuestro sis-tema. Para comprobar si Apache está funcionando, escriba como usuarioroot :

rcapache status .

Si aparece un mensaje como el siguiente:

292 Servidor proxy: Squid

Page 309: Sles Admin Ipseries

11In

tern

et

Checking for service httpd: OKServer uptime: 1 day 18 hours 29 minutes 39 seconds

Es porque Apache ya se está ejecutando en su máquina. Si no es así, escriba:

rcapache start

para iniciar Apache con la configuración por defecto de SuSE Linux.

El último paso es copiar el archivo cachemgr.cgi al directorio de Apachepara las cgi-bin :

cp /usr/share/doc/packages/squid/scripts/cachemgr.cgi

/srv/www/cgi-bin/

Opciones en /etc/squid.conf

Hay algunas opciones configuradas ya por defecto en el archivo de configura-ción para el administrador de caché:

acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255

Con las siguientes normas de acceso:

http_access allow manager localhosthttp_access deny manager

La primera ACL es la más importante, ya que el administrador de caché tra-tará de comunicarse con Squid mediante el protocolo cache_object.

Las normas siguientes asumen que el servidor web y Squid se encuentranen la misma máquina. Si la comunicación entre el administrador de caché ySquid se origina en el servidor de web en otra computadora, tendremos queincluir una ACL extra como en la figura 49.

acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl webserver src 192.168.1.7/255.255.255.255 # IP del servidor web

Fichero 49: Añadiendo una ACL extra

Entonces hay que añadir las reglas siguientes como en la figura 50.

293SuSE Linux – Enterprise Server 8

Page 310: Sles Admin Ipseries

http_access allow manager localhosthttp_access allow manager webserverhttp_access deny manager

Fichero 50: Reglas de acceso

Igualmente también se puede configurar una contraseña para el administra-dor si deseamos tener acceso a más opciones, como por ejemplo poder cerrarel caché de forma remota o ver más información sobre el mismo. En ese casosólo hay que configurar la entrada cachemgr_passwd con una contraseña pa-ra el administrador y la lista de opciones que deseamos ver. Esta lista aparececomo una parte de los comentarios a la entrada en /etc/squid.conf .

Recuerde reiniciar Squid con la opción rcsquid reload para que vuelva aevaluar el fichero de configuración.

Leer las estadísticas

Hay que ir a la página web correspondiente:http://miservidor.ejemplo.org/cgi-bin/cachemgr.cgi

Pulse en ‘continúe’ y navegue a través de las diferentes estadísticas. Hay másdetalles para cada entrada mostrada por el administrador de cachés en laFAQ de Squid en la http://www.squid-cache.org/Doc/FAQ/FAQ-9.html

SquidGuard

Este capítulo no pretende mostrar una configuración completa deSquidGuard, sino más bien presentarlo y comentar sus principios de uso.Para ver las opciones de configuración con más detalle, visite la web deSquidGuard en http://www.squidguard.org .

SquidGuard es un programa gratuito, bajo licencia GPL, que funciona co-mo un filtro flexible ultra rápido, capaz de redireccionar páginas web, y quefunciona como ”plugin de control de acceso” para Squid. Permite definir dife-rentes reglas de acceso con diferentes restricciones para diferentes grupos deusuarios que trabajen sobre un caché de Squid. SquidGuard utiliza la interfazestándar de redirección de Squid.

SquidGuard se puede utilizar para todo esto:

Limitar el acceso por web para una serie de usuarios a una lista de ser-vidores web o URL conocidas y aceptadas.

294 Servidor proxy: Squid

Page 311: Sles Admin Ipseries

11In

tern

et

Bloquear el acceso para algunos usuarios a servidores web o URLs queestén en alguna lista negra.

Bloquear para algunos usuarios el acceso a URLs que coincidan conuna determinada lista de expresiones o palabras.

Redireccionar URLs bloqueadas a una página de información ”inteligen-te” basada en CGI.

Redireccionar usuarios no registrados a una página de registro.

Redireccionar banners a un GIF vacío.

Tener diferentes normas de acceso basadas en la hora del día, día de lasemana, etc.

Tener diferentes normas para diferentes grupos de usuarios.

Y muchas más..

Ni SquidGuard ni Squid se pueden usar para:

Editar, filtrar o censurar texto dentro de documentos.

Editar, filtrar o censurar lenguajes de script con HTML-embebido comoJavaScript o VBscript.

Utilizar SquidGuard

Instale el paquete squidgrd . Edite un fichero mínimo de configuración/etc/squidguard.conf . Hay muchos ejemplos diferentes de configuraciónen http://www.squidguard.org/config/ . Siempre se puede experimen-tar más tarde con configuraciones más complicadas.

El paso siguiente es crear una página web que será la página que mostrará elmensaje de ”acceso denegado”, o una página CGI más o menos inteligente ala cual redirigir Squid en caso que algún cliente pida algún sitio web que estéen la lista negra. Una vez más el uso de Apache es altamente recomendable.

Ahora debemos decirle a Squid que utilice SquidGuard. Lo haremos mediantelas siguientes entradas en el archivo /etc/squid.conf :

redirect_program /usr/bin/squidGuard

Existe todavía otra opción llamada redirect_children que configura cuantosprocesos diferentes para ”redirigir” (en este caso procesos de SquidGuard)correrán en la máquina. SquidGuard es suficientemente rápido para procesar

295SuSE Linux – Enterprise Server 8

Page 312: Sles Admin Ipseries

montones de peticiones. Por eso no se recomienda configurar más de cuatroprocesos a la vez para no gastar memoria innecesariamente para alojar estosprocesos.

redirect_children 4

Y al final de todo, enviar un señal HUP a Squid para que lea la nueva confi-guración:

squid -k reconfigure

A continuación ya se puede comprobar la configuración con cualquier nave-gador.

Generación de informes con Calamaris

Calamaris es un script en Perl utilizado para generar informes de la actividaddel caché en formatos ASCII o HTML. Funciona directamente con los ficherosde registro de acceso de Squid. La página web de Calamaris está en http://Calamaris.Cord.de/

La utilización del programa es bastante fácil. Regístrese como root , y enton-ces:

cat access.log.files | calamaris [options] > reportfile

Es importante al enviar más de un archivo de registro, que éstos estén crono-lógicamente ordenados, esto es, primero los ficheros más antiguos.

Las diferentes opciones:

-a utiliza todos los informes disponibles

-w muestra los resultados en formato HTML

-l muestra un mensaje o un logo en la cabecera del informe

Más información sobre las diferentes opciones del programa se puede encon-trar en la página de manual de calamaris: man calamaris

Un ejemplo típico:

cat access.log.2 access.log.1 access.log | calamaris -a -w \

>/usr/local/httpd/htdocs/Squid/squidreport.html

Colocamos el informe en el directorio del servidor web. Otra vez es necesarioel programa Apache para ver los informes.

Otro completo generador de informes es SARG (Squid Analysis Report Gene-rator). Más información sobre SARG se puede encontrar en las páginas webcorrespondientes en: http://web.onda.com.br/orso/

296 Servidor proxy: Squid

Page 313: Sles Admin Ipseries

11In

tern

et

Más información sobre Squid

Visite la página web de Squid: http://www.squid-cache.org/ . Aquí en-contrará la Guía de Usuario de Squid y una extensa colección de FAQ sobreSquid.

El Mini-Howto sobre proxys transparentes se encuentra en el paquetehowtoen , bajo /usr/share/doc/howto/en/mini/TransparentProxy.gz

También existen listas de correo para Squid en:[email protected] .

El archivo para estas listas se encuentra en:http://www.squid-cache.org/mail-archive/squid-users/

297SuSE Linux – Enterprise Server 8

Page 314: Sles Admin Ipseries
Page 315: Sles Admin Ipseries

12Re

de

sse

gura

s

Redes seguras

Masquerading, Firewall, Kerberos y ssh representan a cuatro de las herra-mientas principales utilizadas para asegurar una red. Este capítulo se enfocaen detallar sus principios básicos así como en proporcionar las instruccionesnecesarias para su utilización.

Cortafuegos y masquerading . . . . . . . . . . . . . . . . . 300SSH – secure shell, la alternativa segura . . . . . . . . . . 305Autentificación en la red — Kerberos . . . . . . . . . . . . 312Instalación y administración de Kerberos . . . . . . . . . . 318

Page 316: Sles Admin Ipseries

Cortafuegos y masquerading

Debido a las extraordinarias características de Linux en lo que se refiere aredes, este sistema se utiliza cada vez más como enrutador (ingl. router) enconexiones tanto adicionales como estándar. Con el concepto de ”enrutador”nos referimos aquí a una computadora que tiene más de una interfaz de redy que reenvía paquetes que no son para una de sus propias interfaces de reda sus equivalentes en otras redes. A menudo a un enrutador se le denomina”pasarela” (ingl. gateway). Los filtros de paquetes disponibles en el kernel deLinux posibilitan un control adecuado sobre los paquetes del tráfico de datosen la red a los que se permite pasar y a los que no.

La configuración de las normas adecuadas para este filtrado de datos requierealgo de experiencia por parte del administrador. SuSE Linux incluye, paralos usuarios con menos experiencia un paquete independiente que facilitan laconfiguración de estas normas: paquete SuSEfirewall2 .

SuSEfirewall2 puedese configurar con gran flexibilidad, lo que le hace muyapropiado para la construcción de complejos filtros.

Mediante esta solución de filtro de paquetes y por medio de masquerading,una computadora Linux puede actuar como enrutador para unir una red in-terna a una única dirección IP visible desde el exterior a través de una líneatelefónica o dedicada. El masquerading se lleva a cabo con ayuda de las nor-mas del filtrado de paquetes.

AvisoEste capítulo describe un procedimiento estándar que debería funcio-nar correctamente en la mayoría de los casos. Sin embargo, aunque lainformación es lo más exacta y completa posible, no se ofrece ningunagarantía. SuSE no asume ninguna responsabilidad sobre el éxito o fra-caso de sus medidas de seguridad. Le agradecemos de antemano suscríticas y sugerencias. Aún cuando no reciba una respuesta directa denuestra parte, puede estar seguro de que agradecemos la crítica y lassugerencias y de que intentaremos incorporar las mejoras.

Aviso

Fundamentos del masquerading

Masquerading es la adaptación a Linux de NAT (Network Address Transla-tion), la traducción de direcciones de red. El principio en el que se sustentano es muy complicado: Su enrutador tiene más de una interfaz de red, que

300 Cortafuegos y masquerading

Page 317: Sles Admin Ipseries

12Re

de

sse

gura

s

por regla general suelen ser una tarjeta de red y un módem (o una interfazISDN). Vd. se conecta con el exterior por medio de una de estas interfaces;otra u otras conectan su computadora con otras computadoras en su mismared. Por ejemplo, se debe conectar al exterior vía ISDN y la interfaz de redexterior es ippp0 . Vd, tiene más de una computadora en la red local conecta-das con la tarjeta de red de su enrutador Linux, que en este ejemplo es eth0 .Las computadoras de la red reenvían todos los paquetes que no son para lapropia red al enrutador o pasarela (ingl. gateway) por defecto.

Atención¡Al configurar su red, tenga cuidado siempre con direcciones de re-transmisión (ingl. broadcast) y máscaras de red coincidentes!

Atención

Si una de las computadoras de su red envía un paquete a Internet, este ate-rrizará en el enrutador por defecto. Este debe estar configurado de tal ma-nera que reenvía tales paquetes. ¡Por razones de seguridad, una instalaciónde SuSE-Linux no lo hará! Modifique la variable IP_FORWARDen el fichero/etc/sysconfig/network/options y dele el valor IP_FORWARD=yes.Para que el reenvío se active, debe reiniciar o escribir el siguiente comando:echo 1 > /proc/sys/net/ipv4/ip_forward

La computadora destino sólo conoce el enrutador, y no la computadora ensí de su red interna desde la que se envió el paquete, puesto que esta quedaescondida detrás del enrutador. De ahí viene el concepto ”enmascarar” (ingl.masquerading). Debido a la traducción de direcciones, la dirección de destinodel paquete de respuesta es de nuevo el enrutador. Este debe reconocer el pa-quete y modificar la dirección de destino para que aterrice en la computadoracorrecta de la red local.

Este reconocimiento de paquetes, de conexiones originadas por el masquera-ding del enrutador, ocurre con ayuda de una tabla que se mantiene directa-mente en el kernel del enrutador, mientras las conexiones correspondientesestén activas. El superusuario (root ) puede ver estas tablas con los coman-dos ipchains o iptables . Consulte estos comandos en las páginas manpara encontrar indicaciones más precisas. A la hora de identificar una deter-minada conexión ”enmascarada”, también son importantes las direccionesdel remitente y de destino, así como el número de protocolo y los protocolosque participan. Con todo esto es posible que su enrutador pueda ”esconder”simultáneamente varios miles de conexiones para cada una de las computa-doras locales.

Puesto que el camino que realizan los paquetes de fuera adentro depende delas tablas del masquerading, no hay ninguna posibilidad de abrir una cone-

301SuSE Linux – Enterprise Server 8

Page 318: Sles Admin Ipseries

xión desde fuera hacia adentro. No habría ninguna entrada para esta cone-xión es las tablas. Una conexión ya establecida tiene un estado asignado enlas tablas, de tal forma que esta entrada no pueda ser utilizada por una se-gunda conexión.

En lo sucesivo esto da lugar a problemas con algunas aplicaciones, como porejemplo, con ICQ, cucme, IRC (DCC, CTCP), Quake y FTP (en modo PORT).Netscape, el programa estándar de FTP y muchas otras utilizan el modoPASV, que causa pocos problemas con el filtrado de paquetes y el masque-rading.

Fundamentos del cortafuegos

El ”cortafuegos” (ingl. firewall) es de hecho el concepto más extendido paraun mecanismo que conecta dos redes y que pretende controlar el tráfico dedatos en la medida de lo posible. Existen distintos tipos de cortafuegos quede hecho se diferencian en el nivel lógico y abstracto en el que se examina ycontrola el tráfico de datos. En realidad, los métodos que presentamos aquí sedeberían llamar con más precisión ”filtro de paquetes”. Un filtro de paquetesregula el pasaje siguiendo criterios como el protocolo, el puerto y la direc-ción IP. De esta forma, también pueden interceptar paquetes que, debido a lasseñas que incluyen, no deberían entrar en su red. Por ejemplo, deben inter-ceptar paquetes que tengan como destino el puerto 23 del servicio de telnetde su computadora. Si quiere, por ejemplo, permitir el acceso a su servidorde web, entonces debe dejar libre el puerto correspondiente. No se examinaráel contenido de estos paquetes, si la dirección es la correcta (por ejemplo, queel destino sea su servidor web). El paquete podría contener un ataque a unprograma CGI de su servidor web y el filtro de paquetes lo dejaría pasar.

Un constructo eficaz, aunque complejo, es la combinación de distintos tiposde elaboración, por ejemplo, un filtro de paquetes al que se le añaden otrasaplicaciones gateway/proxy. El filtro rechazaría paquetes que, por ejemplo,se dirigen a puertos que no están liberados. Sólo dejarían pasar a paquetespara una aplicación gateway. Este proxy actuaría como si fuera el equivalen-te comunicativo real del servidor que establece una conexión con otros. Eneste sentido, se puede considerar a un proxy de este tipo como una máqui-na masquerading en el nivel del protocolo de la aplicación correspondiente.Un ejemplo de este tipo de proxies es Squid, un servidor proxy HTTP, para elque debe configurar su servidor de tal manera que las solicitudes de páginashtml pasen primero por la memoria del proxy y, sólo en caso de no encon-trar allí la página, se envíen a Internet. El paquete proxy de SuSE (el paqueteproxy-suite de la serie sec) contiene a propósito un servidor proxy para elprotocolo FTP.

302 Cortafuegos y masquerading

Page 319: Sles Admin Ipseries

12Re

de

sse

gura

s

A continuación nos concentraremos en dos paquetes de filtros deSuSE-Linux. Para más información y enlaces sobre cortafuegos, leael Firewall HOWTO, que se incluye en paquete howtoes . Si paque-te howtoes está instalado, también lo puede leer con el comandoless /usr/share/doc/howto/es/Cortafuegos-Como.gz .

SuSEfirewall2

La configuración de SuSEfirewall2 requiere un cierto grado de experiencia yconocimientos. En /usr/share/doc/packages/SuSEfirewall2 se en-cuentra la documentación de SuSEfirewall2.

La configuración se puede realizar con YaST2 (‘Seguridad’ ➝ ‘Cortafuegos’)o directamente en el fichero /etc/sysconfig/SuSEfirewall2 . Le guia-remos paso a paso para que pueda realizar una configuración adecuada. Encada punto se indica si es válido para masquerading o para cortafuegos. Enlos ficheros de configuración también se habla de una DMZ (”zona desmilita-rizada”), que no se tratará con más detalle.

En caso de que sólo necesite masquerading, rellene sólo las líneas en las quese indica Masquerading.

Active SuSEfirewall2 con el editor Runlevel de YaST2 para su nivel deejecución (probablemente 3 o 5). De este modo, se introducirán enlacessimbólicos para los scripts SuSEfirewall2_* en los directorios /etc/init.d/rc?.d/ .

FW_DEV_WORLD (firewall, masquerading): Por ejemplo eth0 , comodispositivo que conduce a Internet. Con ISDN es p. ej.ippp0 .

FW_DEV_INT (firewall, masquerading): Introduzca aquí el dispositivoque le indica la red interna, ”privada”. Si no hay ninguna disponibles,déjelo vacío.

FW_ROUTE (firewall, masquerading): Si necesita masquerading, de-be introducir yes en este punto. Las computadoras internas no se-rán visibles desde afuera, ya que tienen direcciones de red privadas(p. ej.192.168.x.x ), que no se muestran en Internet.

Con un cortafuegos sin masquerading, escoja aquí yes , si quiere permi-tir el acceso a la red interna. Para ello, las computadoras internas debentener direcciones IP asignadas oficialmente. ¡En casos normales, no de-bería permitir el acceso desde fuera a las computadoras internas!

303SuSE Linux – Enterprise Server 8

Page 320: Sles Admin Ipseries

FW_MASQUERADE (masquerading): Si necesita masquerading, intro-duzca yes . Tenga en cuenta que es más seguro es que la red internaacceda a Internet a través de un servidor proxy.

FW_MASQ_NETS (masquerading): Indique aquí la computadora ored para la que se realizará masquerading. Separe las entradas conun espacio en blanco. Por ejemplo: FW_MASQ_NETS="192.168.0.0/24192.168.10.1"

FW_PROTECT_FROM_INTERNAL (firewall): Introduzca yes , si tam-bién quiere proteger la computadora que hace de cortafuegos. Pa-ra ello debe dejar libres explícitamente los servicios disponibles pa-ra la red interna. Ver también FW_SERVICES_INTERNAL_TCP yFW_SERVICES_INTERNAL_UDP.

FW_AUTOPROTECT_GLOBAL_SERVICES (firewall): En casos normalesdéjelo en yes .

FW_SERVICES_EXTERNAL_TCP (firewall): Introduzca aquí los ser-vicios a los que se debe tener acceso; p. ej."www smtp ftp domain443" – para la computadora en casa que no ofrece ningún servicio noescriba nada.

FW_SERVICES_EXTERNAL_UDP (firewall): Si no utiliza aún un ser-vidor de nombres al que se debe acceder desde fuera, déjelo vacío. Encaso contrario, indique aquí los puertos adecuados.

FW_SERVICES_INTERNAL_TCP (firewall): Aquí se definen los servi-cios a disposición de la red interna. Las entradas son similares a las deFW_SERVICES_EXTERNAL_TCP, pero aquí se refieren a la red interna.

FW_SERVICES_INTERNAL_UDP (firewall): Ver arriba.

FW_TRUSTED_NETS (firewall): Indique aquí las computadoras ”deconfianza” (ingl. ()trusted hosts). Tenga en cuenta que estas tambiéndeben estar protegidas de posibles invasiones. "172.20.0.0/16172.30.4.2" significa que todas las computadoras cuya direcciónIP empieza con 172.20.x.x , así como la computadora con la direcciónIP 172.30.4.2 , pueden atravesar el cortafuegos.

FW_SERVICES_TRUSTED_TCP (firewall): Indique dirección delpuerto TCP que utilizarán las computadoras de confianza. Escribap. ej.1:65535 , si todas las computadoras de confianza pueden acceder atodos los servicios. Normalmente basta con indicar ssh como servicio.

304 Cortafuegos y masquerading

Page 321: Sles Admin Ipseries

12Re

de

sse

gura

s

FW_SERVICES_TRUSTED_UDP (firewall): Como arriba, pero en rela-ción a UDP.

FW_ALLOW_INCOMING_HIGHPORTS_TCP (firewall): Si trabaja conun FTP normal (activo), introduzca ftp-data .

FW_ALLOW_INCOMING_HIGHPORTS_UDP (firewall): Escriba dns ,para poder utilizar los servidores de nombres introducidos en /etc/resolv.conf . Con yes deja libres todos los números altos de puertos.

FW_SERVICE_DNS (firewall): Si dispone de un servidor de nom-bres, al que debe poder accederse desde fuera, introduzca yes ; enFW_TCP_SERVICES_* se debe liberar el puerto 53.

FW_SERVICE_DHCLIENT (firewall): Si utiliza dhclient, para recibiruna dirección IP, introduzca yes .

FW_LOG_*: Aquí puede configurar con lo que quiere hacerel login. Para el sistema en funcionamiento, basta con yes enFW_LOG_DENY_CRIT.

FW_STOP_KEEP_ROUTING_STATE (firewall): Si accede a Internet auto-máticamente con diald o vía RDSI (dial on demand), introduzca yes .

La configuración ha finalizado. No olvide probar el cortafuegos (p. ej.telnetdesde fuera); deberá ver las siguientes entradas en /var/log/messages :

Feb 7 01:54:14 www kernel: Packet log: input DENY eth0PROTO=6 129.27.43.9:1427 195.58.178.210:23 L=60 S=0x00I=36981 F=0x4000 T=59 SYN (#119)

SSH – secure shell, la alternativa segura

En estos tiempos en los que las redes ya son omnipresentes, el acceso a unsistema es algo evidente. Antes de acceder siempre deberemos autentificar-nos.

Por norma general los usuarios hoy en día deberían ser conscientes de queel nombre de usuario y la contraseña son sólo y exclusivamente para ellos.Llegar a un acuerdo sobre esta relación entre datos y personas es ya normageneral entre las empresas, los centros de informática o los distribuidores delservicio.

305SuSE Linux – Enterprise Server 8

Page 322: Sles Admin Ipseries

Por lo contrario sigue siendo temeraria la práctica que aún existe de enviardatos y autentificaciones en texto legible. Esto atañe principalmente a servi-cios tan usados como son el Post Office Protocol (POP), usado para recogercorreo y telnet, que se usa para identificarse en una computadora remota. Es-tas condiciones de trabajo hacen que datos e informaciones del usuario, con-sideradas privadas (como son p. ej. el contenido de cartas o conversacionesrealizadas a través del comando talk), circulen sin protección alguna a travésde la red. Esto compromete por una parte la privacidad del usuario y por laotra deja abierta la puerta para posibles ataques. Este tipo de accesos se usangeneralmente para poder desde ellos atacar a otros sistemas o para conseguirlos derechos de administrador de ese sistema.El peligro de un sistema se hace evidente, cuando se trabaja a distancia (ingl.remote) a través de la red como usuario root . ¿Usted anunciaría por radiodónde guarda la llave de recambio de su casa?Todos los aparatos encargados del transporte de datos o aparatos usados enla misma red local como son firewall, router, switch, mailserver, estaciones detrabajo, etc., pueden examinar los datos. Al contrario de lo que sucedería conuna carta que ha sido leída por una tercera persona sin autorización durantesu transporte y cuyas modificaciones son perceptibles para todo el mundo, eldestinatario de datos digitales no tendría posibilidad alguna de percatarse sisus datos fueron copiados.Las leyes vigentes prohiben de forma general hechos de este tipo, y hastaexisten sanciones para estos delitos. A pesar de ello es mejor no confiarse, yaque existe una gran variedad de formas de ataque y hay muy pocas formasde protegerse de ellos.Conociendo estos peligros en realidad solo existe como posibilidad de pro-tección separarse de la red. Pero esto es solo posible y deseado en casos muyparticulares. Tampoco es factible desactivar los servicios que pueden ser inter-venidos y que carecen de reemplazo.El software SSH ofrece una buena alternativa a nuestros problemas. Una au-tentificación completa, por norma general se compone de nombre de usuarioy contraseña, y además las comunicaciones se realizan de forma codificada.Y si es cierto que aún así es posible el robo de los datos transmitidos, estosno podrían ser leídos porque están encriptados. De esta manera es posiblecomunicarse de forma segura a través de redes inseguras como InternetSuSE Linux Enterprise Server ofrece el paquete paquete openssh .

El paquete OpenSSH

En SuSE Linux se instala por defecto el paquete OpenSSH, por lo que tendráa su servicio los programas ssh, scp y sftp como alternativa a telnet, rlogin,

306 SSH – secure shell, la alternativa segura

Page 323: Sles Admin Ipseries

12Re

de

sse

gura

s

rsh, rcp y ftp.

El programa ssh

Con el programa ssh se puede conectar a un sistema a distancia y trabajarcon él de forma interactiva. Es por ello que se convierte a la vez en un subs-tituto de telnet y de rlogin. Por razones de parentesco con rlogin, el enlacesimbólico adicional de nombre slogin apunta igualmente a ssh. Por ejemplocon el comando ssh sol podremos registrarnos en la computadora sol .Después de haber introducido el comando, el sistema preguntará mediante.

Después de haber conseguido una autentificación válida se podrá trabajar yasea con la línea de comando, p. ej. con el comando ls o bien de forma inte-ractiva, p. ej. con el programa de administración de SuSE YaST. Si se debe di-ferenciar el nombre de usuario local del sistema remoto, esto se puede hacerpor medio de p. ej.ssh -l juan sol o bien con ssh juan@sol .

Además de ello ssh nos ofrece la posibilidad ya conocida en rsh de ejecutarcomandos en otro sistema. En el siguiente ejemplo se ejecutará el comandouptime en la computadora sol y se creará un directorio con el nombre tmp .Los resultados del programa se visualizarán en la terminal local de la compu-tadora tierra .

tux@tierra:~ > ssh tierra "uptime; mkdir tmp"

tux@tierra’s password:

1:21pm up 2:17, 9 users, load average: 0.15, 0.04, 0.02

Las comillas son en este caso necesarios para unir los comandos. Sólo de estaforma se ejecutará también el segundo comando en la computadora sol .

scp – copiar con seguridad

Con la ayuda de scp se pueden copiar ficheros a una computadora remota.scp es un sustituto seguro y codificado de rcp. Por ejemplo con el comando:scp MiCarta.tex sol: se copiará el fichero MiCarta.tex de la compu-tadora tierra a la computadora sol . En el caso de que los nombres de usu-arios en tierra y sol sean diferentes, en scp habrá que recurrir a escribirNombreUsuario@NombreComputadora . No existe la opción -l .

Después de consultar la contraseña, scp comienza con la transmisión de da-tos y muestra el avance mediante una barra formada por estrellas que crecede izquierda a derecha. Además se muestra en el lado derecho el tiempo res-tante para completar la transmisión (ingl. estimated time of arrival). La opción-q suprime todas las indicaciones en pantalla.

307SuSE Linux – Enterprise Server 8

Page 324: Sles Admin Ipseries

scp ofrece también la posibilidad de transferir de forma recursiva todo undirectorio. El comando: scp -r src/ sol:backup/

copia el contenido completo del directorio src/ con todos los subdirectoriosincluidos a la computadora sol . Debido al nombre de directorio backup/ in-dicado por detrás del nombre de la computadora (sol :), los datos se guardanen sol dentro del directorio backup , que se crea automáticamente en casode que no existiera.

Mediante la opción -p , scp mantiene fecha y hora de los ficheros que se co-pian. Con -C se realiza una transferencia comprimida. Como ventaja el volu-men de datos se disminuye mientras que el esfuerzo de cálculo es más eleva-do. Con la potencia de cálculo de hoy en día se puede despreciar este efecto.

sftp - transmisión segura de datos

Otra posibilidad para la transferencia segura de datos es sftp, que ofrece mu-chos de los comandos conocidos de ftp una vez que la conexión se haya es-tablecido. En comparación a scp resulta mejor cuando se transfieren ficheroscuyos nombres no se conocen.

El daemon SSH (sshd) – el lado del servidor

Para que se puedan utilizar los programas cliente ssh y scp, en el segundoplano se debe ejecutar el SSH-Daemon que espera las conexiones en el puertoTCP/IP Port 22.

Al iniciarse por primera vez, el daemon genera tres pares de llaves que secomponen de una parte pública y una privada. Por el uso de una llave públi-ca, todo el procedimiento se considera como un proceso basado en ”public-key”. Para garantizar la comunicación segura, sólo el administrador de sis-tema debe tener el derecho de acceder a las claves privadas. Por eso en laconfiguración predeterminada los derechos sobre los ficheros se configuran alrespecto. El daemon de SSH utiliza localmente las claves privadas que no sedeben pasar a nadie.

Al contrario las partes públicas de las llaves (se reconocen p. ej. por la exten-sión .pub ) se traspasan a todos los partners en comunicación y son por tantolegibles para todos los usuarios.

El cliente SSH inicia la conexión. El daemon de SSH que se encontraba en es-pera y el cliente que pide una conexión intercambian datos de identificaciónpara utilizar las mismas versiones de protocolo y para evitar la conexión a

308 SSH – secure shell, la alternativa segura

Page 325: Sles Admin Ipseries

12Re

de

sse

gura

s

un puerto equivocado. En realidad es un ”proceso hijo” del daemon SSH ini-cial que responde por lo que se pueden mantener al mismo instante muchasconexiones SSH.

Al utilizar el protocolo SSH versión 1, el servidor procede a mandar su clavepública host key y un server key que crea el SSH-Daemon cada hora de nue-vo. Por medio de estas dos clave el cliente SSH encripta una clave que varíade sesión en sesión (ingl. session key). Aparte de esto indica al servidor el tipode encriptado (ingl. cipher).

El protocolo SSH versión 2 viene sin el server key. En su lugar utiliza un al-goritmo de Diffie-Hellman para intemcambiar las llaves.

Para desencriptar la clave de sesión es imprescindible disponer de las clavesprivadas de host y server; estas no se pueden obtener a base de las partespúblicas. Por eso únicamente el SSH-Daemon contactado es capaz de desci-frar la clave de sesión mediante su clave privada (ver /usr/share/doc/packages/openssh/RFC.nroff ).

Es posible seguir esta fase de establecimiento de conexión mediante la opciónde búsqueda de errores del programa cliente de SSH (opción -v ). Por defectose utiliza el protocolo SSH versión 2, pero sin embargo se puede forzar elprotocolo SSH versión 1 con el parámetro -1 .

Los ataques del tipo ”man-in-the-middle” se evitan, porque el cliente guar-da en ~/.ssh/known_hosts todas las claves públicas del host después dehaber tomado el primer contacto. Los servidores SSH que tratan de camuflar-se con el nombre y la IP de otra computadora se descubren con una alerta.Se delatan ya sea por una clave de host diferente a la que está guardada en~/.ssh/known_hosts o bien no pueden descifrar la clave de sesión por fal-ta de la clave privada correcta.

Es muy recomendable guardar bien las claves públicas y privadas del direc-torio /etc/ssh/ y respaldarlas. Así es posible averiguar modificaciones delas claves y restaurarlas después de una reinstalación. Esta restauración delas claves evita sobre todo que los usuarios se preocupen por el mensaje deadvertencia. Al estar seguro que se trata del servidor SSH correcto, hace faltaquitar la entrada que se refiere a éste del fichero ~/.ssh/known_hosts .

Mecanismos de autentificación de SSH

Al final se realiza la verdadera autentificación en su forma más simple me-diante la indicación de nombre de usuario y contraseña tal como se ha men-cionado en los ejemplos anteriores.

SSH quiere cumplir también con la meta de ser tan sencillo de usar como rshy rlogin para poder reemplazar también a estos programas.

309SuSE Linux – Enterprise Server 8

Page 326: Sles Admin Ipseries

SSH puede realizar la autentificación mediante otro juego de llavescreados a petición del usuario. Para ello el paquete SSH dispone de lautilidad ssh-keygen. Después de introducir ssh-keygen -t rsa ossh-keygen -t dsa pasa un rato hasta que el juego de llaves está crea-do. A continuación el programa consulta el nombre de fichero para guardarlas claves:

Enter file in which to save the key (/home/tux/.ssh/id_rsa):

Al confirmar el lugar predeterminado aparece la pregunta por una frase deacceso. Aunque el programa admite una frase vacía, es mejor introducir untexto de diez a treinta caracteres. Es preferible no utilizar palabras o frasesdemasiado sencillas o cortas. Después de introducirlo, el programa pide unaconfirmación. El programa indica entonces el lugar donde se guardan la claveprivada y la pública; en el ejemplo concreto estos son los ficheros id_rsa yid_rsa.pub .

Enter same passphrase again:Your identification has been saved in /home/tux/.ssh/id_rsa.Your public key has been saved in /home/tux/.ssh/id_rsa.pub.The key fingerprint is:79:c1:79:b2:e1:c8:20:c1:89:0f:99:94:a8:4e:da:e8 tux@sol

El ssh-keygen -p -t rsa o ssh-keygen -p -t dsa sirve para cambiarsu frase de acceso. La parte pública de la clave (en nuestro ejemplo id_rsa.pub ) se ha de copiar a la computadora remota, guardándola allí como ~/.ssh/authorized_keys2 . En el siguiente intento de conectar, SSH preguntapor la frase de acceso. Si esto no funciona, compruebe el lugar y contenidocorrecto de los ficheros anteriormente mencionados.

A la larga este procedimiento es más complicado que la introducción de unacontraseña. Por eso el paquete SSH incorpora otra utilidad llamado ssh-agentque mantiene claves privadas durante una sesión en entorno X. Para realizar-lo, todo el entorno X Windows se inicia como un proceso hijo de ssh-agent.Lo más fácil para conseguirlo es editar el fichero .xsession , poniendo lavariable usessh en yes y después entrar al sistema con un gestor como p. ej.KDM o XDM. Otra posibilidad es la de iniciar el entorno gráfico mediantessh-agent startx.

Ahora se puede utilizar ssh o scp como es habitual y si la clava pública es-tá distribuida como antes, no debería aparecer ninguna comprobación de lacontraseña.

Al salir de la computadora es importante terminar la sesión X o bloquearlamediante un protector de pantalla con contraseña (p. ej. xlock).

310 SSH – secure shell, la alternativa segura

Page 327: Sles Admin Ipseries

12Re

de

sse

gura

s

Todas las modificaciones importantes realizadas con la implantación del pro-tocolo SSH versión 2, también se encuentran documentadas en el fichero/usr/share/doc/packages/openssh/README.SuSE .

”X” y autentificación remota

Aparte de las mejoras en cuanto a la seguridad del sistema, ssh facilita tam-bién el trabajo con aplicaciones de X-Windows remotas. Al utilizar ssh conla opción -X , la variable DISPLAY en la computadora remota se configuraautomáticamente y todas las ventanas del X-Windows se mandan a travésde la conexión ssh existente a la computadora cliente. Esta sencilla funciónevita las posibilidades de captura de datos por parte de terceros en caso deaplicaciones-X remotas con visualización local.

La opción -A traspasa el mecanismo de autentificación de ssh-agent a la si-guiente computadora. Así se puede acceder de una computadora a la otra sinnecesidad de introducir una contraseña. Es algo que sólo funciona si la clavepública se encuentra correctamente en todas las computadoras destino.

Por razones de seguridad los dos mecanismos están desactivados en la confi-guración predeterminada pero se pueden activar de forma permanente en elfichero de configuración global /etc/ssh/ssh_config o en el personal decada usuario ~/.ssh/config .

También se puede utilizar ssh para el desvío de cualquier conexiónTCP/IP. Como ejemplo se muestra el desvío del puerto SMTP y POP3:ssh -L 25:sol:25 sol En este caso cualquier conexión a ”tierra Port25” se desvía al puerto SMTP de sol a través del canal encriptado. Es unprocedimiento especialmente útil para usuarios de servidores SMTP que nodisponen de SMTP-AUTH o de capacidades POP-before-SMTP. Así el servi-dor de correo ”en casa” puede entregar el correo a cualquier lugar con cone-xión a Internet.

El comando: ssh -L 110:sol:110 sol desvía todas las consultas hechasal puerto 110 (POP3) en tierra al puerto POP3 de sol .

Ambos ejemplos exigen la introducción de los comandos como superusua-rio root , ya que las conexiones se realizan con puertos locales privilegiados.Con la conexión SSH establecida, el correo se envía y se recibe como siempreen modo de usuario normal. En tal caso hay que configurar como Host SMTPy POP3 la máquina local localhost .

Se puede conseguir información adicional en la páginas de manual de losdistintos programas y en los ficheros que se encuentran dentro del directorio/usr/share/doc/packages/openssh .

311SuSE Linux – Enterprise Server 8

Page 328: Sles Admin Ipseries

Autentificación en la red — Kerberos

Aparte de los mecanismos habituales de identificación que son inherentemen-te inseguros, no existe ninguna forma de autentificar exactamente en una redabierta, los usuarios de una determinada computadora. Esto quiere decir quecualquier persona puede ser capaz de falsificar su identidad y así recoger lose-mails de otra persona, acceder a los datos privados de ella o iniciar un de-terminado servicio. Por eso la red debe cumplir los siguientes requisitos parapoder ser considerada como segura:

Los usuarios deben acreditar su identidad para cada servicio y se debeasegurar que ningún usuario acoja la identidad de otro.

Cada servidor en la red debe acreditar su identidad. En caso contrarioun atacador puede identificarse como el servidor solicitado y capturarla información confidencial que se esté mandando a éste. Este procesose llama ”Mutual Authentication”, ya que el cliente se identifica frenteal servidor y vice versa.

La autentificación encriptada de Kerberos cumple los requisitos mencionados.A continuación se explica el funcionamiento básico de Kerberos. La imple-mentación utilizada de Kerberos incorpora documentación más detallada alrespecto.

AtenciónKerberos original se desarrolló en el MIT. Aparte de éste(MIT Kerberos) existen otras implementaciones de Kerberos. SuSE LinuxEnterprise Server contiene una implementación libre de Kerberos 5llamada Heimdal Kerberos 5 KTH. Este capítulo se refiere a las propie-dades generales de diferentes Kerberos, por lo que siempre se utilizael término Kerberos salvo que se trate de propiedades específicas deHeimdal.

Atención

Terminología de Kerberos

Antes de comentar los detalles de Kerberos es importante tomar nota de lossiguientes términos:

Credential Los usuarios o clientes tienen que disponer de credenciales queles autorizan a solicitar determinados servicios. Kerberos dispone dedos tipos de credenciales: Tickets y Authenticators.

312 Autentificación en la red — Kerberos

Page 329: Sles Admin Ipseries

12Re

de

sse

gura

s

Ticket Un Ticket es una credencial utilizada por un cliente para solicitar unservicio de un servidor. Contiene el nombre del servidor, el nombre delcliente, la dirección de Internet del cliente, una marca de tiempo (ingl.timestamp), el tiempo de vida de la credencial y una clave de sesión alazar. Todos estos datos se encriptan con la clave del servidor.

Authenticator Junto con el ticket se utiliza el autentificador (ingl. Authenti-cator) para asegurar que el cliente que presenta un ticket realmente esél que presume ser. El autentificador se genera en la estación de trabajomediante su nombre, su dirección IP, la hora actual y se encripta con laclave se sesión solamente conocida por parte del cliente y del servidoral que se solicita el servicio. En comparación a un ticket, el autentifica-dor sólo puede ser usado una vez. El cliente por sí mismo es capaz decrear un autentificador.

Principal Un Principal de Kerberos es una unidad única (un servicio o uncliente) al que se puede asignar un ticket. El Principal se compone delas siguientes partes:

Primary – Es la primera parte que puede ser equivalente al nom-bre de usuario.Instance – Información opcional, describiendo el Primary. Esta ca-dena se separa por el símbolo ‘/’ del Primary.Realm – Realm determina el área de funcionamiento de Kerberos.Normalmente el Realm es equivalente al nombre de dominio enmayúsculas.

Mutual Authentication Al usar Kerberos, el cliente tal como el servidorpueden estar seguros sobre al autenticidad de su contraparte ya quese autentifican mutuamente con una clave de sesión.

Session Key Las claves de sesión (ingl. session key) son claves privadas tem-porales, generadas por parte de Kerberos. Se utilizan para encriptar lacomunicación entre cliente y servidor.

Replay Casi toda información que pasa por una red se puede interceptar,desviar o mandarla nuevamente. En el caso de Kerberos es muy pe-ligroso si un atacador consigue interceptar la petición de servicio quecontiene el ticket y el autentificador. Podría intentar mandar esta infor-mación nuevamente (”Replay”) y acoger así otra identidad. Afortuna-damente Kerberos dispone de diferentes mecanismos para evitar esteproblema.

Server o Service ”Service” (servicio) se utiliza para realizar una determinadaoperación en un ”Server”.

313SuSE Linux – Enterprise Server 8

Page 330: Sles Admin Ipseries

¿Cómo funciona?

Kerberos se denomina frecuentemente como servicio de autentificación deltipo ”Trusted Third Party”. Esto quiere decir que todos los clientes confían enKerberos respecto a la identidad de otras computadoras. Kerberos mantieneuna base de datos con todos los usuarios y sus claves privadas.

Para que Kerberos merezca la confianza depositada en él, el servidor de au-tentificación y el servidor que otorga los tickets han de ejecutarse en una má-quina aparte. Sólo el administrador debe tener acceso al servidor y los servi-cios que se ejecutan en él deben reducirse a un mínimo — ni siquiera sshddebe estar levantado.

Primer contacto El primer contacto con Kerberos se parece al login de cual-quier sistema en red. Al introducir la contraseña, esa información talcomo el nombre del sistema de otorgamiento de tickets, se envía al ser-vidor de autentificación (Kerberos). Si este servidor reconoce la identi-dad, éste genera una clave de sesión al azar para el uso entre el clientey el servidor de otorgamiento de tickets. Ahora el servidor de autentifi-cación genera un ticket para el servidor de otorgamiento de tickets quese compone de los siguientes elementos (toda información se encriptacon una clave de sesión solamente conocida por parte de los servidoresde autentificación y de otorgamiento de tickets):

los nombres de los clientes y del servidor de otorgamiento de tic-kets

la hora actual

el tiempo de vida del ticket

la dirección IP del cliente

la clave de sesión nueva

Ahora el ticket se envía – junto con la clave de sesión – de forma en-criptada al cliente, pero en esta ocasión utilizando la clave privada delcliente. Solo el cliente y Kerberos conocen esta clave, ya que fue gene-rada a partir de la contraseña de usuario. Cuando el cliente recibe estainformación, el usuario tiene que introducir la contraseña. Esta contra-seña se convierte en la clave que es capaz de descifrar la informaciónque fue enviada del servidor de autentificación. Después de descifrar, lacontraseña y la clave se borran de la memoria de la estación de trabajo;ésta es capaz de identificarse correctamente hasta que el tiempo de vidadel ticket otorgado expire.

314 Autentificación en la red — Kerberos

Page 331: Sles Admin Ipseries

12Re

de

sse

gura

s

Solicitud de un servicio Para pedir un servicio de cualquier servidor en lared, la aplicación del cliente tiene que compulsar su identidad. Por esola aplicación genera un identificador (ingl. Authenticator) que se compo-ne de las siguientes partes:

el Principal del cliente

la dirección IP del cliente

la hora actual

Toda esa información se encripta con la clave de sesión que ya recibióel cliente particularmente para ese servidor. El identificador y el ticketpara el servidor se mandan al mismo. El servidor por su parte utili-za su copia de la clave de sesión para decodificar el identificador quele permite obtener toda la información necesaria del cliente que soli-cita el servicio. Esta información se compara con la del ticket. En estepunto existe la posibilidad de un ataque de repetición (ingl. Replay). Elatacador puede intentar enviar nuevamente una solicitud de servicioque haya sido capturada anteriormente en la red. Para evitar este ti-po de ataque, el servidor no acepta ningún paquete que se envía conuna marca de tiempo y un ticket ya recibido. Además es posible recha-zar peticiones de servicio cuya marca de tiempo difiere demasiado deltiempo actual (hacia el futuro o hacia el pasado).

Autentificación mutua Es posible realizar la autentificación de Kerberos enambas direcciones. No sólo se trata del cliente que se identifica frenteal servidor, el servidor también debe identificarse frente al cliente quesolicita un cierto servicio. Por eso el servidor envía también un ciertoidentificador. Este se forma sumando 1 a la suma de control que fue re-cibida del cliente y el resultado se encripta con la clave de sesión com-partida con el cliente. Para el cliente esta respuesta es la compulsa dela autenticidad del servidor y el trabajo entre cliente y servidor puedecomenzar.

Ticket-Granting — Contactar con todos los servidores Los tickets estánpensados para el uso con un solo servidor por lo que hace falta un nue-vo ticket para cada servicio adicional que se solicite. Kerberos imple-menta un mecanismo para obtener tickets de los diferentes servidoresque se denomina ”Ticket Granting Service” (Servicio de expedición detickets). Este servicio también está sometido a los protocolos de accesoya explicados. Siempre que una aplicación necesita un ticket que aúnno se haya otorgado, ésta contacta el servidor de otorgamiento de tic-kets. La solicitud de un ticket se compone de las siguientes partes:

315SuSE Linux – Enterprise Server 8

Page 332: Sles Admin Ipseries

El Principal solicitado

El ticket para el otorgamiento de ticket

El identificador (authenticator)

Igual como los otros servidores, el servidor de otorgamiento de ticketscontrola el ticket recibido y el identificador. En caso de confirmar laautenticidad de ellos, el servidor de otorgamiento de tickets genera unaclave de sesión nueva que se debe utilizar para la conexión del clientecon el servidor nuevo. El siguiente paso es la creación de un ticket parael servidor nuevo con la información siguiente:

El Principal del cliente

El Principal del servidor

La hora actual

La IP del cliente

La clave de sesión recién creada

El tiempo de validez del ticket nuevo equivale al tiempo de vida res-tante del ticket del sistema de otorgamiento de tickets o a un valorpredeterminado para este servicio, dependiendo de cuál es el tiempoinferior. El sistema de otorgamiento de tickets envía este ticket junto auna clave de sesión al cliente. En esta ocasión la respuesta es encriptadacon la clave de sesión que se recibió junto con el ticket original del sis-tema de otorgamiento de tickets. Ahora el cliente es capaz de descifrarla respuesta de un servicio nuevo que se solicite sin necesidad de pedirla contraseña de usuario nuevamente. Esta es la forma de Kerberos deconseguir tickets para el cliente, ”molestando” al usuario una sola vezcon la introducción de la contraseña.

Compatibilidad con Windows 2000 Windows 2000 incorpora una imple-mentación de Kerberos 5 realizada por Microsoft. SuSE Linux Enterpri-se Server utiliza la implementación Heimdal de Kerberos 5 que incor-pora mucha documentación útil sobre el tema; ver Información adicionalsobre Kerberos en la página 318.

Efectos de Kerberos a nivel de usuario

En el caso óptimo, el usuario sólo tiene contacto con Kerberos en el momentode efectuar el login en su estación de trabajo. En ese momento el cliente reci-be un ticket para el otorgamiento de subsiguientes tickets. Cuando el usuario

316 Autentificación en la red — Kerberos

Page 333: Sles Admin Ipseries

12Re

de

sse

gura

s

sale del sistema (logout), los tickets de Kerberos automáticamente se borranpara evitar que otros usuarios puedan identificarse como otro usuario cuandono esté trabajando. Existe un conflicto cuando la sesión de trabajo del usuariodure más tiempo que el tiempo de vida máximo del ticket ”maestro” para elotorgamiento de tickets (10 horas suele ser un valor razonable). Para conse-guir un ticket maestro nuevo, el usuario puede iniciar kinit. No hace falta másque introducir la contraseña nuevamente y Kerberos se encarga de gestionarel acceso a todos los servicios. Mediante klist es posible obtener una lista detodos los tickets que Kerberos obtiene trabajando en segundo plano.

Todas las aplicaciones que figuran a continuación utilizan el mecanismo deautentificación de Kerberos y se encuentran en /usr/lib/heimdal/bin .Ofrecen la misma funcionalidad de sus homólogos de Unix/Linux a la que seañade la ventaja de la autentificación transparente mediante Kerberos:

telnet/telnetd

rlogin

rsh, rcp, rshd

popper/push

ftp/ftpd

su

imapd

pine

No hace falta introducir ninguna contraseña para utilizar estas utilidades,porque Kerberos ya realizó la identificación. Al compilar ssh con soporte deKerberos, ssh es capaz de traspasar todos los tickets obtenidos para una de-terminada estación de trabajo a otra. Después de realizar un login en otraestación de trabajo, ssh se encarga de adaptar el contenido encriptado de lostickets a la situación nueva. No alcanza a copiar sencillamente los tickets deuna computadora a la otra, ya que contienen información específica sobre laestación de trabajo (la dirección IP). XDM y KDM también ofrecen soporte deKerberos. La guía Kerberos V5 UNIX User’s Guide en http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.5/doc/user-guide_toc.htmlofrece información adicional sobre las utilidades de red de Kerberos.

317SuSE Linux – Enterprise Server 8

Page 334: Sles Admin Ipseries

Información adicional sobre Kerberos

SuSE Linux Enterprise Server incorpora una implementación libre deKerberos, denominada Heimdahl. La documentación correspondiente se en-cuentra en /usr/share/doc/packages/heimdal/doc/heimdal.infodespués de haber instalado el paquete heimhahl . Todo el proyecto estádocumentado en Internet baja la dirección http://www.pdc.kth.se/heimdal/ .

La página web oficial de la implementación de Kerberos del MIT reune enla-ces a otras fuentes interesantes:http://web.mit.edu/kerberos/www/

En la siguiente dirección se encuentra un diálogo clásico que explica el fun-cionamiento de Kerberos. No es demasiado técnico y justo por eso es muyinteresante:http://web.mit.edu/kerberos/www/dialogue.html

Otra fuente de información que explica el funcionamiento básico de Kerberosy que tiene diversas citas para seguir estudiando el tema, se encuentra en:ftp://athena-dist.mit.edu/kerberos/doc/usenix.PS

Los siguientes enlaces ofrecen una introducción breve a Kerberos y respondena muchas preguntas en torno a la instalación, configuración y administración:http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.5/doc/user-guide_toc.htmlhttp://www.lns.cornell.edu/public/COMP/krb5/install/install_toc.htmlhttp://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.5/doc/admin_toc.htmlLas FAQ oficial de Kerberos se encuentran en:http://www.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html

Tung, Brian: Kerberos — A Network Authentication System. Addison Wesley,1999. - (ISBN 0-201-37924-4)

Instalación y administración de Kerberos

Esta sección trata los aspectos relacionados con la instalación de la implemen-tación Kerberos Heimdal así como algunas cuestiones de administración. Eltexto asume que está familiarizado con los conceptos básicos de Kerberos (sidesea obtener más información a este respecto, consulte la sección Autentifica-ción en la red — Kerberos en la página 312).

318 Instalación y administración de Kerberos

Page 335: Sles Admin Ipseries

12Re

de

sse

gura

s

Elección de Realms en Kerberos

El ”dominio” de una instalación Kerberos se denomina Realm y se iden-tifica por su nombre, como, por ejemplo, FOOBAR.COMo simplementeCONTABILIDAD. Kerberos distingue entre letras mayúsculas y minúsculas,por lo que foobar.com identifica a un realm diferente a FOOBAR.COM. Utili-zar mayúsculas o minúsculas es una cuestión de preferencias. Sin embargo,es una práctica común reservar las letras mayúsculas para los nombres de losrealm.

Es una buena idea utilizar el nombre de dominio DNS (o un subdominio,tal como CONTABILIDAD.FOOBAR.COM). Como se explica a continuación,la vida de un administrador puede ser mucho más sencilla si configura losclientes Kerberos para localizar el KDC y otros servicios Kerberos a travésde DNS. Para lograr este objetivo, resulta bastante útil que el realm sea unsubdominio del nombre de dominio DNS.

A diferencia del espacio de nombres DNS, Kerberos no dispone deuna estructura jerárquica. No puede configurarse un realm denomina-do FOOBAR.COM, disponer dos ”subrealms” llamados DESARROLLOyCONTABILIDAD bajo él y esperar que los dos realms subordinados heredende alguna forma los principales de FOOBAR.COM. En su lugar, es necesario es-tablecer tres realms independientes, para los cuales será necesario configurarla autenticación ”crossrealm” a fin de que los usuarios de un realm puedaninteractuar con los servidores o usuarios de otro.

Con el fin de lograr una mayor simplicidad, se asume que se está configu-rando sólo un realm para dar servicio a toda la organización. Existen algunosdocumentos, tales como [Tun99], que detallan cómo configurar la autenti-cación crossrealm. Durante el resto de esta sección, se utiliza el nombre derealm SAMPLE.COMpara todos los ejemplos.

Configuración del hardware KDC

El primer paso que ha de dar cuando se desea utilizar Kerberos es configurarun equipo que tome el papel de centro de distribución de claves o KDC (KeyDistribution Center). Esta máquina albergará la base de datos completa deusuarios Kerberos con sus contraseñas y el resto de información relacionada.

El KDC es el elemento más importante dentro de su infraestructura de segu-ridad; si alguien consigue acceder a él, todas las cuentas de usuario y todala estructura protegida por Kerberos estará comprometida. Un atacante conacceso a la base de datos Kerberos puede suplantar a cualquier principal dela base de datos. Asegúrese de que extrema la seguridad alrededor de esteequipo tanto como le sea posible:

319SuSE Linux – Enterprise Server 8

Page 336: Sles Admin Ipseries

Coloque el servidor en un lugar físicamente seguro, tal como una salade servidores cerrada bajo llave a la cual sólo pueda acceder un reduci-do número de personas.

No ejecute ninguna aplicación de red en él a excepción de KDC. Es-to incluye servidores y clientes; por ejemplo, el KDC no debe poderimportar ningún sistema de ficheros a través de NFS o utilizar DHCPpara cargar su configuración de red.

Una de las estrategias que puede seguir para conseguir maximizar laseguridad es realizar, en primer lugar, una instalación mínima del sis-tema, comprobar la lista de paquetes instalados y eliminar todos aque-llos que resulten innecesarios. Esto incluye servidores, tales como inetd,portmap y cups así como cualquiera que esté basado en X11. Incluso lainstalación de un servidor SSH puede suponer un riesgo potencial parala seguridad.

Por razones también de seguridad, no se proporciona ningún accesoen modo gráfico para este equipo mediante un servidor X. Kerberosdispone de su propio interface de administración.

Configure /etc/nsswitch.conf a fin de que sólo se utilicen ficheroslocales para la búsqueda de usuarios y grupos. Modifique las líneas depasswd y group de la siguiente forma:

passwd: filesgroup: files

Edite los ficheros passwd , group , shadow y gshadow en /etc y eli-mine las líneas que comienzan con el carácter + (destinadas a las bús-quedas NIS).

Asimismo, considere la deshabilitación de las búsquedas DNS, ya queexiste un riesgo potencial relacionado con ellas. Si existe algún fallode seguridad en la librería del componente DNS, un atacante podríaengañar al KDC para que realizara una petición DNS que activara elfallo. Para desactivar las búsquedas DNS, simplemente ha de eliminar/etc/resolv.conf .

Deshabilite todas las cuentas de usuario excepto la de root mediante lamodificación de /etc/shadow y reemplace las contraseñas enmascara-das con caracteres * o ! .

320 Instalación y administración de Kerberos

Page 337: Sles Admin Ipseries

12Re

de

sse

gura

s

Sincronización del reloj

Para poder utilizar Kerberos con éxito, asegúrese de que todos los relojes delos sistemas pertenecientes a la organización están sincronizados dentro deun cierto rango. La razón de ser de esta medida reside en que Kerberos in-tentará protegerle de las credenciales ”dobladas”. Un atacante podría obser-var las credenciales Kerberos en la red y reutilizarlas para atacar al servidor.Kerberos emplea una serie de tácticas defensivas para evitar esto. Una deellas consiste en identificar mediante la fecha y la hora sus tickets. Si un ser-vidor recibe un ticket con una fecha y hora que no son las actuales, lo recha-zará.

Por supuesto, Kerberos permite un cierto margen cuando realiza estas compa-raciones. Sin embargo, los relojes de los equipos pueden llegar a ser muy ine-xactos en mantener la hora correcta (no es infrecuente escuchar como algunosrelojes de PC pueden llegar a retrasarse o adelantarse hasta media hora du-rante el transcurso de una semana). Por tanto, es necesario configurar todoslos equipos pertenecientes a la red para que sincronicen sus relojes respecto auna fuente horaria central.

Un método sencillo para lograr este objetivo es instalar un servidor horarioNTP en uno de los equipos e indicar a todos los clientes que sincronicen susrelojes respecto a éste. Este proceso puede llevarse a cabo mediante la ejecu-ción de un demonio NTP en en modo cliente en todos los equipos o ejecutan-do el comando ntpdate una vez al día desde todas las estaciones de trabajo(esta solución sólo es apropiada si se trata de un número reducido de siste-mas).

El propio KDC también necesita estar sincronizado respecto a la fuente ho-raria común. Debido al riesgo en la seguridad que podría producirse si eje-cutara él mismo un demonio NTP, la recomendación es ejecutar un comandontpdate como una entrada cron.

La configuración de un servidor NTP no entra dentro del fin de esta sección.Si necesita recabar más información al respecto, consulte la documentaciónacerca de NTP que se incluye junto al sistema instalado en el fichero /usr/share/doc/packages/xntp-doc .

Configuración del registro

Por defecto, los demonios Kerberos que se ejecutan en el equipo KDC regis-tran la información mediante el demonio syslog. Si desea monitorizar qué es-tá haciendo el KDC, puede procesar los ficheros de registro de forma regulary buscar en ellos eventos inusuales o problemas potenciales.

321SuSE Linux – Enterprise Server 8

Page 338: Sles Admin Ipseries

Para ello, puede utilizar bien un script de escaneo de registros a través de lapropia consola del KDC o copiar los ficheros desde el KDC a otro equipo através de rsync y llevar a cabo el análisis allí. No se recomienda el reenvío delos registros mediante los mecanismos incluidos en syslog ya que la informa-ción atraviesa la red de forma no encriptada.

Instalación del KDC

Esta sección se enfoca en la instalación inicial del KDC, incluyendo la crea-ción de un principal administrativo.

Instalación de los RPMs

Antes de comenzar, instale el software de Kerberos. En el lado del KDC, ins-tale los RPM heimdal y heimdal-lib :

tierra:~ # rpm -ivh heimdal-0*.rpm heimdal-lib-0*.rpm

Edición de krb5.conf

A continuación, edite el fichero de configuración /etc/krb5.conf . El fiche-ro instalado por defecto contiene varias entradas de ejemplo. Asegúrese deque suprime todas estas entradas antes de comenzar.

krb5.conf está compuesto de diferentes secciones, identificadas cada una deellas mediante el nombre de sección incluido entre corchetes como [éstos] .La única sección a considerar en estos momentos es [libdefaults] , la cualtiene un aspecto similar al siguiente:

[libdefaults]default_realm = SAMPLE.COMclockskew = 300

La línea default_realm establece el realm por defecto para las aplicacionesKerberos. clock_skew define la tolerancia para la aceptación de tickets iden-tificados con una fecha y hora que no coincida exactamente con el reloj delequipo KDC. Normalmente, este margen se fija en 300 segundos (5 minutos).Esto significa que un ticket puede disponer de una hora de entre hace 5 mi-nutos y dentro de 5 minutos, desde el punto de vista del servidor. Cuando seutiliza NTP para sincronizar todos los equipos, puede reducir este valor hastaaproximadamente un minuto.

322 Instalación y administración de Kerberos

Page 339: Sles Admin Ipseries

12Re

de

sse

gura

s

Establecimiento de la llave maestra

El próximo paso consiste en inicializar la base de datos en la cual Kerberosalmacena toda la información respecto a los principales. En primer lugar, es-tablezca la llave maestra de la base de datos, la cual se utiliza para protegerésta a una exposición accidental, tal como realizar una copia de seguridad deella en una cinta.

La llave maestra se deriva de una frase de paso y se guarda en un ficherodenominado como el fichero "escondite" (stash file). De esta forma, se consi-gue que no sea necesario escribir la contraseña cada vez que se reinicializa elKDC. Asegúrese de que escoge una buena frase de paso, tal como una proce-dente de un libro abierto por una página al azar.

Cuando realiza copias de seguridad de la base de datos Kerberos (/var/heimdal/heimdal.db ), no copie el fichero escondite (que reside en /var/heimdal/m-key ). De otra forma, aquellas personas que tuvieran acceso a lacinta podrían también desencriptar la base de datos. Por tanto, es una buenaidea mantener una copia de la frase de paso en un lugar seguro y diferente,ya que será necesario utilizarla si ha de restaurar la base de datos desde unacopia de seguridad.

Para fijar la llave maestra, ejecute la utilidad kstash sin ningún argumento eintroduzca la frase de paso dos veces:

tierra:~ # kstash

Master key:<enter pass phrase>Verifying password - Master key:<enter pass phrase again>

Creación del realm

Finalmente, cree las entradas para el realm en la base de datos Kerberos. In-voque la utilidad kadmin con la opción -l tal y como se muestra a continua-ción. Este argumento indica a kadmin que acceda a la base de datos de formalocal. Por defecto, intentará contactar con el servicio admin de Kerberos através de la red. En ese momento, esta conexión no podrá llevarse a cabo yaque el servicio aún no se estará ejecutando.

A continuación, instruya a kadmin que inicialice el realm. Se le solicitará queconteste a una serie de preguntas. Le recomendamos que acepte las respues-tas que sugiere inicialmente kadmin:

tierra:~ # kadmin -l

323SuSE Linux – Enterprise Server 8

Page 340: Sles Admin Ipseries

kadmin> init SAMPLE.COMRealm max ticket life [unlimited]: <press return>Realm max renewable ticket life [unlimited]: <press return>

A fin de verificar que se ha completado el proceso, utilice el comando list:

kadmin> list *[email protected]/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]

Esta acción muestra que ya existe una serie de principales en la base de da-tos. Todos ellos son utilizados por Kerberos para procesos internos.

Creación de un principal

A continuación, cree dos principales Kerberos para usted mismo: un princi-pal ”normal” para el trabajo del día a día y uno para tareas administrativasrelacionadas con Kerberos. Asumiendo que su nombre de usuario es newbie ,siga los siguientes pasos:

tierra:~ # kadmin -l

kadmin> add newbieMax ticket life [1 day]: <press return>Max renewable life [1 week]: <press return>Principal expiration time [never]: <press return>Password expiration time [never]: <press return>Attributes []: <press return>[email protected]’s Password: <type password here>Verifying password: <re-type password here>

Acepte los valores por defecto pulsando�� ��Intro . Elija una buena contraseña.

Seguidamente, cree otro principal denominado newbie/admin mediante lainstrucción add newbie/admin en la línea de comandos de kadmin . El tex-to admin añadido al nombre de usuario es lo que se denomina como rol. Es-te rol se utiliza posteriormente para la administración de la base de datosKerberos.

324 Instalación y administración de Kerberos

Page 341: Sles Admin Ipseries

12Re

de

sse

gura

s

Configuración de la administración remota

A fin de poder añadir o eliminar principales de la base de datos Kerberos sinnecesidad de acceder directamente a la consola del KDC, puede comunicar alservidor de administración Kerberos cuáles son las acciones autorizadas paracada uno de los principales.

Para ello, edite el fichero /var/heimdal/kadmind.acl (ACL es la abre-viatura de Access Control List, lista de control de acceso). El fichero ACLpermite especificar los privilegios de forma muy detallada. Si desea obte-ner más información al respecto, consulte página del manual de kadmind(man 8 kadmind ).

En este momento, asignése únicamente a sí mismo el privilegio de hacer cual-quier cosa que desee en la base de datos mediante la inserción de la siguientelínea en el fichero:

newbie/admin all

Reemplace el nombre de usuario newbie por el suyo propio.

Inicio del KDC

Arranque los demonios KDC. Éstos incluyen el propio kdc (el demonio quegestiona la autenticación de usuario y peticiones de ticket), kadmind (el ser-vidor que lleva a cabo la administración remota) y kpasswddd (que tienecomo misión manejar los aspectos relacionados con las peticiones de modifi-cación de contraseña). Para iniciar el demonio de forma manual, escriba:

tierra:~ # rckdc start

Starting kdc done

Asimismo, asegúrese de que el KDC arranca por defecto cuando se reiniciali-za el servidor. Para ello, puede utilizar el comando insserv kdc .

Configuración de los clientes Kerberos

Cuando se configura Kerberos, existen básicamente dos estrategias que pue-den seguirse: una configuración estática a través del fichero /etc/krb5.conf o una dinámica mediante DNS. Si se utiliza esta última, las aplicacio-nes Kerberos intentarán localizar los servicios KDC a través de los registrosDNS. Con una configuración estática, es necesario añadir los nombres de host

325SuSE Linux – Enterprise Server 8

Page 342: Sles Admin Ipseries

del servidor KDC a krb5.conf (y actualizar el fichero siempre que mueva elKDC o reconfigure el realm de alguna forma).

La configuración basada en DNS es, normalmente, mucho más flexible, sien-do la cantidad de trabajo necesaria para configurar cada uno de los equiposmucho menor. Sin embargo, requiere que el nombre del realm sea bien elmismo que el correspondiente al dominio DNS o bien un subdominio de él.

La configuración de Kerberos vía DNS genera, por otro lado, un contratiemporelacionado con la seguridad, que consiste en que un atacante puede desesta-bilizar seriamente la infraestructura a través de DNS (por ejemplo, cerrandoel servidor de nombres, alterando los registros DNS, etc). En cualquier caso,esto significa que, como mucho, pueda producirse un ataque por denegaciónde servicio. Un escenario similar puede aplicarse en el caso de una configu-ración estática a no ser que se introduzcan únicamente direcciones IP dentrodel fichero krb5.conf en lugar de nombres de host.

Configuración estática

Para la configuración estática, añada las siguientes líneas al fichero krb5.conf (donde kdc.sample.com es el nombre de host del KDC):

[realms]SAMPLE.COM = {

kdc = kdc.sample.comkpasswd_server = kdc.sample.comadmin_server = kdc.sample.com

}

Si dispone de varios realms, simplemente añada otra instrucción a la sección[realms] .

Adicionalmente, añada una línea a este fichero que indique a las aplicacionescómo mapear los nombres de host a un realm. Por ejemplo, cuando se esta-blece una conexión a un host remoto, la librería Kerberos necesita conocer enqué realm está localizado este host. Este extremo ha de ser configurado en lasección [domain_realms] :

[domain_realm].sample.com = SAMPLE.COMwww.foobar.com = SAMPLE.COM

El ejemplo anterior comunica a la librería que todos los hosts en los dominiosDNS sample.com están ubicados en el realm Kerberos SAMPLE.COM. Asi-mismo, un host externo denominado www.foobar.com puede ser tambiénconsiderado como un miembro del realm SAMPLE.COM.

326 Instalación y administración de Kerberos

Page 343: Sles Admin Ipseries

12Re

de

sse

gura

s

Configuración basada en DNS

La configuración Kerberos basada en DNS utiliza en gran medida los regis-tros SRV (consulte el documento (RFC2052 ) A DNS RR for specifying the loca-tion of services ubicado en la dirección http://www.ietf.org ). Estos regis-tros no están soportados en las anteriores implementaciones del servidor denombres BIND. Como mínimo, se requiere la versión 8 de BIND.

El nombre de un registro SRV tiene una forma, en lo que concierne aKerberos, equivalente a la siguiente: _service._proto.realm , donderealm es el realm Kerberos. Recuerde que los nombres de dominio en DNSno distinguen entre mayúsculas y minúsculas, por lo que los realms deKerberos, que sí distinguen este extremo, tienen problemas cuando se utilizaeste método de configuración. _service es un nombre de servicio (se utili-zan nombres diferentes cuando se intenta contactar con el KDC o el serviciode contraseñas, por ejemplo). _proto puede ser bien _udp o _tcp , pero notodos los servicios soportan ambos protocolos.

La parte de datos en los registros de un recurso SRV consiste en un valor deprioridad, un peso, un número de puerto y un nombre de host. La prioridaddefine el orden por el cual debe intentarse la conexión a los hosts (un valormenor indica una prioridad mayor). El peso se utiliza para soportar un cier-to tipo de balanceo de carga entre servidores que disponen de igual priori-dad. Es probable que nunca necesite modificar este argumento, así que puedemantenerlo como cero.

En la actualidad, Heimdal Kerberos examina los siguientes nombres cuandointenta buscar servicios:

_kerberos Define la ubicación del demonio KDC (el servidor que gestio-na la autenticación y asigna los tickets). Los registros típicos poseen elsiguiente formato:

_kerberos._udp.SAMPLE.COM. IN SRV 0 0 88 kdc.sample.com._kerberos._tcp.SAMPLE.COM. IN SRV 0 0 88 kdc.sample.com.

_kpasswd Describe la localización del servidor encargado de atender a laspeticiones de modificación de contraseña. El aspecto habitual de estosregistros se muestra a continuación:

_kpasswd._udp.SAMPLE.COM. IN SRV 0 0 464 kdc.sample.com.

Debido a que kpasswdd no soporta TCP, no debería existir ningún re-gistro _tcp .

_kerberos-adm Informa de la ubicación del servicio de administraciónremota. La forma usual de estas entradas es el siguiente:

327SuSE Linux – Enterprise Server 8

Page 344: Sles Admin Ipseries

_kerberos-adm._tcp.SAMPLE.COM. IN SRV 0 0 749 kdc.sample.com.

Ya que kadmind no proporciona soporte para UDP, no debería mostrar-se ningún registro _udp .

Al igual que sucede con el fichero de configuración estática, existe un me-canismo para informar a los clientes que un host específico está perteneceal realm SAMPLE.COM, aún cuando no forme parte del dominio DNS sam-ple.com DNS. Para ello, se añade un registro TXT a _keberos.hostname ,tal y como se muestra a continuación:

_keberos.www.foobar.com. IN TXT "SAMPLE.COM"

Gestión de los principales

Llegado este punto, ya está en disposición de llevar a cabo tareas administra-tivas relacionadas con Kerberos de forma remota mediante la utilización de laherramienta kadmin. En primer lugar, necesita obtener un ticket para el prin-cipal administrativo y a continuación emplearlo en la conexión al servidorkadmin:

tierra:newbie # kinit newbie/admin

newbie/[email protected]’s Password: <enter password>

tierra:newbie # /usr/sbin/kadmin

kadmin> privschange-password, list, delete, modify, add, get

Para verificar de qué privilegios dispone, puede utilizar el comando privs. Lalista mostrada previamente presenta el conjunto completo de privilegios.

A efectos de ejemplo, proceda a modificar el principal newbie :

kadmin> mod newbieMax ticket life [1 day]:2 daysMax renewable life [1 week]:Principal expiration time [never]:2003-01-01Password expiration time [never]:Attributes []:

328 Instalación y administración de Kerberos

Page 345: Sles Admin Ipseries

12Re

de

sse

gura

s

Esta acción modifica la vida máxima del ticket a dos días y establece la fechade caducidad de la cuenta para el 1 de junio de 2003.

Los comandos básicos de kadmin son los siguientes:

add 〈principal〉 añade un nuevo principal

modify 〈principal〉 edita varios atributos de un principal, tales como la vidamáxima del ticket y la fecha de caducidad de la cuenta

delete 〈principal〉 elimina un principal de la base de datos

rename 〈principal〉 〈newname〉 renombra un principal a 〈newname〉

list 〈pattern〉 visualiza una lista con todos los principales que coinciden conel patrón suministrado. El mecanismo de funcionamiento de los patro-nes es similar al del utilizado en el shell: list newbie* presentaríanewbie y newbie/admin en este ejemplo.

get 〈principal〉 visualiza una información detallada acerca del principal

passwd 〈principal〉 modifica la contraseña del principal

Es posible acceder en todo momento a una función de ayuda introduciendo�� ��? y�� ��Intro , incluyendo durante los mensajes originados por los comandos

tales como modify o add.

La instrucción init utilizada cuando se crea inicialmente el realm (así comoen otras escasas ocasiones) no está disponible en el modo remoto. Para crearun nuevo realm, acceda a la consola del KDC y emplee kadmin en modo lo-cal (indicando la opción -l en la línea de comandos).

Activación del soporte PAM para Kerberos

SuSE Linux Enterprise Server incluye un módulo PAM denominado pam_krb5 que ofrece soporte para el acceso y actualización de contraseña bajoKerberos. Este módulo puede ser utilizado por distintas aplicaciones tales co-mo el acceso a consola, su y las aplicaciones de acceso gráfico como KDM,donde el usuario introduce la contraseña y requiere de la aplicación de au-tenticación la obtención de un ticket inicial Kerberos. Para permitir que losusuarios actualicen de forma transparente su contraseña Kerberos median-te la utilidad estándar passwd (en lugar de tener que emplear el programakpasswd program), añada pam_krb5 a la configuración PAM de passwd.

329SuSE Linux – Enterprise Server 8

Page 346: Sles Admin Ipseries

El módulo pam_krb5 no fue específicamente diseñado para servicios de redque aceptaran tickets Kerberos como parte de la autenticación de usuario;ésta es una historia completamente diferente.

En todos los casos, edite los ficheros de configuración PAM de los serviciosa los que desee añadir soporte Kerberos. Las siguientes aplicaciones puedenhacer uso de pam_krb5 . También se presentan sus ficheros de configuraciónPAM correspondientes.

login /etc/pam.d/loginsu /etc/pam.d/sukdm, gdm, xdm /etc/pam.d/xdmxlock /etc/pam.d/xlockpasswd /etc/pam.d/passwd

Utilización de pam_krb5

Es posible emplear pam_krb5 de dos formas diferentes, dependiendo de siprefiere convertir al KDC en el principal método de autenticación y utilizarlas contraseñas de la tradicional base de datos únicamente como un meca-nismo de soporte o si desea mantener las bases de datos tradicionales co-mo la fuente primaria y sólo quiere emplear pam_krb5 para obtener ticketsKerberos destinados a aquellos usuarios con principales en el KDC. Este úl-timo modelo se revela especialmente útil cuando es necesario realizar unamigración desde algún otro mecanismo de autenticación a Kerberos.

Como Kerberos sólo lleva a cabo la autenticación, aún será necesario un mé-todo para distribuir la información de cuenta restante, tal como el uid y el di-rectorio home. Uno de estos mecanismos es LDAP. No es posible utilizar NISpara este proceso, ya que Linux no soporta en la actualidad ningún esquemade seguridad Kerberos para los servicios de red RPC.

pam_krb5 opcional

En este modo, la autenticación primaria está encuadrada dentro del esque-ma de autenticación ya existente, que consiste en entradas de usuario en elfichero /etc/passwd o una base de datos NIS. La única diferencia está enque, además, si existe un principal Kerberos asociado al usuario, pam_krb5intentará obtener un ticket en nombre del usuario, utilizando para ello la con-traseña suministrada previamente.

Por ejemplo, examine el fichero de configuración PAM para su, el cual contie-ne las siguientes líneas para el servicio auth :

330 Instalación y administración de Kerberos

Page 347: Sles Admin Ipseries

12Re

de

sse

gura

s

auth sufficient pam_rootok.soauth required pam_unix.so nullok

Estas dos líneas indican a la librería PAM que, cuando se produzca la au-tenticación del usuario, lo primero que debe hacer es llamar al módulopam_rootok . Si este módulo responde con éxito (que es el caso cuando elusuario que realiza la llamada es el root), la petición su debe ser aceptadasin llevar a cabo peticiones de autenticación adicionales. De otro modo, PAMprocederá a llamar el módulo pam_unix , el cual realiza un proceso de auten-ticación ”tradicional”, solicitando al usuario su contraseña y comparándolacon la correspondiente a la cuenta del usuario en cuestión.

Para añadir soporte adicional Kerberos, es necesario añadir otro línea trasésta, similar a la siguiente:

auth optional pam_krb5.so try_first_pass \missing_keytab_ok \ccache=SAFE \putenv_direct

Esto hará que se ejecute el módulo pam_krb5 y se ignore cualquier errormarcado por él (por ejemplo, cuando no es posible obtener un ticket parael usuario). Con esta configuración, la contraseña se comprueba siempre conlas entradas correspondientes al marco original de autenticación.

Los cambios para el fichero de configuración PAM son similares en otros ser-vicios. Normalmente, es recomendable añadir la línea pam_krb5 tras la querealiza la llamada a pam_unix o pam_unix2 .

Utilización de pam_krb5 como autenticación primaria

Si ha migrado todos los usuarios a Kerberos, puede utilizar pam_krb5 co-mo el mecanismo primario de autenticación y recurrir al fichero local de con-traseñas si se produce un error como, por ejemplo, cuando no existe ningúnprincipal para un usuario específico o el KDC no está disponible. Con estaconfiguración, todas las cuentas de usuario residirán por defecto en la basede datos Kerberos y el mecanismo de seguridad representado por el ficherolocal de contraseñas sólo será aplicable para cuentas como la de root.

El siguiente ejemplo ilustra cómo modificar /etc/pam.d/su para lograr estasituación (observe el argumento use_first_pass adicional para el módulopam_unix ):

331SuSE Linux – Enterprise Server 8

Page 348: Sles Admin Ipseries

auth sufficient pam_rootok.soauth sufficient pam_krb5.so missing_keytab_ok \

ccache=SAFE \putenv_direct

auth required pam_unix.so use_first_pass nullok

Este cambio incluye pam_krb5 antes que el módulo pam_unix y lo declarasuficiente, lo que significa que PAM regresará si pam_krb5 indica un mensajede éxito e ignorará la ejecución de pam_unix . Por otro lado, si no tiene éxito,continuará y recurrirá al fichero pam_unix.so .

Sin embargo, no todas las aplicaciones pueden ser modificadas tan fácilmentecomo su. A continuación se muestra el fichero PAM para el login (al menoslas líneas relacionadas con el proceso de autenticación):

auth requisite pam_unix2.so nullokauth required pam_securetty.soauth required pam_nologin.soauth required pam_env.soauth required pam_mail.so

Se introduce una línea para pam_krb5 antes de pam_unix2 y, en caso deéxito, se ignora la última, pero continua con los otros módulos. Este procesoes en cierta forma más complicado, tal y como se puede advertir a continua-ción:

auth [success=1 default=ignore] \pam_krb5.so missing_keytab_ok \

ccache=SAFE \putenv_direct

auth requisite pam_unix2.so nullok... rest as above ...

Ello provoca que PAM ignore un módulo (pam_unix2 ) si pam_krb5 comu-nica un mensaje de éxito. Cualquier otro valor de respuesta es ignorado ypam_unix2 se ejecuta igual que antes.

Actualizaciones de contraseña con pam_krb5

Cuando se utiliza Kerberos, normalmente existen dos alternativas para quelos usuarios puedan actualizar su contraseña; mediante la utilidad kpasswd(que se utiliza exclusivamente para las contraseñas Kerberos) o haciendo queel administrador del sistema añada el módulo pam_krb5 a la configuraciónde passwd.

Para ello, modifique /etc/pam.d/passwd de la siguiente forma:

332 Instalación y administración de Kerberos

Page 349: Sles Admin Ipseries

12Re

de

sse

gura

s

auth required pam_krb5.soaccount required pam_unix2.sopassword required pam_pwcheck.so nullokpassword required pam_krb5.sopassword required pam_unix2.so nullok use_first_pass use_authtoksession required pam_unix2.so

Si utiliza un servicio de directorios tal como LDAP, pero ya no lo emplea pa-ra almacenar las contraseñas de usuario (no es una buena idea mantener lascontraseñas en LDAP cuando ya dispone de Kerberos), modifique la configu-ración passwd de PAM de forma equivalente a la siguiente:

auth required pam_krb5.soaccount required pam_unix2.sopassword required pam_pwcheck.so nullokpassword required pam_krb5.so nopasswdverifysession required pam_unix2.so

Configuración de los servidores de red para Kerberos

Hasta ahora, sólo se han tratado las credenciales de los usuarios. Normal-mente, los servidores de red con soporte para Kerberos han de autenticarsea sí mismos con respecto al cliente. Obviamente, no pueden utilizar ticketsKerberos al igual que los usuarios normales ya que resultaría un inconvenien-te para el administrador del sistema tener que obtener nuevos tickets paracada uno de los servicios cada aproximadamente ocho horas.

En lugar de ello, los servidores de red mantienen sus llaves Kerberos en ta-blas de llaves (keytabs) y requieren automáticamente nuevos tickets cuandoresulta necesario.

Generalmente, es necesario al menos un principal para cada host en el quese esté ejecutando un servicio de red con soporte para Kerberos. Este prin-cipal se denomina host/[email protected] , dondemachine.sample.com es el nombre de host del equipo servidor.

En primer lugar, cree el principal. Asegúrese de que dispone de unas creden-ciales administrativas válidas y a continuación añada el nuevo principal:

tierra:~ # kinit newbie/admin

newbie/[email protected]’s Password: <type password>

tierra:~ # kadmin add -r host/machine.sample.com

333SuSE Linux – Enterprise Server 8

Page 350: Sles Admin Ipseries

Max ticket life [1 day]:Max renewable life [1 week]:Principal expiration time [never]:Password expiration time [never]:Attributes []:

En lugar de establecer una contraseña para el nuevo principal, el argumento -r indica a kadmin que genere una llave aleatoria. Es posible llevar a cabo estaacción porque en este caso no se desea que exista ningún tipo de interacciónde usuario en relación a este principal. Se trata de una cuenta de servidorpara el equipo.

Finalmente, extraiga la llave y almacénela en el fichero local que alberga latabla de llaves /etc/krb5.keytab . Este fichero es propiedad del superusuario, por lo que debe acceder como root para ejecutar el comando siguien-te:

tierra:~ # ktutil get host/machine.sample.com

Cuando el proceso se haya completado, no olvide destruir el ticket de ad-ministración que obtuvo previamente a través de kinit mediante el comandokdestroy .

Configuración de sshd para la autenticación Kerberos

Para utilizar sshd con la autenticación Kerberos, edite /etc/ssh/sshd_config y establezca las dos opciones siguientes:

KerberosAuthentication yesKerberosTgtPassing yes

A continuación, reinicie el demonio SSH con la instrucciónrcsshd restart .

En este momento debería poderse conectar mediante autenticación Kerberos.Actualmente, Kerberos sólo está soportado si se utiliza la versión 1 del proto-colo SSH, por lo que el cliente ha de seleccionar éste utilizando el argumento-1 en la línea de comandos:

tierra:newbie # ssh -1 earth.sample.com

Last login: Fri Aug 9 14:12:50 2002 from zamboni.sample.comHave a lot of fun...

tierra:newbie #

334 Instalación y administración de Kerberos

Page 351: Sles Admin Ipseries

12Re

de

sse

gura

s

Utilización de LDAP y Kerberos

Para poder vincular Kerberos con el servidor OpenLDAP, cree un principalldap/earth.sample.com y añádalo a la tabla de llaves:

tierra:~ # kadmin add -r ldap/earth.sample.com

tierra:~ # ktutil get ldap/earth.sample.com

Una vez reiniciado el servidor LDAP mediante el comandorcldap restart , estará en disposición de utilizar las herramientas corres-pondientes, tales como ldapsearch, soportando éstas automáticamente la au-tenticación Kerberos.

tierra:~ # ldapsearch -b ou=People,dc=suse,dc=de ’(uid=newbie)’

SASL/GSSAPI authentication startedSASL SSF: 56SASL installing layers[...]

# newbie, People, suse.dedn: uid=newbie,ou=People,dc=suse,dc=deuid: newbiecn: Olaf Kirch[...]

Recuerde que ldapsearch utiliza Kerberos si visualiza el mensajeSASL/GSSAPI. GSSAPI (General Security Services API) es un interface deprogramación que oculta a la aplicación los detalles relativos a varios me-canismos de autenticación. SASL consiste en un protocolo de red empleadopara transportar la información de autenticación del cliente al servidor y vice-versa.

335SuSE Linux – Enterprise Server 8

Page 352: Sles Admin Ipseries
Page 353: Sles Admin Ipseries

APá

gin

am

an

de

e2fsc

k

Página man de e2fsck

E2FSCK(8) E2FSCK(8)

NAMEe2fsck - check a Linux second extended file system

SYNOPSISe2fsck [ -pacnyrdfvstFSV ] [ -b superblock ] [ -B block-size ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-journal ] [ device

DESCRIPTIONe2fsck is used to check a Linux second extended file sys-tem (e2fs). E2fsck also supports ext2 filesystems coun-taining a journal, which are also sometimes known as ext3filesystems.

device is the special file corresponding to the device(e.g /dev/hdc1).

OPTIONS-a This option does the same thing as the -p option.

It is provided for backwards compatibility only; itis suggested that people use -p option wheneverpossible.

-b superblockInstead of using the normal superblock, use analternative superblock specified by superblock.This option is normally used when the primarysuperblock has been corrupted. The location of thebackup superblock is dependent on the filesystem’sblocksize. For filesystems with 1k blocksizes, abackup superblock can be found at block 8193; forfilesystems with 2k blocksizes, at block 16384; andfor 4k blocksizes, at block 32768.

Page 354: Sles Admin Ipseries

Additional backup superblocks can be determined byusing the mke2fs program using the -n option toprint out where the superblocks were created. The-b option to mke2fs, which specifies blocksize ofthe filesystem must be specified in order for thesuperblock locations that are printed out to beaccurate.

If an alternative superblock is specified and thefilesystem is not opened read-only, e2fsck willmake sure that the primary superblock is updatedappropriately upon completion of the filesystemcheck.

-B blocksizeNormally, e2fsck will search for the superblock atvarious different block sizes in an attempt to findthe appropriate block size. This search can befooled in some cases. This option forces e2fsck toonly try locating the superblock at a particularblocksize. If the superblock is not found, e2fsckwill terminate with a fatal error.

-c This option causes e2fsck to run the badblocks(8)program to find any blocks which are bad on thefilesystem, and then marks them as bad by addingthem to the bad block inode.

-C This option causes e2fsck to write completioninformation to the specified file descriptor sothat the progress of the filesystem check can bemonitored. This option is typically used by pro-grams which are running e2fsck. If the filedescriptor specified is 0, e2fsck will print a com-pletion bar as it goes about its business. Thisrequires that e2fsck is running on a video consoleor terminal.

-d Print debugging output (useless unless you aredebugging e2fsck).

-f Force checking even if the file system seems clean.

-F Flush the filesystem device’s buffer caches beforebeginning. Only really useful for doing e2fscktime trials.

-j external-journalSet the pathname where the external-journal forthis filesystem can be found.

-l filenameAdd the blocks listed in the file specified by

338 Página man de e2fsck

Page 355: Sles Admin Ipseries

APá

gin

am

an

de

e2fsc

k

filename to the list of bad blocks. The format ofthis file is the same as the one generated by thebadblocks(8) program.

-L filenameSet the bad blocks list to be the list of blocksspecified by filename. (This option is the same as

the -l option, except the bad blocks list iscleared before the blocks listed in the file areadded to the bad blocks list.)

-n Open the filesystem read-only, and assume an answerof ’no’ to all questions. Allows e2fsck to be usednon-interactively. (Note: if the -c, -l, or -Loptions are specified in addition to the -n option,then the filesystem will be opened read-write, topermit the bad-blocks list to be updated. However,no other changes will be made to the filesystem.)

-p Automatically repair ("preen") the file systemwithout any questions.

-r This option does nothing at all; it is providedonly for backwards compatibility.

-s This option will byte-swap the filesystem so thatit is using the normalized, standard byte-order(which is i386 or little endian). If the filesys-tem is already in the standard byte-order, e2fsckwill take no action.

-S This option will byte-swap the filesystem, regard-less of its current byte-order.

-t Print timing statistics for e2fsck. If this optionis used twice, additional timing statistics areprinted on a pass by pass basis.

-v Verbose mode.

-V Print version information and exit.

-y Assume an answer of ’yes’ to all questions; allowse2fsck to be used non-interactively.

EXIT CODEThe exit code returned by e2fsck is the sum of the follow-ing conditions:

0 - No errors1 - File system errors corrected2 - File system errors corrected, system should

339SuSE Linux – Enterprise Server 8

Page 356: Sles Admin Ipseries

be rebooted if file system was mounted4 - File system errors left uncorrected8 - Operational error16 - Usage or syntax error128 - Shared library error

SIGNALSThe following signals have the following effect when sentto e2fsck.

SIGUSR1This signal causes e2fsck to start displaying acompletion bar. (See discussion of the -C option.)

SIGUSR2This signal causes e2fsck to stop displaying a com-pletion bar.

REPORTING BUGSAlmost any piece of software will have bugs. If you man-age to find a filesystem which causes e2fsck to crash, orwhich e2fsck is unable to repair, please report it to theauthor.

Please include as much information as possible in your bugreport. Ideally, include a complete transcript of thee2fsck run, so I can see exactly what error messages aredisplayed. If you have a writeable filesystem where thetranscript can be stored, the script(1) program is a handyway to save the output of e2fsck to a file.

It is also useful to send the output of dumpe2fs(8). If aspecific inode or inodes seems to be giving e2fsck trou-ble, try running the debugfs(8) command and send the out-put of the stat(1u) command run on the relevant inode(s).If the inode is a directory, the debugfs dump command willallow you to extract the contents of the directory inode,which can sent to me after being first run through uuencode(1).

Always include the full version string which e2fsck dis-plays when it is run, so I know which version you are run-ning.

AUTHORThis version of e2fsck was written by Theodore Ts’o<[email protected]>.

SEE ALSOmke2fs(8), tune2fs(8), dumpe2fs(8), debugfs(8)

E2fsprogs version 1.25 September 2001 E2FSCK(8)

340 Página man de e2fsck

Page 357: Sles Admin Ipseries

BLa

lice

nc

iap

úblic

ag

en

era

lGN

U(G

PL)

La licencia públicageneral GNU (GPL)

Esta traducción de la GPL se ofrece con el fin de mejorar el entendimiento dela licencia. No se trata de una traducción oficial o jurídicamente reconocida.

La Free Software Foundation (FSF) no edita esta traducción y tampoco la hareconocido como reemplazo oficial de la versión original en inglés (disponi-ble en http://www.gnu.org/copyleft.gpl.html ). Los traductores dela licencia no pueden garantizar que la traducción reproduzca exactamentelas definiciones jurídicas. Para estar seguro que las actividades que esté pla-nificando estén permitidas bajo la licencia GNU-GPL, consulte el original eninglés.

La Free Software Foundation ruega no utilizar esta traducción como licencia ofi-cial para los programas que Usted escriba. En su lugar, acompañe su softwarecon la versión original inglesa de la licencia.

This is a translation of the GNU General Public License into Spanish. This transla-tion is distributed in the hope that it will facilitate understanding, but it is not anofficial or legally approved translation.

The Free Software Foundation is not the publisher of this translation and has notapproved it as a legal substitute for the authentic GNU General Public License. Thetranslation has not been reviewed carefully by lawyers, and therefore the translatorcannot be sure that it exactly represents the legal meaning of the GNU General Pu-blic License. If you wish to be sure whether your planned activities are permitted bythe GNU General Public License, please refer to the authentic English version.

The Free Software Foundation strongly urges you not to use this translation as theofficial distribution terms for your programs; instead, please use the authentic En-glish version published by the Free Software Foundation.

Page 358: Sles Admin Ipseries

GNU GENERAL PUBLIC LICENSEVersion 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Se permite a todo el mundo la copia y distribución de copias literales de estedocumento de licencia, pero no se permite su modificación.

Esta traducción no reemplaza la versión original en inglés de la GPL en elsentido jurídico.

Preámbulo

Las licencias que cubren la mayor parte del software están diseñadas paraquitarle a usted la libertad de compartirlo y modificarlo. Por el contrario, laLicencia Pública General GNU pretende garantizarle la libertad de compar-tir y modificar software libre–para asegurar que el software es libre para to-dos sus usuarios. Esta Licencia Pública General se aplica a la mayor parte delsoftware de la Free Software Foundation y a cualquier otro programa cuyosautores se comprometen a utilizarla. (Alguna parte del software de la FreeSoftware Foundation está cubierto por la Licencia Pública General GNU paraLibrerías). Usted también la puede aplicar a sus programas.

Cuando hablamos de software libre, estamos refiriéndonos a la libertad, no alprecio. Nuestras Licencias Públicas Generales están diseñadas para asegurar-nos de que tenga la libertad de distribuir copias de software libre (y cobrarpor ese servicio si quiere), que reciba el código fuente o que pueda conseguir-lo si lo quiere, que pueda modificar el software o usar fragmentos de él ennuevos programas libres, y que sepa que puede hacer todas estas cosas.

Para proteger sus derechos necesitamos algunas restricciones que prohiban acualquiera negarle a usted estos derechos o pedirle que renuncie a ellos. Estasrestricciones se traducen en ciertas obligaciones que le afectan si distribuyecopias del software, o si lo modifica.

Por ejemplo, si distribuye copias de uno de estos programas, sea gratuita-mente, o a cambio de una contraprestación, debe dar a los receptores todoslos derechos que tiene. Debe asegurarse de que ellos también reciben, o pue-den conseguir, el código fuente. Y debe mostrarles estas condiciones de formaque conozcan sus derechos.

Protegemos sus derechos con la combinación de dos medidas: (1) ponemosel software bajo copyright y (2) le ofrecemos esta licencia, que le da permisolegal para copiar, distribuir y/o modificar el software.

342 Licencia pública general GPL

Page 359: Sles Admin Ipseries

BLa

lice

nc

iap

úblic

ag

en

era

lGN

U(G

PL)

También, para la protección de cada autor y la nuestra propia, queremos ase-gurarnos de que todo el mundo comprende que no se proporciona ningunagarantía para este software libre. Si el software es modificado por cualquieray éste a su vez lo distribuye, queremos que sus receptores sepan que lo quetienen no es el original, de forma que cualquier problema introducido porotros no afecte a la reputación de los autores originales.

Por último, cualquier programa libre está constantemente amenazado por pa-tentes sobre el software. Queremos evitar el riesgo de que los redistribuidoresde un programa libre individualmente obtengan patentes, haciendo el pro-grama propietario a todos los efectos. Para prevenir esto, hemos dejado claroque cualquier patente debe ser concedida para el uso libre de cualquiera, ono ser concedida en absoluto.

Los términos exactos y las condiciones para la copia, distribución y modifica-ción se exponen a continuación.

Licencia pública general GNU

Términos y condiciones para la copia, distribución y modificación

0. Esta Licencia se aplica a cualquier programa u otra obra que contengaun aviso colocado por el propietario del copyright diciendo que puede serdistribuido bajo los términos de esta Licencia Pública General. En adelante,"Programa" se referirá a cualquier programa u obra de esta clase y "una obrabasada en el Programa" se referirá bien al Programa o a cualquier obra de-rivada de este según la ley de copyright. Esto es, una obra que contenga elprograma o una porción de este, bien en forma literal o con modificacionesy/o traducido en otro lenguaje. Por lo tanto, la traducción está incluida sin li-mitaciones en el término "modificación". Cada propietario de una licencia serátratado como "usted".

Cualquier otra actividad que no sea la copia, distribución o modificación noestá cubierta por esta Licencia, está fuera de su ámbito. El acto de ejecutar elPrograma no está restringido, y los resultados del Programa están cubiertosúnicamente si sus contenidos constituyen una obra basada en el Programa,independientemente de haberlo producido mediante la ejecución del progra-ma. Que esto se cumpla, depende de lo que haga el programa.

1. Usted puede copiar y distribuir copias literales del código fuente del Pro-grama, tal y como lo recibió, por cualquier medio, supuesto que de formaadecuada y bien visible publique en cada copia un anuncio de copyright ade-cuado y una renuncia de garantía, mantenga intactos todos los anuncios que

343SuSE Linux – Enterprise Server 8

Page 360: Sles Admin Ipseries

se refieran a esta Licencia y a la ausencia de garantía, y proporcione a cual-quier otro receptor del programa una copia de esta Licencia junto con el Pro-grama.

Puede cobrar un precio por el acto físico de transferir una copia, y puede asu elección ofrecer garantía a cambio de unos honorarios.

2. Usted puede modificar su copia o copias del Programa o cualquier por-ción de él, formando de esta manera una obra basada en el Programa, y co-piar y distribuir esa modificación u obra bajo los términos del apartado 1 an-terior, siempre que además cumpla las siguientes condiciones:

a) Debe procurar que los ficheros modificados incluyan notificaciones des-tacadas manifestando que los ha cambiado y la fecha de cualquier cam-bio.

b) Usted debe procurar que cualquier obra que distribuya o publique, queen todo o en parte contenga o sea derivada del Programa o de cual-quier parte de él, sea licenciada como un todo, sin cargo alguno paraterceras partes bajo los términos de esta Licencia.

c) Si el programa modificado lee normalmente órdenes interactivamen-te cuando al ejecutarse, debe hacer que cuando comience su ejecuciónpara ese uso interactivo de la forma más habitual, muestre o escribaun mensaje que incluya un anuncio de copyright y un anuncio de queno se ofrece ninguna garantía (o por el contrario que sí se ofrece ga-rantía) y que los usuarios pueden redistribuir el programa bajo estascondiciones, e indicando al usuario cómo ver una copia de esta licen-cia. (Excepción: si el propio programa es interactivo pero normalmenteno muestra ese anuncio, no está obligado a que su obra basada en elPrograma muestre ningún anuncio).

Estos requisitos se aplican a la obra modificada como un todo. Si algunas sec-ciones claramente identificables de esa obra no están derivadas del Programa,y pueden razonablemente ser consideradas como obras independientes y se-parados por sí mismas, entonces esta Licencia y sus términos no se aplican aesas partes cuando sean distribuidas como trabajos separados. Pero cuandodistribuya esas mismas secciones como partes de un todo que es una obra ba-sada en el Programa, la distribución de ese todo debe cumplir los términosde esta Licencia, cuyos permisos para otros licenciatarios se extienden al todocompleto, y por lo tanto a todas y cada una de sus partes, con independenciade quién la escribió.

344 Licencia pública general GPL

Page 361: Sles Admin Ipseries

BLa

lice

nc

iap

úblic

ag

en

era

lGN

U(G

PL)

Por lo tanto, no es intención de este apartado reclamar derechos u oponersea sus derechos sobre obras escritas enteramente por usted; sino que la inten-ción es ejercer el derecho de controlar la distribución de obras derivadas ocolectivas basadas en el Programa.

Además, el simple hecho de reunir otro trabajo no basado en el Programacon el Programa (o con un trabajo basado en el Programa) en un medio dealmacenamiento o en un medio de distribución no hace que dicho trabajoentre dentro del ámbito cubierto por esta Licencia.

3. Usted puede copiar y distribuir el Programa (o una obra basada en él,según se especifica en la Sección 2) en forma de código objeto o ejecutablebajo los términos de las Secciones 1 y 2 anteriores mientras cumpla ademásuna de las siguientes condiciones:

a) Acompañarlo con el código fuente completo correspondiente en forma-to legible para un ordenador, que debe ser distribuido bajo los términosde las Secciones 1 y 2 anteriores en un medio utilizado habitualmentepara el intercambio de programas, o

b) Acompañarlo con una oferta por escrito, válida durante al menos tresaños, por un coste no mayor que el de realizar físicamente la distri-bución del fuente, de proporcionar a cualquier tercera parte una copiacompleta en formato legible para un ordenador del código fuente cor-respondiente, que será distribuido bajo las condiciones descritas en lasSecciones 1 y 2 anteriores, en un medio utilizado habitualmente para elintercambio de programas, o

c) Acompañarlo con la información que usted recibió referida al ofreci-miento de distribuir el código fuente correspondiente. (Esta opción sepermite sólo para la distribución no comercial y sólo si usted recibió elprograma como código objeto o en formato ejecutable con una oferta deeste tipo, de acuerdo con la Sección b anterior).

Se entiende por código fuente de un trabajo a la forma preferida de la obrapara hacer modificaciones sobre este. Para una obra ejecutable, se entiendepor código fuente completo todo el código fuente para todos los módulos quecontiene, más cualquier fichero asociado de definición de interfaces, más losguiones utilizados para controlar la compilación e instalación del ejecutable.Como excepción especial el código fuente distribuido no necesita incluir nadaque sea distribuido normalmente (ya sea en formato fuente o binario) con los

345SuSE Linux – Enterprise Server 8

Page 362: Sles Admin Ipseries

componentes fundamentales (compilador, kernel y similares) del sistema ope-rativo en el cual funciona el ejecutable, a no ser que el propio componenteacompañe al ejecutable.

Si la distribución del ejecutable o del código objeto se realiza ofreciendo ac-ceso a una copia desde un lugar designado, entonces se considera el ofreci-miento del acceso para copiar el código fuente del mismo lugar como distri-bución del código fuente, incluso aunque terceras partes no estén obligadas acopiar el fuente junto al código objeto.

4. No puede copiar, modificar, sublicenciar o distribuir el Programa excep-to como está expresamente permitido por esta Licencia. Cualquier intento decopiar, modificar sublicenciar o distribuir el Programa de otra forma es in-válido, y hará que cesen automáticamente los derechos que le proporcionaesta Licencia. En cualquier caso, las partes que hayan recibido copias o de-rechos bajo esta Licencia no verán sus Licencias canceladas, mientras esaspartes continúen cumpliendo totalmente la Licencia.

5. No está obligado a aceptar esta licencia, ya que no la ha firmado. Sin em-bargo, no hay hada más que le proporcione permiso para modificar o distri-buir el Programa o sus trabajos derivados. Estas acciones están prohibidaspor la ley si no acepta esta Licencia. Por lo tanto, si modifica o distribuye elPrograma (o cualquier trabajo basado en el Programa), está indicando queacepta esta Licencia para poder hacerlo, y todos sus términos y condicionespara copiar, distribuir o modificar el Programa o trabajos basados en él.

6. Cada vez que redistribuya el Programa (o cualquier trabajo basado en elPrograma), el receptor recibe automáticamente una licencia del licenciatariooriginal para copiar, distribuir o modificar el Programa, de forma sujeta a es-tos términos y condiciones. No puede imponer al receptor ninguna restricciónmás sobre el ejercicio de los derechos aquí garantizados. No es usted respon-sable de hacer cumplir esta licencia por terceras partes.

7. Si como consecuencia de una resolución judicial o de una alegación de in-fracción de patente o por cualquier otra razón (no limitada a asuntos relacio-nados con patentes) se le imponen condiciones (ya sea por mandato judicial,por acuerdo o por cualquier otra causa) que contradigan las condiciones deesta Licencia, ello no le exime de cumplir las condiciones de esta Licencia. Sino puede realizar distribuciones de forma que se satisfagan simultáneamente

346 Licencia pública general GPL

Page 363: Sles Admin Ipseries

BLa

lice

nc

iap

úblic

ag

en

era

lGN

U(G

PL)

sus obligaciones bajo esta licencia y cualquier otra obligación pertinente en-tonces, como consecuencia, no puede distribuir el Programa de ninguna for-ma. Por ejemplo, si una patente no permite la redistribución libre de derechosde autor del Programa por parte de todos aquellos que reciban copias directao indirectamente a través de usted, entonces la única forma en que podría sa-tisfacer tanto esa condición como esta Licencia sería evitar completamente ladistribución del Programa.Si cualquier porción de este apartado se considera no válido o imposible decumplir bajo cualquier circunstancia particular ha de cumplirse el resto y lasección por entero ha de cumplirse en cualquier otra circunstancia.No es el propósito de este apartado inducirle a infringir ninguna patente niningún otro derecho de propiedad o impugnar la validez de ninguna de di-chas reclamaciones. Este apartado tiene el único propósito de proteger la inte-gridad del sistema de distribución de software libre, que se realiza medianteprácticas de licencia pública. Mucha gente ha hecho contribuciones generosasa la gran variedad de software distribuido mediante ese sistema con la con-fianza de que el sistema se aplicará consistentemente. Será el autor/donantequien decida si quiere distribuir software mediante cualquier otro sistema yuna licencia no puede imponer esa elección.Este apartado pretende dejar completamente claro lo que se cree que es unaconsecuencia del resto de esta Licencia.

8. Si la distribución y/o uso de el Programa está restringido en ciertos paí-ses, bien por patentes o por interfaces bajo copyright, el poseedor del copy-right que coloca este Programa bajo esta Licencia puede añadir una limitaciónexplícita de distribución geográfica excluyendo esos países, de forma que ladistribución se permita sólo en o entre los países no excluidos de esta ma-nera. En ese caso, esta Licencia incorporará la limitación como si estuvieseescrita en el cuerpo de esta Licencia.

9. La Free Software Foundation puede publicar versiones revisadas y/onuevas de la Licencia Pública General de tiempo en tiempo. Dichas versio-nes nuevas serán similares en espíritu a la presente versión, pero pueden serdiferentes en detalles para considerar nuevos problemas o situaciones.Cada versión recibe un número de versión que la distingue de otras. Si elPrograma especifica un número de versión de esta Licencia que se aplica aella y a "cualquier versión posterior", tiene la opción de seguir los términos ycondiciones, bien de esa versión, bien de cualquier versión posterior publica-da por la Free Software Foundation. Si el Programa no especifica un númerode versión de esta Licencia, puede escoger cualquier versión publicada por laFree Software Foundation.

347SuSE Linux – Enterprise Server 8

Page 364: Sles Admin Ipseries

10. Si usted desea incorporar partes del Programa en otros programas librescuyas condiciones de distribución son diferentes, escriba al autor para pedirlepermiso. Si el software tiene copyright de la Free Software Foundation, es-criba a la Free Software Foundation: algunas veces hacemos excepciones enestos casos. Nuestra decisión estará guiada por el doble objetivo de preser-var la libertad de todos los derivados de nuestro software libre y promover elque se comparta y reutilice el software en general.

Ausencia de garantía

11. YA QUE EL PROGRAMA SE LICENCIA LIBRE DE CARGAS, NO SEOFRECE NINGUNA GARANTÍA SOBRE EL PROGRAMA, HASTA LO PER-MITIDO POR LAS LEYES APLICABLES. EXCEPTO CUANDO SE INDIQUELO CONTRARIO POR ESCRITO, LOS POSEEDORES DEL COPYRIGHT Y/UOTRAS PARTES PROVEEN EL PROGRAMA "TAL Y COMO ESTÁ", SIN GA-RANTÍA DE NINGUNA CLASE, YA SEA EXPRESA O IMPLÍCITA, INCLU-YENDO, PERO NO LIMITÁNDOSE A, LAS GARANTÍAS IMPLÍCITAS DECOMERCIABILIDAD Y APTITUD PARA UN PROPÓSITO PARTICULAR.TODO EL RIESGO EN CUANTO A LA CALIDAD Y FUNCIONAMIENTODEL PROGRAMA LO ASUME USTED. SI EL PROGRAMA SE COMPRO-BARA QUE ESTÁ DEFECTUOSO, USTED ASUME EL COSTO DE TODOSERVICIO, REPARACIÓN O CORRECCIÓN QUE SEA NECESARIO.

12. EN NINGÚN CASO, A NO SER QUE SE REQUIERA POR LAS LEYESAPLICABLES O SE ACUERDE POR ESCRITO, PODRÁ NINGÚN POSEE-DOR DE COPYRIGHT O CUALQUIER OTRA PARTE QUE HAYA MODIFI-CADO Y/O REDISTRIBUIDO EL PROGRAMA, SER RESPONSABLE ANTEUSTED POR DAÑOS O PERJUICIOS, INCLUYENDO CUALQUIER DAÑOGENERAL, ESPECIAL, INCIDENTAL O CONSECUENTE DEBIDO AL USOO LA IMPOSIBILIDAD DE PODER USAR EL PROGRAMA (INCLUYENDOPERO NO LIMITÁNDOSE A LA PÉRDIDA DE DATOS O LA PRODUCCIÓNDE DATOS INCORRECTOS O PÉRDIDAS SUFRIDAS POR USTED O PORTERCERAS PARTES O LA IMPOSIBILIDAD DEL PROGRAMA DE OPERARJUNTO A OTROS PROGRAMAS), INCLUSO SI EL POSEEDOR DEL COPY-RIGHT U OTRA PARTE HA SIDO AVISADO DE LA POSIBILIDAD DE TA-LES DAÑOS.

FIN DE TÉRMINOS Y CONDICIONES

Anexo: Cómo aplicar estos términos a sus nuevos programas propios.

Si usted desarrolla un nuevo Programa, y quiere que sea del mayor uso po-sible para el público en general, la mejor forma de conseguirlo es convirtién-

348 Licencia pública general GPL

Page 365: Sles Admin Ipseries

BLa

lice

nc

iap

úblic

ag

en

era

lGN

U(G

PL)

dolo en software libre que cualquiera pueda redistribuir y cambiar bajo estostérminos.

Para hacerlo, añada los siguientes avisos al programa. Lo más seguro es aña-dirlos al principio de cada fichero fuente para comunicar lo más efectivamen-te posible la ausencia de garantía. Además cada fichero debería tener al me-nos la línea de "copyright" y una indicación del lugar donde se encuentra lanotificación completa.

una línea para indicar el nombre del programa y una rápida idea delo que hace

Copyright (C) 19yy nombre del autorThis program is free software; you can redistribute it and/or

modify it under the terms of the GNU General Public License aspublished by the Free Software Foundation; either version 2 ofthe License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied wa-rranty of MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General PublicLicense along with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

En castellano:

Este programa es software libre; usted puede redistribuirloy/o modificarlo bajo los términos de la Licencia Pública GeneralGNU tal y como está publicada por la Free Software Foundation;ya sea la versión 2 de la Licencia o (a su elección) cualquier ver-sión posterior.

Este programa se distribuye con la esperanza de que sea útil,pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implíci-ta de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITOESPECÍFICO. Vea la Licencia Pública General GNU para más de-talles.

Usted debería haber recibido una copia de la Licencia PúblicaGeneral junto con este programa. Si no ha sido así, escriba a laFree Software Foundation, Inc., 59 Temple Place, Suite 330, Bos-ton, MA 02111-1307 USA.

349SuSE Linux – Enterprise Server 8

Page 366: Sles Admin Ipseries

Añada también información sobre cómo contactar con usted mediante correoelectrónico y postal.

Si el programa es interactivo, haga que muestre un pequeño anuncio como elsiguiente, cuando comience a funcionar en modo interactivo:

Gnomovision versión 69, Copyright (C) 19yy nombre del autorGnomovision comes with ABSOLUTELY NO WARRANTY; for

details type ‘show w’. This is free software, and you are welco-me to redistribute it under certain conditions; type ‘show c’ fordetails.

En castellano:

Gnomovision no ofrece ABSOLUTAMENTE NINGUNA GA-RANTÍA; para más detalles escriba ‘show w’. Esto es software li-bre, y se le invita a redistribuirlo bajo ciertas condiciones. Escriba‘show c’ para más detalles.

Los comandos hipotéticos ‘show w’ y ‘show c’ deberían mostrar las partesadecuadas de la Licencia Pública General. Por supuesto, los comandos queuse pueden llamarse de cualquier otra manera. Podrían incluso ser pulsacio-nes del ratón o elementos de un menú—lo que sea apropiado para su progra-ma).

También debería conseguir que el empresario (si trabaja como programador)o su centro académico, si es el caso, firme una "renuncia de copyright" parael programa, si es necesario. A continuación se ofrece un ejemplo, cambie losnombres:

Yoyodyne, Inc., hereby disclaims all copyright interest in theprogram ‘Gnomovision’ (which makes passes at compilers) writ-ten by James Hacker.

Signature of Ty Coon, 1 April 1989Ty Coon, President of Vice

En castellano:

Yoyodyne, Inc. con la presente renuncia a cualquier interés dederechos de copyright con respecto al programa ‘Gnomovision’(que hace pasadas a compiladores) escrito por Pepe Programador.

firma de Pepito Grillo, 1 de abril de 1989Pepito Grillo, Presidente de Asuntillos Varios.

350 Licencia pública general GPL

Page 367: Sles Admin Ipseries

BLa

lice

nc

iap

úblic

ag

en

era

lGN

U(G

PL)

Esta Licencia Pública General no permite incorporar su programa a progra-mas propietarios. Si su programa es una librería de subrutinas, puede con-siderar más útil el permitir el enlazado de aplicaciones propietarias con lalibrería. Si este es el caso, use la Licencia Pública General GNU para Libreríasen lugar de esta Licencia.

351SuSE Linux – Enterprise Server 8

Page 368: Sles Admin Ipseries
Page 369: Sles Admin Ipseries

Bibliografía

[Alm96] ALMESBERGER, Werner: LILO User’s guide, 1996. – (siehe Datei/usr/share/doc/lilo/user.dvi )

[Bai97] BAILEY, Edward C.: Maximum RPM. Red Hat, 1997. – (ISBN 1-888172-78-9)

[BBD+97] BECK, Michael; BÖHME, Harald; DZIADZKA, Mirko; KUNITZ,Ulrich; MAGNUS, Robert ; VERWORNER, Dirk: Linux-Kernel-Programmierung. 4. Aufl. Addison Wesley GmbH, 1997. – (ISBN3-8273-1144-6)

[BD98] BORKNER-DELCARLO, Olaf: Linux im kommerziellen Einsatz. CarlHanser Verlag, 1998. – (ISBN 3-446-19465-7)

[BD99] BORKNER-DELCARLO, Olaf: Das Samba-Buch. SuSE PRESS, 1999. –(ISBN 3-930419-93-9)

[CAR93] COSTALES, Bryan; ALLMAN, Eric ; RICKERT, Neil: sendmail.O’Reilly & Associates, Inc., 1993. – (ISBN 1-56592-056-2)

[CB96] CHESWICK, William R.; BELLOVIN, Steven M.: Firewalls und Sicher-heit im Internet. Addison Wesley GmbH, 1996. – (ISBN 3-89319-875-x)

[CR91] CAMERON, Debra; ROSENBLATT, Bill: Learning GNU Emacs.O’Reilly & Associates, Inc., 1991. – (ISBN 0 937175-84-6)

[CZ96] CHAPMAN, Brent; ZWICKY, Elisabeth D.: Einrichten von InternetFirewalls. Sicherheit im Internet gewährleisten.. O’Reilly & Associates,Inc., 1996. – (ISBN 3-930673312)

Page 370: Sles Admin Ipseries

[DR98] DAWSON, Terry; RUBINI, Alessandro: NET-3 HOWTO, v1.4,August 1998. – (siehe Datei /usr/share/doc/howto/en/NET-3-HOWTO.gz)

[DR99] DAWSON, Terry; RUBINI, Alessandro: NET3-4 HOWTO, v1.5,August 1999. – (siehe Datei /usr/share/doc/howto/en/NET3-4-HOWTO.gz)

[EH98] ECKEL, George; HARE, Chris: Linux – Internet Server. Carl HanserVerlag, 1998. – (ISBN 3-446-19044-9)

[FCR93] FANG, Chin; CROSSON, Bob ; RAYMOND, Eric S.: The Hitchhiker’sGuide to X386/XFree86 Video Timing (or, Tweaking your Monitor forFun and Profit), 1993. – (siehe Datei /usr/X11/lib/X11/doc/VideoModes.doc )

[Fis00] FISCHER, Thorsten: GUI-Programmierung mit GTK+ (Handbuch undReferenz). SuSE PRESS, 2000. – ISBN (3–934678–42–4)

[Fri93] FRISCH, Æleen: Essential System Administration. O’Reilly & Associa-tes, Inc., 1993. – (ISBN 0-937175-80-3)

[Gil92] GILLY, Daniel: UNIX in a nutshell: System V Edition. O’Reilly &Associates, Inc., 1992. – (ISBN 1-56592-001-5)

[GMR97] GOOSSENS, Michel; MITTELBACH, Frank ; RAHTZ, Sebastian: TheLATEX Graphics Companion. Addison Wesley Longman, 1997. – (ISBN0-201-85469-4)

[GMS94] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander:The LATEX Companion. Addison Wesley GmbH, 1994. – (ISBN 0-201-54199-8)

[GMS96] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander:Der LATEX-Begleiter. Addison Wesley GmbH, 1996. – (ISBN 3-89319-646-3)

[GR99] GOOSSENS, Michel; RAHTZ, Sebastian: The LATEX Web Companion.Addison Wesley Longman, 1999. – (ISBN 0-201-43322-7)

[Gri94] GRIEGER, W.: Wer hat Angst vorm Emacs?. Addison Wesley GmbH,1994. – (ISBN 3-89319-620-X)

[GS93] GARFINKEL, Simson; SPAFFORD, Gene: Practical UNIX Security.O’Reilly & Associates, Inc., 1993. – (ISBN 0-937175-72-2)

354 Bibliografía

Page 371: Sles Admin Ipseries

[Hei96] HEIN, Jochen: Linux-Companion zur Systemadministration. AddisonWesley GmbH, 1996. – (ISBN 3-89319-869-5)

[Her92] HEROLD, H.: UNIX Grundlagen. Addison Wesley GmbH, 1992. –(ISBN 3-89319-542-8)

[HHMK96]HETZE, Sebastian; HOHNDEL, Dirk; MÜLLER, Martin ; KIRCH,Olaf: Linux Anwenderhandbuch. 6. Aufl. LunetIX Softfair, 1996. –(ISBN 3-929764-05-9)

[Hof97] HOFFMANN, Erwin: EMail-Gateway mit qmail. In: iX 12 (1997), S.108ff.

[HR98] HÖLZER, Matthias; RÖHRIG, Bernhard: KDE – Das K Desktop Envi-ronment. Computer & Literatur, 1998. – (ISBN 3-932311-50-7)

[HST97] HOLZ, Helmut; SCHMITT, Bernd ; TIKART, Andreas: Linux für In-ternet & Intranet. International Thomson Publishing, 1997. – (ISBN3-8266-0342-7)

[Hun95] HUNT, Craig: TCP/IP Netzwerk Administration. O’Reilly & Associa-tes, Inc., 1995. – (ISBN 3-930673-02-9)

[JT98] JOHNSON, Michael K.; TROAN, Erik W.: Anwendungen entwickelnunter Linux. Addison Wesley GmbH, 1998. – (ISBN 3-8273-1449-6)

[Kie95] KIENLE, Micheal: TIS: Toolkit für anwendungsorientierte Firewall-Systeme. In: iX 8 (1995), S. 140ff.

[Kir95] KIRCH, Olaf: LINUX Network Administrator’s Guide. O’Reilly &Associates, Inc., 1995. – (ISBN 1-56592-087-2)

[Kof99] KOFLER, Michael: Linux – Installation, Konfiguration, Anwendung. 4.Aufl. Addison Wesley GmbH, 1999. – (ISBN 3-8273-1475-5)

[Kop94] KOPKA, Helmut: LATEX-Einführung. Addison Wesley GmbH, 1994. –(ISBN 3-89319-664-1)

[Kopff] KOPKA, Helmut: LATEX. Addison Wesley GmbH, 1996 ff. – 3 Bde.(ISBN 3-8273-1025-3; 3-8273-1229-9; 3-89319-666-8)

[Kun95] KUNITZ, Ulrich: Sicherheit fast kostenlos: Einrichtung eines kos-tenlosen Firewall-Systems. In: iX 9 (1995), S. 176ff.

[Lam90] LAMB, Linda: Learning the vi Editor. O’Reilly & Associates, Inc.,1990. – (ISBN 0-937175-67-6)

355SuSE Linux – Enterprise Server 8

Page 372: Sles Admin Ipseries

[Lef96] LEFFLER, Sam: HylaFAX Home Page, 1996

[Meg98] MEGGINSON, David: Structuring XML Documents. Prentice-Hall,1998. – ISBN (0–13–642299–3)

[Moh98] MOHR, James: UNIX-Windows-Integration. International ThomsonPublishing, 1998. – (ISBN 3-8266-4032-2)

[OT92] O’REILLY, Tim; TODINO, Grace: Managing UUCP and Usenet.O’Reilly & Associates, Inc., 1992. – (ISBN 0-937175-93-5)

[Per94] PERLMAN, G.: Unix For Software Developers. Prentice-Hall, 1994. –(ISBN 13-932997-8)

[POL97] PEEK, Jerry; O’REILLY, Tim ; LOUKIDES, Mike: Unix Power Tools. 2.Aufl. Sebastopol : O’Reilly & Associates, Inc., 1997

[Pug94] PUGH, K.: UNIX For The MS-DOS User. Prentice-Hall, 1994. –(ISBN 13-146077-3)

[Rub98] RUBINI, Alessandro: Linux-Gerätetreiber. O’Reilly & Associates, Inc.,1998. – (ISBN 3-89721-122-X)

[SB92] SCHOONOVER, M.; BOWIE, J.: GNU Emacs. Addison Wesley GmbH,1992. – (ISBN 0-201-56345-2)

[Sch98] SCHEIDERER, Jürgen: Sicherheit Kostenlos - Firewall mit Linux. In:iX 12 (1998)

[Sto98] STOLL, Clifford: Kuckucksei; Die Jagd auf die deutschen Hacker, die dasPentagon knackten. Fischer-TB.-Vlg., 1998. – (ISBN 3596139848)

[SuS02a] SuSE Linux. Manual Básico. 1. Nürnberg : SuSE GmbH, 2002

[SuS02b] SuSE Linux. Aplicaciones. 1. Nürnberg : SuSE GmbH, 2002

[The96] THE XFREE86™-TEAM: XF86Config(4/5) - Configuration File forXfree86™, 1996. – Manual-Page zu XFree86™

[TSP93] TODINO, Grace; STRANG, John ; PEEK, Jerry: Learning the UNIXoperating system. O’Reilly & Associates, Inc., 1993. – (ISBN 1-56592-060-0)

[Tun99] TUNG, Brian: Kerberos — A Network Authentication System. AddisonWesley GmbH, 1999. – (ISBN 0-201-37924-4)

[Wel94] WELSH, Matt: Linux Installation and Getting Started. 2. Aulf. SuSEGmbH, 1994. – (ISBN 3-930419-03-3)

356 Bibliografía

Page 373: Sles Admin Ipseries

BRe

de

sse

gura

s

[WK95] WELSH, Matt; KAUFMAN, Lars: Running Linux. O’Reilly & Asso-ciates, Inc., 1995. – (ISBN 1-56592-100-3)

[WK98] WELSH, Matt; KAUFMAN, Lars: Linux – Wegweiser zur Installation& Konfiguration. 2. Aufl. O’Reilly & Associates, Inc., 1998. – (ISBN3-930673-58-4)

[WM99] WALSH, Norman; MUELLNER, Leonard: DocBook. The DefiniteveGuide. O’Reilly & Associates, Inc., 1999. – ISBN (1–56592–580–7)

[WWH98] WITHERSPOON, Craig; WITHERSPOON, Coletta ; HALL, Jon: Linuxfür Dummies. International Thomson Publishing, 1998. – (ISBN3-8266-2725-3)

357SuSE Linux – Enterprise Server 8

Page 374: Sles Admin Ipseries
Page 375: Sles Admin Ipseries

Índice alfabético

Símbolos/etc/conf.modules . . . . . . . . . . . . . . . . . . 141/etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199/etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . 164/etc/modules.conf . . . . . . . . . . . . . . . . . . 141/etc/named.conf . . . . . . . . . . . . . . . . . . . . . . . . 237/etc/profile . . . . véase bash, /etc/profile/etc/resolv.conf . . . . . . . . . . . . . . . . . . . . 150xdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Aactualización . . . . . . véase YaST2,actualización

onlineActualización con CD de parches . . . . véase

YaST2,Parche-CD-ActualizaciónAdministración de grupos . . . . . . . . . . . . véase

YaST2,Administración de gruposAdministración de usuarios . . . . . . . . . . . . . . . . .

véase YaST2,Administración deusuarios

Advanced Powermanagement . . . . . . . . . . 195Alta disponibilidad

- ArgoUPS . . . . . . . . . . . . . . . . . . . . . . . . 177AMaViS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Apache

- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Apagar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Apple

- Netatalk . . . . . . . . . . . . . . . . . . . . . . . . . 270apsfilter

- Impresora de red . . . . . . . . . . . . . . . 122Aquid

- SARG . . . . . . . . . . . . . . . . . . . . . . . . . . . 296Archivos de registro . . . . . . . . . . . . . . . . . . . . 146Arrancar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

- Concepto . . . . . . . . . . . . . . . . . . . . . . . . 163autoexec.bat . . . . . . . . . . . . . . . . . . . . . . . . . 169autofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178ayuda

- X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Bbash

- /etc/profile . . . . . . . . . . . . . . . . . 145bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

- BIND8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 237- BIND9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

CCD de controladores . . . . véase YaST2,CD de

controladoresComando

- ulimit . . . . . . . . . . . . . . . . . . . . . . . . . 148command not found . . . . . . . . . . . . . . . . . . . . 199Compose . . . . . véase Disposición del teclado,

ComposeConexión a redes . . . . . . . . . . . . . . . . . . . . . . . 207conf.modules . . . . . . . . . . . . . . . . . . . . . . . . . 141configuración

- YaST2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Configuración

- Cambiar . . . . . . . . . . . . . . . . . . . . . . . . . 171- Hora de red . . . . . . . . . . . . . . . . . . . . . 202- IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224- Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

· manual . . . . . . . . . . . . . . . . . . 225–234Configuración de impresoras . . . . . . . . . . . . 16

Page 376: Sles Admin Ipseries

Configuración de Seguridad . . . . . . . . . . . . . . . . .véase YaST2,Configuración deSeguridad

Configuración del monitor . . . . . . . . . . . . . . . 16Configuración del sistema . . . . . . . . . . . . . . 174Configuraciones X11 . . . . . . . . . . . . . . . . . . . . . 16Configurar la hora . . . . . . . . . . . . . . . . . . . . . . 202configuration files

- ifcfg-* . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Consola . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179, 183

- virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Consola de texto . . . . . . . . . . . . . . . . . . . . . . . . 183Consolas virtuales . . . . . . . . . . . . . . . . . . . . . . 150Cortafuegos . . . . . . . . . . . . . . . . . . . . 23, 300, 305

- filtro de paquetes . . . . . . . . . . . . . . . 300- Squid y . . . . . . . . . . . . . . . . . . . . . . . . . 290- SuSEfirewall2 . . . . . . . . . . 300, 303–305

· configur . . . . . . . . . . . . . . . . . . . . . . 303· configuración . . . . . . . . . . . . . . . . . 305

Crash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337Crear usuario

- Problemas . . . . . . . . . . . . . . . . . . . . . . . 231cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146, 180Cuelgue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

DDCF77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Derechos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198Desinstalar

- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283DHCP

- Configuración de un servidor . . . 182- Configuración del cliente . . . . . . . 190- Relay Agent . . . . . . . . . . . . . . . . . . . . . 182

Dirección IP- dinámica . . . . . . . . . . . . . . . . . . . . . . . . 200- IPv6

· Configuración . . . . . . . . . . . . . . . . 224Dirección IP dinámica . . . . . . . . . . . . . . . . . . 200direccines IP

- masquerading . . . . . . . . . . . . . . . . . . . 300Direcciones

- IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212- MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Direcciones IP- IPv6

· Prefijos . . . . . . . . . . . . . . . . . . . . . . . 219Direcciones IP . . . . . . . . . . . . . . . . . . . . . . 212, 214

- Clases de red . . . . . . . . . . . . . . . . . . . 212- IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

· Estructura . . . . . . . . . . . . . . . . . . . . 218- Routing . . . . . . . . . . . . . . . . . . . . . . . . . 212

Direcciones IPv6- Máscaras de red . . . . . . . . . . . . . . . . 220

Disposición del teclado- Compose . . . . . . . . . . . . . . . . . . . . . . . . 151

Distribución del teclado . . . . . . . . . . . . . . . . 150DMA

- Apagar . . . . . . . . . . . . . . . . . . . . . . . . . . 184- Arrancar . . . . . . . . . . . . . . . . . . . . . . . . . 184

DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215, 235- Ficheros de zona . . . . . . . . . . . . . . . . 240- Forwarding . . . . . . . . . . . . . . . . . . . . . . 236- Iniciar . . . . . . . . . . . . . . . . . . . . . . . . . . . 235- Logging . . . . . . . . . . . . . . . . . . . . . . . . . 239- Mail Exchanger . . . . . . . . . . . . . . . . . 216- Opciones . . . . . . . . . . . . . . . . . . . . . . . . 238- servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 19- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284- Zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

DNS-Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DNS:resolución de nombres inversa . . . . 243Domain Name Service . . . . . . . . . . . . . . . . . . 235Dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Dominio DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Dominio NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DVB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

Ee-mail

- configuración con YaST2 . . . . . . . . . 172fsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337Editor para Runlevel . . . . . . . . . . . . . . . . . . . . 170Editor Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . 26enrutado

- masquerading . . . . . . . . . . . . . . . . . . . 300ES-NIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235exportar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

FFHS . . . . . . . . . véase Sistema de ficheros, FHSFichero de configuración . . . . . . . . . . . 174, 237Ficheros

- Permisos sobre ficheros . . . . . . . . . 147Ficheros Core . . . . . . . . . . . . . . . . . . . . . . . . . . . 148ficheros de configuración

- rc.config . . . . . . . . . . . . . . . . . . . . . . . . . . 26- SuSEfirewall2 . . . . . . . . . . . . . . . 303–305- XF86Config . . . . . . . . . . . . . . . . . . . 35, 42

· dispositivo . . . . . . . . . . . . . . . . . . . . . 46· monitor . . . . . . . . . . . . . . . . . . . . . . . . 47· pantalla . . . . . . . . . . . . . . . . . . . . . . . . 45

Ficheros de configuración . . . . . . . . . . . . . . . 225- dhcp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226- exports . . . . . . . . . . . . . . . . . . . . . . . . . . 252

360 Índice alfabético

Page 377: Sles Admin Ipseries

- host.conf . . . . . . . . . . . . . . . . . . . . . . . . 227- ifroute-* . . . . . . . . . . . . . . . . . . . . . . . . . 233- Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226- routes . . . . . . . . . . . . . . . . . . . . . . . . . . . 233- squid.conf . . . . . . . . . . . . . . . . . . 290, 293- squidguard.conf . . . . . . . . . . . . . . . . . 295- wireless . . . . . . . . . . . . . . . . . . . . . . . . . 226

ficheros de registro- XFree86.0.log . . . . . . . . . . . . . . . . . . . . . 35

Ficheros temporales- Eliminar . . . . . . . . . . . . . . . . . . . . . . . . . 181- Eliminar al arrancar . . . . . . . . . . . . . 181

Filtro de impresión- para impresoras de red . . . . . . . . . 122

filtro de paquetes . . . . . . . . . . . . . . . . . . . . . . . 300Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

- Activar . . . . . . . . . . . . . . . . . . . . . . . . . . 174Framebuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149fuente de instalación véase YaST2,fuente de

instalaciónfuentes

- Asiáticas . . . . . . . . . . . . . . . . . . . . . . . . . . 49- codificación . . . . . . . . . . . . . . . . . . . . . . . 49- Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . 50- X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

GGestor de impresión (lpd) . . . . . . . . . . . . . . . 77Ghostscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341Gráfica

- 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249gs . . . . . . . . . . . . . . . . . . . . . . . . . véase Ghostscript

HHardware . . . . . . véase YaST2,Información de

hardware- Hotplug . . . . . . . . . . . . . . . . . . . . . . . . . 184- Impresora . . . . . . . . . . . . . . . . . . . . . . . 197- Joystick . . . . . . . . . . . . . . . . . . . . . . . . . . 186

host.conf- alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228- multi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228- nospoof . . . . . . . . . . . . . . . . . . . . . . . . . 228- order . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227- trim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

HOSTNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226, 227httpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

II18N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46importar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Impresora

- Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 77- Impresora GDI . . . . . . . . . . . . . . . . . . . 59- Lenguajes de impresión . . . . . . . . . . 54

Impresora de red . . . . . . . . . . . . . . . . . . . . . . . 122- Prefiltrado . . . . . . . . . . . . . . . . . . . . . . . 122

Impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53- Resolución de problemas . . . . . . . . . 83

Impresoras no soportadas . . . . . . . . . . . . . . . . 61Imprimir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Info (info ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

- scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 167initrd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Instalación

- Autoinstalación . . . . . . . . . . . . . . . . . . 178Instalar/Eliminar software . . . . . . . . . . . . . véase

YaST2,softwareInterface

- USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Interfaz gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Intermezzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185IP-Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . 200IrDA

- Configurar la interfaz . . . . . . . . . . . 185ispell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

JJava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Kkernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

- módulos . . . . . . . . . . . . . . . . . . . . . . . . . 140Kernel

- Debugging . . . . . . . . . . . . . . . . . . . . . . 200- Sysrq . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

LL10N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

- Configuración . . . . . . . . . . . . . . . . . . . 234Licencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341Linux Standard Base . . . . . . . . . . . . . . . . . . . . 144Local Area Network . . . . . . . . . . . . . véase LANlocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Logfiles . . . . . . . . . . véase Archivos de registro

361SuSE Linux – Enterprise Server 8

Page 378: Sles Admin Ipseries

Logical Volume Manager . . . . . . . . . . . . . véaseYaST2,Gestor Volúmenes Lógicos

Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183lpc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78lpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77lpq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78lpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79lprm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78LSB . . . . . . . . . . . . . véase Linux Standard Baselsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141LVM . . . . . . . . . . . . . . . . . . . . . . véase YaST2,LVM

Mmódulos

- gestión . . . . . . . . . . . . . . . . . . . . . . . . . . 140MacOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270Mail

- Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Manpages . . . . . . . . . . . . . . . véase Páginas manmasquerading . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

- configuración con SuSEfirewall2 303Masquerading . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

- IP-Forwarding . . . . . . . . . . . . . . . . . . . 200Memoria

- Memoria de trabajo . . . . . . . . . . . . . 149modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . 141modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251mountd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251Multi_key . . . . véase Disposición del teclado,

ComposeMultihead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

NName Service Cache Daemon . . . . . . . . . . 231Name Service Switch . . . . . . . . . . . . . . . . . . . 229Nameserver . . . . . . . . . . . . . . . . . . . 227, 231, 235

- BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235NAT . . . . . . . . . . . . . . . . . . . . véase masqueradingNetatalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270NetBIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262NetWare . . . . . . . . . . . . . véase Novell NetWareNetwork File System . . . . . . . . . . . . . véase NFSNetwork Information Service . . . . . véase NISnetworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250NFS-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250NFS-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250nfsd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

- Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . 248NIS-Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Nivel de ejecución . . . . . . . . . . . . . . . . . . . . . . 164Niveles de seguridad

- Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . 266nscd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231nsswitch.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

OOpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . véase SSH

PPáginas man . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

- Disponer de un banco de datos 182Pantalla virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . 46paquete

- (lprng . . . . . . . . . . . . . . . . . . . . . . . . . . . 77- 3dpixms . . . . . . . . . . . . . . . . . . . . . . . . 202- a2ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113- aaa_base . . . . . . . . . . . . . . . . . . . . . . . 146- bind8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 244- binutils . . . . . . . . . . . . . . . . . . . . . . . 139- cross-ppc64-gcc . . . . . . . . . . . . . 139- cups . . . . . . . . . . . . . . . . . . . . . . . 100, 104- cups-client . . . . . . . . . . . 63, 69, 104- cups-drivers . . . . . . . . . . . . . 68, 100- cups-drivers-stp . . . 68, 100, 103- cups-libs . . . . . . . . . . . . . . . . . . . . . . 63- dhcpcd . . . . . . . . . . . . . . . . . . . . . . . . . 256- exports . . . . . . . . . . . . . . . . . . . . . . . . 251- fhs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144- findutils-locate . . . . . . . . . . . . 181- ftpdir . . . . . . . . . . . . . . . . . . . . . . . . . 144- gcc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139- glibc-devel . . . . . . . . . . . . . . . . . . . 139- glibc-info . . . . . . . . . . . . . . . . . . . . 155- gv . . . . . . . . . . . . . . . . . . . . . . . . . . 110, 120- howtoen . . . . . . . . . . . . . . . . . . . . . . . . 297- howtoes . . . . . . . . . . . . . . . . . . . . . . . . 303- isapnp . . . . . . . . . . . . . . . . . . . . . . . . . . . 72- kernel-source . . . . . . . . . . . . . . . . 139- libcinfo . . . . . . . . . . . . . . . . . . . . . . . 229- logrotate . . . . . . . . . . . . . . . . 146, 198- lpdfilter . . . . . . . . . . . . . . . . . . . . . . 83- lprng . . . . . . . . . . . . . . . . . . 63, 124, 125- netatalk . . . . . . . . . . . . . . . . . . 270, 276- openssh . . . . . . . . . . . . . . . . . . . . . . . . 306- psutils . . . . . . . . . . . . . . . . . . . . 86, 115- radvd . . . . . . . . . . . . . . . . . . . . . . . . . . . 225- samba . . . . . . . . . . . . . . . . . . . . . . . . . . . 263- samba-client . . . . . . . 101, 103, 126- squidgrd . . . . . . . . . . . . . . . . . . . . . . . 295- SuSEfirewall2 . . . . . . . . . . . 174, 300- ttmkfdir . . . . . . . . . . . . . . . . . . . . . . . . 51- xntp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

362 Índice alfabético

Page 379: Sles Admin Ipseries

- yudit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Particionar . . . . . . . . . . véase YaST2,Particionarpasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194permisos

- por defecto . . . . . . . . . . . . . . . . . . . . . . . 22Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198Permisos de ficheros . . . . . . . . . . . . . . . . . . . . 198Portátiles

- PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . 194portmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251Postfix

- Mail-Relaying . . . . . . . . . . . . . . . . . . . 183printserver-box . . . . . . . . . . . . . . . . . . . . . . . . . . 123Programar

- Ficheros Core . . . . . . . . . . . . . . . . . . . 148Protocolos

- ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209- IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209- TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . 208- UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

Proxy- FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198- HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278- transparente . . . . . . . . . . . . . . . . . . . . . 289- Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . 278

Puerto- IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76- serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Puertos- paralelos . . . . . . . . . . . . . . . . . . . . . . . . . . 70

RRamdisk

- Ramdisk inicial . . . . . . . . . . . . . . . . . . 187Ratón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

- YaST2 y . . . . . . . . . . . . . . . . . . . . . . . . . . 17Red

- Autentificación· Kerberos . . . . . . . . . . . . . . . . . . . . . . 312

- Configuración . . . . . . . . . . . . . . . 225–234· IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . 224

- Configuración básica . . . . . . . . . . . . 190- Configuración de un servidor DHCP

182- Configurar la tarjeta de red . . . . . 193- DHCP Relay . . . . . . . . . . . . . . . . . . . . 182- Dirección base . . . . . . . . . . . . . . . . . . . 214- Direcciones IP . . . . . . . . . . . . . . . . . . . 212- DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215- Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

- Ficheros de configuración . . . . . . . 225- Localhost . . . . . . . . . . . . . . . . . . . . . . . . 214- Monitor . . . . . . . . . . . . . . . . . . . . . . . . . 178- NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193- Routing . . . . . . . . . . . . . . . . . . . . . . . . . 212- Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207- Máscaras de red . . . . . . . . . . . . . . . . 212- Routing . . . . . . . . . . . . . . . . . . . . . . . . . 212

Registro de arranque . . . . . . . . . . . . . . . . . . . . . 31Registro de sistema . . . . . . . . . . . . . . . . . . . . . . 32Reiniciar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Reloj ”atómico” . . . . . . . . . . . . . . . . . . . . . . . . . 203Resolución de nombres

- NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227resolv.conf . . . . . . . véase /etc/resolv.conf, 231rmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Router

- IP-Forwarding . . . . . . . . . . . . . . . . . . . 200Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212, 233

- estático . . . . . . . . . . . . . . . . . . . . . . . . . . 233- Máscaras de red . . . . . . . . . . . . . . . . 212- routes . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

RPC-Mount-Daemon . . . . . . . . . . . . . . . . . . . . 251RPC-NFS-Daemon . . . . . . . . . . . . . . . . . . . . . . . 251RPC-Portmapper . . . . . . . . . . . . . . . . . . . 250, 251RPM

- Banco de datos . . . . . . . . . . . . . . . . . . 178Runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

- cambiar . . . . . . . . . . . . . . . . . . . . . . . . . . 166

SSamba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

- Niveles de seguridad . . . . . . . . . . . 266SaX2

- Multihead . . . . . . . . . . . . . . . . . . . . . . . . 39Script

- init.d· inetd . . . . . . . . . . . . . . . . . . . . . . . . . 233· network . . . . . . . . . . . . . . . . . . . . . . 233· nfsserver . . . . . . . . . . . . . . . . . . . . . 233· portmap . . . . . . . . . . . . . . . . . . . . . . 233· sendmail . . . . . . . . . . . . . . . . . . . . . 233· ypbind . . . . . . . . . . . . . . . . . . . . . . . 233· ypserv . . . . . . . . . . . . . . . . . . . . . . . . 233

Scripts de arranque . . . . . . . . . . . . . . . . . . . . . 233secure shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305Secure Shell Daemon . . . . . . . . . . . . . . . . . . . 199seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

- Cortafuegos . . . . . . . . . . . . . . . . . . . . . 305Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

- Cortafuegos . . . . . . . . . . . . . . . . . . . . . 300- Firewall . . . . . . . . . . . . . . . . . . . . . . . . . 300

363SuSE Linux – Enterprise Server 8

Page 380: Sles Admin Ipseries

- Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279- SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305- SSH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Selección de zona horaria . . . . . . . . . . . . . . . . 30Seleccionar el idioma . . . . . . . . . . . . . . . . . . . . 31serie

- doc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229- n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225- xap . . . . . . . . . . . . . . . . . . . . . . . . . . . 50, 51

Servicio de nombres . . . . . . . . . . . . . . . . . . . . 262Servidor de nombres . . . . . . . . . . . . . . . 231, 235

- BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235Servidor FTP

- Configurar . . . . . . . . . . . . . . . . . . . . . . 144Servidor HTTP

- Configurar . . . . . . . . . . . . . . . . . . . . . . 145Servidor NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Servidor NNTP . . . . . . . . . . . . . . . . . . . . . . . . . 193servidores NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Share . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263Sistema de ficheros

- FHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144- Intermezzo . . . . . . . . . . . . . . . . . . . . . . 185- Reconstruir . . . . . . . . . . . . . . . . . . . . . . 337- TeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Sistema de impresión . . . véase Spool-systemsistema spool

- Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 78- Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 77- Impresora de red . . . . . . . . . . . . . . . 122

Sistema X Window . . . . . . . . . . . . . . . . . . véase XSMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Soft-RAID . . . . . . . . . . . véase YaST2,Soft-RAIDSpool-system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

- Apache . . . . . . . . . . . . . . . . . . . . . . . . . . 292- Arrancar . . . . . . . . . . . . . . . . . . . . . . . . . 282- Cachear objetos . . . . . . . . . . . . . . . . . 280- cachemgr.cgi . . . . . . . . . . . . . . . . . . . . . 292- Caches . . . . . . . . . . . . . . . . . . . . . . . . . . 279- Calamaris . . . . . . . . . . . . . . . . . . . . . . . 296- Características . . . . . . . . . . . . . . . . . . . 278- Control de acceso . . . . . . . . . . . . . . . 287- Control de accesos . . . . . . . . . . . . . . 293- Cortafuegos . . . . . . . . . . . . . . . . . . . . . 290- CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282- Discos duros . . . . . . . . . . . . . . . . . . . . 281- DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284- Estadísticas . . . . . . . . . . . . . . . . . . . . . . 292- Permisos . . . . . . . . . . . . . . . . . . . . . . . . 287- Proxy transparente . . . . . . . . . . . . . . 289- Proxy-Cache . . . . . . . . . . . . . . . . . . . . . 278- RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

- Seguridad . . . . . . . . . . . . . . . . . . . . . . . 279- SquidGuard . . . . . . . . . . . . . . . . . . . . . 294- Tamaño del caché . . . . . . . . . . . . . . . 281

SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305–311- Autentificación . . . . . . . . . . . . . . . . . . 309- scp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307- sftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308- ssh-agent . . . . . . . . . . . . . . . . . . . . . . . . 310- sshd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

Startup-Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . 233SuSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143SuSEconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199SuSEconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171SuSEConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171SuSE Linux Enterprise Server . . . . . . . . . . 143

- Distribución del teclado . . . . . . . . . 150- Particularidades . . . . . . . . . . . . . . . . . 143

Syn Flood Protection . . . . . . . . . . . . . . . . . . . . 200/etc/sysconfig . . . . . . . . . . . . . . . . . . . . . . 171Syslog-Daemon

- Configurar . . . . . . . . . . . . . . . . . . . . . . 200- syslog-ng . . . . . . . . . . . . . . . . . . . . . . . . 201

Sysrq . . . . . . . . . . . . . . . . . . . . véase Kernel, Sysrq

Ttarjeta de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Tarjeta gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Tarjetas PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208, 209

- Modelo de capas . . . . . . . . . . . . . . . . 209TCP/Servicios . . . . . . . . . . . . . . . . . . . . . . . . . . . 208Teclado

- BloqDespl . . . . . . . . . . . . . . . . . . . . . . . 187- BloqMayús . . . . . . . . . . . . . . . . . . . . . . 187- BloqNum . . . . . . . . . . . . . . . . . . . . . . . . 187- Distribución . . . . . . . . . . . . . . . . . . . . . 187- Repetición . . . . . . . . . . . . . . . . . . . . . . . 187- Retardo . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Terminal X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202TeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201Texinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Tiempo del sistema . . . . . . . . . . . . . . . . . . . . . 179Tkinfo (tkinfo ) . . . . . . . . . . . . . . . . . . . . . . . . . 148

UUDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . véase TCPugidd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253ulimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

VVariable de entorno

- LANG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188- LC_* . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

364 Índice alfabético

Page 381: Sles Admin Ipseries

- PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv- PRINTER . . . . . . . . . . . . . . . . . . . . . . . . . 79

Wwhois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Windowmanager . . . . . . . . . . . . . . . . . . . . . . . . 201Windows

- SMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

XX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

- controladores . . . . . . . . . . . . . . . . . . . . . 47- fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 48- historia . . . . . . . . . . . . . . . . . . . . . . . . . . . 33- Optimización . . . . . . . . . . . . . . . . . . . . . 42- pantalla virtual . . . . . . . . . . . . . . . . . . . 46- XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

X11- Administrador de ventanas . . . . . 183

XInfo (xinfo ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

YYaST2

- Actualización . . . . . . . . . . . . . . . . . . . . . 15- Actualización con CD de parches 15- Actualización online en consola . . 12- Administración de grupos . . . . . . . 20- Administración de usuarios . . . . . . 19- CDs de controladores del fabricante

32- Configuración de impresoras . . . . . 16- Configuración de red . . . . . . 222, 224- Configuración del monitor . . . . . . . 16- configuración del sistema . . . . . . . . . 9- Copias de seguridad . . . . . . . . . . . . . 25- cortafuegos . . . . . . . . . . . . . . . . . . . . . . . 23- Editor para Runlevel . . . . . . . . . . . . 170- Editor para sysconfig . . . . . . . . . . . . 26- Editor Runlevel . . . . . . . . . . . . . . . . . . 26

- Editor Sysconfig . . . . . . . . . . . . . . . . . 173- eliminación de software . . . . . . . . . . 13- Enrutador . . . . . . . . . . 19, véase YaST2,

enrutador- fuente de instalación . . . . . . . . . . . . . 11- Gestor Volúmenes Lógicos . . . . . . . 28- Hardware . . . . . . . . . . . . . . . . . . . . . . . . . 15- Imprimir . . . . . . . . . . . . . . . . . . . . . . . . . 16- Información de hardware . . . . . . . . 16- instalación de software . . . . . . . . . . . 13- Interfaz gráfica . . . . . . . . . . . . . . . . . . . 16- Logical Volume Manager . . . . . . . . . 28- LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28- modo texto . . . . . . . . . . . . . . . . . . . . . . . . 3- ncurses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3- Particionar . . . . . . . . . . . . . . . . . . . . . . . . 27- postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17- rc.config . . . . . . . . . . . . . . . . . . . . . 26, 173- red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17- Seguridad de sistema . . . . . . . . . . . . 20- Selección de zona horaria . . . . . . . . 30- Seleccionar el idioma . . . . . . . . . . . . . 31- sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . 17- servidor DNS . . . . . . . . . . . . . . . . . . . . 19- servidor NFS . . . . . . . . . . . . . . . . . . . . . 19- Servidor NIS . . . . . . . . . . . . . . . . . . . . . 19- Soft-RAID . . . . . . . . . . . . . . . . . . . . . . . . 29- Tarjeta gráfica . . . . . . . . . . . . . . . . . . . . 16- YaST Actualización Online . . . . . . . 11- Yellow Pages . véase YaST2, servidor

NIS- YOU . . . . . . . . . . . . . . . . . . . . . . . . . 11, 194

Yellow Pages . . . . . . . . . . . . . . . . . . . . . véase NISYOU . . . . . . . . . . . . . . . . . . . . . . . véase YaST,YOUYP

- Opciones . . . . . . . . . . . . . . . . . . . . . . . . 203

ZZona horaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204