031-035_ltsp-linuxmagazine35

5
31 Número 35 WWW.LINUX - MAGAZINE.ES U nix es una plataforma ideal para servidores de terminal. Los numerosos servicios con capacidad de red, como la interfaz gráfica X11, la terminal remota SSH o el sistema de archivos NFS, son estánda- res maduros y estables desde hace años. Pero una buena computación basada en servidores implica que la experiencia del usuario ha de ser idéntica a la de trabajar directamente con la aplicación. Los programas deben reproducir su sonido en el sistema del cliente, aunque la aplicación se ejecute en el servidor; las memorias USB insertadas en el cliente deben ser accesibles desde las aplicaciones en ejecución en el servidor; y las impresoras conectadas al cliente deben ser visibles desde el sistema servidor de terminal. El proyecto Linux Terminal Project (LTSP) [1] es un proyecto de código abierto com- prometido con la construcción de un sis- tema avanzado de servidor de terminal para Linux. LTSP combina X Window, SSH, y NFS para ofrecer acceso a impresoras loca- les, dispositivos y tarjetas de sonido en con- figuraciones de arranque por red. Combina también de forma inteligente servicios de red esenciales para dar lugar a una solución de servidor de terminal muy completa, fácil de instalar y de mantener. La potencia y facilidad de configuración de LTSP le con- vierte en el favorito de las escuelas y los proyectos de ayuda al desarrollo. Una Mirada Interior En el corazón de cualquier ins- talación de LTSP hay un entorno chroot que contiene todos los sistemas necesa- rios. Un servidor de X mínimo se inicia en el cliente ligero, y automáticamente conecta con el servi- dor de terminal. Hasta la versión 4 de LTSP, el entorno de chroot era una distribu- ción separada con un juego de herramien- tas de administración. De cualquier modo, el entorno comprendía principal- mente una combinación de proyectos como Glibc o X.org, lo que a menudo se convertía en un problema. Estos pro- yectos se encuentran en continuo desarrollo y reciben regularmente actualizaciones de seguridad, teniendo que ser portadas a LTSP. LTSP 5 Con LTSP 5 se optó por algo distinto. En lugar de publicar una recolección de proyectos, como se hacía anterior- mente, los programadores se centraron en los componentes principales de LTSP. Ahora podemos disfrutar de acceso por parte del servidor a los periféricos conectados a los clientes ligeros, además de los scripts de inicio y las configu- raciones personalizadas. En LTSP 5 es la distribución del servidor quien proporciona el resto de paquetes del programa, así como la mayor parte de las herramientas. Esto permite una emulación granular del entorno de chroot, la actualización de los pro- gramas instalados y la ins- talación de otros nuevos vía apt-get. Aparte de Debian, actual- mente es Ubuntu el mayor contribu- yente al desarrollo de LTSP 5. Esto explica porqué son estas dis- tribuciones, y sus ramifica- ciones Edubuntu y Skoleli- nux, quienes integran las implementaciones de LTSP 5 más avanzadas. Si nos encontramos configurando un servidor de terminal para LTSP, las estimaciones acerca de los requerimien- tos de hardware variarán enormemente dependiendo del uso que le vayamos a dar. En escenarios típicos de oficinas, el tamaño de memoria mínimo ronda los 256MB de RAM para el servi- dor, más 64MB de RAM por cada usuario registrado en él. Una CPU de gama media, corriendo a 2 GHz, es suficiente para 15 ó 20 usua- rios en un entorno LTSP • PORTADA A SU SERVICIO Iniciándonos en el Proyecto Linux Terminal Server El proyecto LTSP (Linux Terminal Server Project) ofrece un método exhaustivo para el servicio de ter- minal en Linux, incluyendo la facilidad de acceso a tarjetas de sonido locales, impresoras o memorias USB. POR CHRISTIAN KROLL SCOTT MAXWELL, FOTOLIA

Upload: adrian-burelos

Post on 10-Aug-2015

37 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 031-035_ltsp-linuxmagazine35

31Número 35W W W . L I N U X - M A G A Z I N E . E S

Unix es una plataformaideal para servidores determinal. Los numerosos

servicios con capacidad de red, como lainterfaz gráfica X11, la terminal remota SSHo el sistema de archivos NFS, son estánda-res maduros y estables desde hace años.Pero una buena computación basada enservidores implica que la experiencia delusuario ha de ser idéntica a la de trabajardirectamente con la aplicación.

Los programas deben reproducir susonido en el sistema del cliente, aunque laaplicación se ejecute en el servidor; lasmemorias USB insertadas en el clientedeben ser accesibles desde las aplicacionesen ejecución en el servidor; y las impresorasconectadas al cliente deben ser visiblesdesde el sistema servidor de terminal.

El proyecto Linux Terminal Project (LTSP)[1] es un proyecto de código abierto com-prometido con la construcción de un sis-tema avanzado de servidor de terminal paraLinux. LTSP combina X Window, SSH, yNFS para ofrecer acceso a impresoras loca-les, dispositivos y tarjetas de sonido en con-figuraciones de arranque por red. Combinatambién de forma inteligente servicios dered esenciales para dar lugar a una soluciónde servidor de terminal muy completa, fácilde instalar y de mantener. La potencia yfacilidad de configuración de LTSP le con-vierte en el favorito de las escuelas y losproyectos de ayuda al desarrollo.

Una Mirada InteriorEn el corazón de cualquier ins-talación de LTSP hay unentorno chroot que contienetodos los sistemas necesa-

rios. Un servidorde X mínimo se inicia en el cliente ligero,y automáticamente conecta con el servi-dor de terminal. Hasta la versión 4 deLTSP, el entorno de chroot era una distribu-ción separada con un juego de herramien-tas de administración. De cualquiermodo, el entorno comprendía principal-mente una combinación de proyectoscomo Glibc o X.org, lo que a menudo seconvertía en un problema. Estos pro-yectos se encuentran en continuodesarrollo y reciben regularmenteactualizaciones de seguridad, teniendoque ser portadas a LTSP.

LTSP 5Con LTSP 5 se optó por algo distinto.En lugar de publicar una recolecciónde proyectos, como se hacía anterior-mente, los programadores se centraronen los componentes principales deLTSP. Ahora podemos disfrutar deacceso por parte del servidor a losperiféricos conectados a losclientes ligeros, además de losscripts de inicio y las configu-raciones personalizadas.

En LTSP 5 es la distribucióndel servidor quien proporciona el resto

de paquetes del programa, asícomo la mayor parte de las

herramientas. Esto permiteuna emulación granulardel entorno de chroot, laactualización de los pro-gramas instalados y la ins-

talación de otros nuevosvía apt-get.Aparte de Debian, actual-

mente es Ubuntu el mayor contribu-yente al desarrollo de LTSP 5. Esto

explica porqué son estas dis-

tribuciones, y sus ramifica-ciones Edubuntu y Skoleli-nux, quienes integran lasimplementaciones de LTSP5 más avanzadas. Si nosencontramos configurandoun servidor de terminalpara LTSP, las estimacionesacerca de los requerimien-tos de hardware variaránenormemente dependiendodel uso que le vayamos adar. En escenarios típicos deoficinas, el tamaño dememoria mínimo ronda los256MB de RAM para el servi-dor, más 64MB de RAM porcada usuario registrado en

él. Una CPU de gamamedia, corriendo a 2

GHz, es suficientepara 15 ó 20 usua-rios en un entorno

LTSP • PORTADA

A SU SERVICIOIniciándonos en el Proyecto Linux Terminal Server

El proyecto LTSP (Linux Terminal

Server Project) ofrece un método

exhaustivo para el servicio de ter-

minal en Linux, incluyendo la

facilidad de acceso a tarjetas de

sonido locales, impresoras o

memorias USB.

POR CHRISTIAN KROLL

SC

OTT M

AX

WELL, FO

TOLIA

031-035_LTSPLM35 16/1/08 6:21 pm Página 31

Page 2: 031-035_ltsp-linuxmagazine35

EVALUACIÓN • Ibm y Sun

32 Número 35 W W W . L I N U X - M A G A Z I N E . E S

PORTADA • LTSP

con aplicaciones de oficina exclusivamente;las aplicaciones multimedia necesitan unaCPU de gama alta con varios núcleos. Lasaplicaciones Flash, Java, de vídeo y 3Dsometen al sistema a una tensión muyimportante.

Si no se está seguro, es mejor observardetenidamente los requisitos de memoria yde CPU para el tipo de aplicaciones elegidasy multiplicarlos por el número de usuarios.Hemos de asegurarnos de prever un mar-gen de seguridad; si el servidor se queda sinmemoria principal, comenzará a hacer unuso intensivo de la memoria de intercam-bio, lo que afectará considerablemente alrendimiento total. La topología de red reco-mendada por Edubuntu describe unasubred separada para los clientes. En esecaso el servidor de terminal debería tenerdos tarjetas Ethernet —una de ellas en lasubred y la otra conectada al resto de laLAN o a un router. Para diez o más clientes,lo más lógico es usar Gigabit Ethernet en lasubred cliente. La mayoría de las veces, losdiscos duros, sometidos a múltiples accesossimultáneos, acaban siendo un cuello debotella en este tipo de sistemas, por lo queresulta conveniente decantarse por un sis-tema RAID con una buena velocidad de lec-tura.

Los discos SATA de bajo coste, con NativeCommand Queuing (NCQ) y 16MB decaché, son una buena opción como compo-nentes RAID. El encolamiento nativo decomandos proporciona a estos discos lacapacidad de modificar el orden de las peti-ciones para elevar el rendimiento en la lec-tura de los datos. Se trata de una gran ven-taja cuando se tiene un número elevado de

peticiones de acceso simultáneas, aunquese necesita un controlador con soporte paraNCQ.

Los requerimientos mínimos para uncliente LTSP ligero son: una CPU de 233MHz, 64MB de RAM, una tarjeta de redEthernet a 100Mb y un adaptador de gráfi-cos con 2MB de memoria de vídeo. Se reco-mienda una CPU a 400 MHz y 128MB deRAM. Si pensamos reproducir vídeos o usaraplicaciones 3D, es necesario un adaptadorde vídeo con X video o con soporte paraGLX; de cualquier modo, se puede prescin-dir del disco duro local.

Se recomienda una tarjeta Ethernet conuna ROM con capacidad PXE para arrancarlos equipos a través de red. Si nuestra bootROM no lo soporta, podemos descargarimágenes ROM tailor-made, disponiblespara muchas tarjetas, desde el proyectoEtherboot/gPXE [2]. Asumimos, que setenemos un dispositivo de grabaciónEEPROM; de lo contrario, aún podemosdescargar una imagen de disco o de CDRdesde el proyecto Etherboot. En líneasgenerales, es más práctico arrancar desde lared que desde un dispositivo antiguo, yaque el arranque por red reduce el númerode problemas mecánicos y elimina la nece-sidad de conservar archivos de arranque.

Instalando LTSP 5Suponiendo que estamos usando la topolo-gía de red descrita, LTSP 5 estará listo paraser usado en cuanto completemos la insta-lación y los clientes ligeros sean capaces dearrancar sin más.

Añadir LTSP a un sistema Ubuntu es algomás costoso. Primero tenemos que asegu-rarnos de que las tarjetas Ethernet del termi-nal designado están configuradas correcta-mente. La configuración se encuentra en elfichero /etc/network/interfaces. El Listado 1muestra una configuración de ejemplobasada en la topología descrita por Edu-buntu. La tarjeta eth0 está conectada a lasubred común y configurada automática-mente a través de la red; eth1 sirve a lasubred del cliente ligero y está configuradacon la dirección IP estática 192.168.0.254.

Para más detalles, ejecutar man 5 interfa-ces. Para prescindir de los asistentes y opti-mizar las configuraciones de nuestras inter-faces de red, es buena idea desinstalar lospaquetes avahi-autoipd y network-manager.Este comando aplica la configuración:

sudo invoke-rc.d U

networking restart

El siguiente paso es instalar el paquete ltsp-server-standalone, que incluye el script ltsp-build-client para la configuración delentorno chroot del sistema cliente.

El software tiene un par de dependenciascon algunos servicios esenciales para la eje-cución del servidor de terminal, aunquenuestro gestor de paquetes debería mane-jarlas sin necesidad de hacer nada más.Además de esto, el servidor de SSH debeestar instalado, puesto que LTSP se sirve deél para el mecanismo de autenticación yregistro predeterminado.

Cuando llamamos al script ltsp-build-client, éste descarga automáticamente delos repositorios los paquetes que necesitapara el chroot y ejecuta debootstrap, insta-

01 # interfaz de loopback02 auto lo03 iface lo inet loopback0405 # la tarjeta de la subred

regular06 subnet07 auto eth008 iface eth0 inet dhcp0910 # la tarjeta del subred del

cliente ligero11 auto eth112 iface eth1 inet static13 address 192.168.0.25414 netmask 255.255.255.015 network 192.168.0.016 broadcast 192.168.0.255

Listado 1: /etc/network/interfaces

no_root_squash demuestra una vul-nerabilidad inherente a NFS: La ver-sión 3, usada por LTSP, no soporta laautenticación. Esta carencia tan seriaha ocasionado que NFS se gane apela-tivos tan despectivos como ‘NoFilesystem Security’ (Sistema deFicheros Inseguro u otros aún peores.El cliente sólo tiene que decirle alservidor qué usuario e ID de grupodesea usar para que éste le brinde elpertinente acceso. Una vez el sistemaha sido comprometido, el atacantepuede suplantar la identidad decualquier usuario.

Para prevenir desastres, NFS sueledirigir al usuario root hacia nobody,pero la opción no_root_squash haceque sea inútil. Dado que el sistema deficheros es la raíz del sistema desde elpunto de vista del cliente, éste debetener acceso al mismo con privilegiosde root. El hecho de que el servidorexporte el directorio en modo de sólolectura previene ataques al servidor determinal; nunca se deben almacenardatos confidenciales en el chroot.

NFS tiene otro inconveniente. Elrendimiento se desploma cuando seproducen muchos accesos simultá-neos a ficheros pequeños. Como yasabemos, es justo eso lo que tienenque hacer los scripts de inicio almomento de arrancar la máquina. Eladministrador debería evitar quearranquen demasiadas máquinassimultáneamente. Su lugar, es másrecomendable arrancar pequeños gru-pos de máquinas en intervalos detiempo regulares.

Inseguridad del Sistema deFicheros

031-035_LTSPLM35 16/1/08 6:21 pm Página 32

Page 3: 031-035_ltsp-linuxmagazine35

Ibm y Sun • EVALUACIÓN

33Número 35W W W . L I N U X - M A G A Z I N E . E S

lando un sistema Ubuntu mínimo en /opt/ltsp/i386. La principal diferencia con el sis-tema anfitrión, además de la espartanaselección de paquetes instalados, radica enla inclusión del cliente ltsp-client, queincluye a su vez los scripts de inicio necesa-rios para las operaciones del cliente sindisco. Podemos administrar el sistema tal ycomo lo haríamos en una instalación nor-mal de Ubuntu. La actualización por redtiene un aspecto como éste:

sudo chroot /opt/ltsp/i386apt-get updateapt-get upgradeexit

Antes de permitir a los clientes arrancar através de la red, nos hacemos root y nosaseguramos de que los servicios necesariosestán configurados correctamente y sonaccesibles.

Conexión del ClienteEl cliente usa el protocolo DHCP (DynamicHost Configuration Protocol) para recibirtoda la configuración necesaria, comodirección IP, subred, pasarela predetermi-nada y otros parámetros. El demoniodhcpd3, que maneja todas las peticiones dela subred, se ejecuta en una de las máqui-nas (normalmente en el mismo servidor determinal). La configuración se encuentra enel fichero /etc/ltsp/dhcpd.conf ; en el Listado2 tenemos un ejemplo con comentarios.

Si se está interesado en indagar en lasopciones del demonio DHCP, puede consul-tarse man 5 dhcpd.conf. Afortunadamente,no suele ser necesario alterar laconfiguración proporcionada por el paqueteltsp-server-standalone . Lo principal es ase-gurarse de que la subred concuerda con laconfiguración de la tarjeta Ethernet en losclientes que estemos manejando. Las entra-das filename y option rootpath tambiénafectan a LTSP (ver las secciones PXE yNFX). En LTSP, es TFTP (Trivial File Trans-fer Protocol) quien proporciona al cliente elcargador de arranque y el núcleo. TFTP esuna versión reducida de FTP. No soporta laautenticación de usuario ni ningún tipo depermisos de archivo. No lista directorios, yel tamaño máximo de fichero es de 32 MB.Por otro lado, la simplicidad del protocolo lehace idóneo para implementacionessobrias, que caben dentro de la ROM dearranque de una tarjeta Ethernet. Edubuntu7.04 usa por defecto el demonio tftpd-hpacomo servidor TFTP. El demonio se inicia

mediante inetd. El directorio raíz de TFTPsuele ser /var/lib/tftpboot, el lugar dondedebemos guardar el cargador de arranque yel kernel junto con el disco RAM. Despuésde modificar el fichero de kernel, el scriptltsp-update-kernels lo copia al entornochroot y actualiza automáticamente losenlaces al cargador de arranque durante elproceso.

PXE (Preboot Execution Environment) esun estándar de Intel que dota a cualquierPC de la capacidad de arrancar automática-mente a través de la red desde sus tarjetasEthernet. Para hacerlo, PXE conecta pri-mero con el servidor DHCP, solicita unadirección IP y parsea las opciones del

fichero DHCP como se muestra en el Lis-tado 2.

Esto le da al cliente una ruta TFTP al car-gador de arranque que ha de descargar yejecutar. Para ello, LTSP usa Pxelinux, delpaquete Syslinux [4]; descarga el kernel yun disco RAM y arranca el cliente. El pro-yecto Etherboot ayuda a que los PCs sin tar-jetas con capacidad para arranque PXE pue-dan arrancar por red. En lugar de un carga-dor de arranque, el cliente usa una imagende kernel modificada por el programamknbi. La configuración mostrada en el Lis-tado 2 dota al servidor DHCP de la capaci-dad para detectar si hay algún cliente PXE,o de otro tipo, solicitando el cargador de

LTSP • PORTADA

01 # opciones obligatorias para02 # todos los clientes03 authoritative;0405 group {06 # Parámetros típicos en una red IP07 option domain-name “ejemplo.com”;08 option domain-name-servers 192.168.0.1;09 option broadcast-address 192.168.0.255;10 option routers 192.168.0.1;11 option subnet-mask 255.255.255.0;1213 # Ruta al cargador de arranque en el14 # servidor TFTP para PXE y Etherboot15 if substring( option vendor-class-idetifier, 0, 9 ) = “PXEClient” 16 {17 filename “/ltsp/i386/pxelinux.0”;18 }19 else{20 filename “/ltsp/i386/nbi.img”;21 }2223 # La raíz de NFS a montar24 option root-path “/opt/ltsp/i386”;2526 # La máquina “foo”, con dirección MAC27 # “00:11:22:33:44:55”28 # siempre recibirá la dirección IP29 # “192.168.0.10”30 host foo {31 hardware ethernet 00:11:22:33:44:55;32 fixed-address 192.168.0.10;33 }3435 # El resto de máquinas de la36 # subred “192.168.0.0/24”37 # recibirán direcciones IP38 # aleatorias entre39 # “192.168.0.20” y “192.168.0.250”40 subnet 192.168.0.0 netmask 255.255.255.0 {41 range 192.168.0.20 192.168.0.250;42 }43 }

Listado 2: /etc/ltsp/dhcpd.conf

031-035_LTSPLM35 16/1/08 6:21 pm Página 33

Page 4: 031-035_ltsp-linuxmagazine35

EVALUACIÓN • Ibm y Sun

34 Número 35 W W W . L I N U X - M A G A Z I N E . E S

incrementar el rendi-miento.no_root_squash haceque cualquier usuariocliente, incluido root,pueda entrar en estedirectorio.

Localizaciónde FicherosPara acceder a su sis-tema de archivos, elcliente usa primero laopción root-path deDHCP (ver el Listado2) para determinar lalocalización de su directorio raíz exportado.Es entonces cuando monta dicho directoriocomo su sistema de ficheros raíz, ademásde un directorio adicional que depende desu arquitectura, normalmente i386. Elcliente monta sobre él un sistema de fiche-ros temporal, alojado en la RAM, para cadalugar con permisos de escritura.

Dicho de otro modo, cada cliente ligerocomparte el mismo sistema de ficheros. Esen el archivo /opt/ltsp/i386/etc/lts.confdonde el administrador tiene la opción depersonalizar la configuración del clienteindividual. Además de las configuracionesglobales, podemos usar dicho fichero paralas opciones individuales de cada máquinaen base a su dirección MAC. El Listado 3nos muestra un ejemplo con comentarios.Para una comprensión más detallada, asícomo una descripción de las opciones dis-ponibles en lts.conf, consultar la documen-tación [5].

Llevando a LocalLas APIs de audio en Linux (OSS, ALSA)suelen ser locales. Para poder enviarsonido de una máquina a otra necesitamosun servidor de sonido con una interfaz deaudio transparente para la red. LTSP usapor defecto el servidor PulseAudio [6], des-arrollado originariamente bajo el nombrede Polyaudio como sustituto del antiguoESD (Enlightment Sound Daemon). VerFigura 1.

PulseAudio soporta extensiones flexi-bles, en cuanto a que implementa unasofisticada arquitectura de plugins, emulalas interfaces del extendido ESD y propor-ciona su propio plugin de ALSA. No seríademasiado útil sin un soporte para aplica-ciones, pero cada vez son más los progra-mas multimedia que soportan esta inter-faz.

La variable de entorno PULSE_SER-VER para el protocolo nativo de Pulse-Aaudio nos dice dónde se encuentra elservidor de sonido. El formato de sucontenido es tcp:máquina:puerto. Alter-nativamente, la variable ESPEAKERapunta a la interfaz emulada y su for-mato es similar (máquina:puerto). Si

arranque y respondiendo con la ruta corres-pondiente.

GPXE es una implementación libre dePXE; ambos, Etherboot y GPXE, están dis-ponibles en el sitio etherboot.org [2].

Network File SystemComo los clientes ligeros no suelen dispo-ner de discos locales, sus sistemas de fiche-ros raíz son remotos. NFS (Network FileSystem) es un protocolo útil para sumanejo. El fichero /etc/exports contiene lasconfiguraciones para el sistema de ficherosdel cliente ligero.

Las entradas para las exportaciones estánformadas por tres partes. La primera es laruta absoluta hacia el directorio a exportar,seguida de un listado que limita las estacio-nes autorizadas. En ese listado se puedenincluir nombres de host o direcciones desubred (incluyendo comodines). El últimocomponente define opciones específicas deNFS que determinan el comportamiento delservidor de NFS. El paquete ltps-serverañade la siguiente entrada a /etc/exports:

/opt/ltsp*(ro,no_root_squash,async)

Esta entrada otorga a cualquier host,como indica el comodín *, permiso paraacceder a la carpeta /opt/ltsp. La opción ro(sólo lectura) impide el permiso de escri-tura. async indica al cliente que debe guar-dar un búfer a la hora de acceder para

PORTADA • LTSP

01 [default]02 # con 16 bit de color se

ahorra ancho de banda03 X_COLOR_DEPTH=1604 # paso de dispositivos

locales a través del servidor05 LOCALDEV=True06 # Activamos servidor de

sonido07 SOUND=True08 # distribución de teclado

español09 XKBLAYOUT=es1011 [00:11:22:33:44:55]12 # Usar los drivers Vesa13 XSERVER = vesa14 # Integrar el ratón serie15 X_MOUSE_DEVICE=/dev/ttyS016 X_MOUSE_17 PROTOCOL=intellimouse

Listado 3: /opt/ltsp/i386/etc/lts.conf

Para que la administración de clientessea lo más sencilla posible, Edubuntuintegra Thin Client Manager en elpaquete thin-client-manager-gnome ,donde el administrador puede ver deuna sola pasada las actividades querealizan los usuarios registrados.

Una relación de procesos, bastanteparecida al monitor del sistema deGnome, informa al administrador dela cantidad de memoria que están ocu-pando los procesos, así como de lacarga que producen en el sistema.Además de todo esto, el administradorpuede iniciar y terminar los procesosde cualquier usuario o enviarle men-sajes de texto simples.

Si un usuario se comporta indebida-mente, el administrador puede blo-quear su actividad o incluso forzarle asalir.

El administrador de clientes ligerosincluye un visor de VNC, con el que sepuede ver el escritorio del usuario entodo momento. Son necesarias algu-nas configuraciones adicionales parapoder hacerlo, ya que los clientes nocontienen servidores VNC por defecto.Pueden instalarse los paquetes nece-sarios usando el gestor de paquetesdesde el chroot del servidor, por ejem-plo, x11vnc desde el repositorio uni-verse, ejecutando apt-get install.

Gestor de Clientes Ligeros

Figura 1: LTSP puede redireccionar las impresoras, el sonido y los

dispositivos USB de los clientes.

031-035_LTSPLM35 16/1/08 6:21 pm Página 34

Page 5: 031-035_ltsp-linuxmagazine35

queremos activar el soporte para el ser-vidor de sonido en los clientes, todo loque necesitamos es una entradaSOUND=True en lts.conf.

LTSP puede conectar los dispositivoslocales del cliente ligero al servidor de ter-minal. En cada cliente se ejecuta un demo-nio llamado ltspfsd, que monitoriza lasmemorias USB y los dispositivos conecta-dos. Su homólogo, ltspfs, del mismopaquete, se ejecuta en el servidor. Ltspfsreacciona a los mensajes de evento deldemonio ltspfsd, montando cada disposi-tivo detectado. El demonio se basa en elmarco FUSE [7] para el acceso a dispositi-vos a través de la red. Por defecto, sólo losusuarios incluidos en el grupo fuse puedenmontar carpetas. Hay que activar esta fun-ción en el fichero lts.conf, añadiendo lalínea LOCALDEV=True.

También es posible acceder a impresoraslocales, aunque el soporte no es dinámico.Se comienza creando una entrada para elpuerto de la impresora en el fichero lts.confdel cliente que la alberga. La entrada PRIN-TER_0_DEVICE incluye el nodo de la inter-faz para el dispositivo, como por ejemplo/dev/usblp0 para una impresora USB.

Con PRINTER_0_TYPE se define el tipo deinterfaz, donde U significa USB, P paralelo yS indica que es serie. La documentación deEdubuntu [5] incluye otros parámetros, paraquien desee precisar más.

Estos valores ayudan al script en Pythonjet-pipe a averiguar el puerto correcto. Elscript suele escuchar en el puerto TCP 9100y pasar la entrada y la salida de este puertoa la interfaz de la impresora. También esposible usar CUPS en el servidor de termi-

nal para configurar la correspondienteimpresora usando como interfaz un socketa la dirección IP del cliente. Las opciones deconfiguración de impresoras de Gnomepara CUPS almacenan dicha configuraciónbajo el nombre AppSocket/JetDirect.

El ejemplo mostrado sólo funciona mien-tras no cambie la dirección IP del cliente.Para asegurarnos de que efectivamente hayuna impresora conectada a una IP determi-nada, hemos de asignarle una dirección IPestática mediante el servidor DHCP. El Lis-tado 2, desde la línea 25 a la 32, muestra unejemplo de asignación estática usando elparámetro fixed-address.

LDMDe forma predeterminada, LTSP 5 usa LDM(LTSP Display Manager) para la gestión delacceso gráfico. LDM no se ejecuta en el ser-vidor, sino localmente en cada cliente. Elacceso se ejecuta en segundo plano y estácifrado por SSH. Esto ocurre porque cuandoel usuario ingresa comienza una sesión X;entonces se muestra Gnome, encapsuladoen SSH, a través del servidor de las X delcliente. Además, LDM ajusta automática-mente la variable de entorno para el servidorde sonido. La salida de sonido de las aplica-ciones es enviada directamente al cliente.

ConclusionesLTSP camina en la dirección correcta y estáconsiguiendo que los servicios de terminalbasados en Linux sean más populares gra-cias a la facilidad de su mantenimiento y auna amplia gama de funcionalidades. ElProyecto de Servidor de Terminal en Linuxha dado un gran salto adelante en su viaje a

la versión 5, con unos resultados impresio-nantes. Sus desarrolladores han logrado unprogreso notable respetando la flexibilidady la facilidad de mantenimiento. Además, aLTSP le beneficia su integración en Edu-buntu.

Por otro lado, los requerimientos de hard-ware son ahora mayores. La versión ante-rior, LTSP 4, no pedía tanto a los clientes yarrancaba más rápido.

Una vez más, la ayuda viene de camino.La futura versión de LTSP para Ubuntu‘Gutsy Gibbon’, en estado de desarrollo,nos adelanta una serie de nuevas funciona-lidades útiles. El cambio más significativoes el abandono de NFS como sistema dearchivos, ya que circulan rumores sobreseguridad y vemos administradorespidiendo auxilio.

En el futuro, el chroot de LTSP se compri-mirá en una imagen Squash FS, a la que losclientes accederán directamente a través deun dispositivo de bloque en red. Los admi-nistradores lo encontrarán más sencillo deproteger que NFS. Implicará también unavance y tiempos de arranque menores.

Gracias a SSH, los atacantes ya no podránmonitorizar el contenido de las sesionesX11, aunque este incremento en la seguri-dad tiene un coste en carga de CPU. Losclientes X con mayor volumen de tráfico,debido a la visualización de vídeos o ani-maciones complejas, dejarán al servidorexhausto rápidamente. Por suerte, algunaversión de LTSP venidera soportará cone-xiones X11 no cifradas, que combinadascon autenticación segura aumentarán elrendimiento en entornos en los que el hard-ware no sea tan potente. �

35Número 35W W W . L I N U X - M A G A Z I N E . E S

LTSP • PORTADA

[1] Página de inicio de LTSP: http://www.ltsp.org

[2] Etherboot y gPXE: http://www.etherboot.org

[3] ROMs de arraque para tarjetas Eth-ernet: http://www.rom-o-matic.net

[4] Syslinux y Pxelinux: http://syslinux.zytor.com

[5] Documentación de Edubuntu paralts.conf: http://doc.ubuntu.com/edubuntu/handbook/C/ltsp-client.html

[6] Página de inicio de PulseAudio:http://www.pulseaudio.org

[7] Proyecto de FUSE: http://fuse.sourceforge.net

RECURSOSOpción Significado

XSERVER Define el driver de la tarjeta gráfica (ati, nv, vesa, …)

X_MOUSE_DEVICE Ruta al nodo del ratón

X_MOUSE_PROTOCOL Protocolo para el ratón (ps2, intellimouse, …)

X_MOUSE_EMULATE3BTN Emulación del tercer botón de ratón (True o False)

X_COLOR_DEPTH Bits de profundidad de color

USE_XFS Usar servidor de fuentes tipográficas (True o False)

XFS_SERVER Dirección para el servidor de fuentes tipográficas

X_HORZSYNC Rango de frecuencias soportado por el monitor

X_VERTREFRESH Tasa de refresco soportada por el monitor

XF86CONFIG_FILE Ruta al fichero de configuración de las X.org locales

Tabla 1: Opciones de X11 en lts.conf

031-035_LTSPLM35 16/1/08 6:21 pm Página 35