Imprimir

Servidor de terminales LTSP en Linux

LTSP (ltsp.org) es un proyecto que proporciona todo lo necesario para instalar y configurar de forma relativamente sencilla un servidor de terminales integrando varios servidores como DHCP, TFTP, NFS y XDMCP.

Equivalencias en Windows: MS-Terminal Services.

¿Y qué es un servidor de terminales?

Un servidor de terminales es un tipo de centralized computing consistente en un grupo de thin client también llamados 'clientes ligeros', 'clientes livianos' o 'terminales tontos' (típicamente X terminal) conectados por red al servidor de terminales, de manera que las aplicaciones se ejecutan en el servidor, que envía la salida a los clientes.

LTSP

¿Por qué es interesante un servidor de terminales? Porque permiten aprovechar máquinas obsoletas o baratas, abaratando enormemente los costes de instalación en centros con gran número de ordenadores, por lo que son muy utilizados en estaciones ofimáticas en educación, empresas, hoteles, etc.

Cómo funciona un servidor de terminales

Veamos cómo funciona un servidor de terminales:

  • todo el software está instalado en el servidor (paquete ltsp-server). Todas las aplicaciones se ejecutan en el servidor, que envía la salida a los clientes.
  • los clientes sólo tienen monitor, teclado, tarjeta de red y sonido. No necesitan disco duro, CD ni disquetera (en función del método de arranque).
  • los clientes arrancan desde la red (network booting) pudiendo lanzarse el cargador de arranque desde diversos dispositivos: desde la propia BIOS, desde un chip ROM conectado a la tarjeta de red, desde la disquetera o desde una memoria flash USB.

    El proyecto Etherboot (etherboot.org) se encarga de generar el código de network booting para cada modelo de tarjeta, que puede ser almacenado en todo tipo de dispositivos como BIOS, EPROMs, floppy, CD, HD, USB flash, etc.

    Las imágenes Etherboot en disquete se encuentran en rom-o-matic.net. Por ejemplo, si la imagen de disquete para nuestra tarjeta es eb-5.4.0-ns8390.zdsk nos descargaremos el archivo y crearemos el disquete booteable ejecutando:

    $ dd if=eb-5.4.0-ns8390.zdsk of=/dev/fd0
  • una vez que el cargador de arranque ha configurado la tarjeta de red busca un servidor DHCP para obtener los datos de la red: IP, máscara de red, IP del gateway e IP del servidor DNS.
  • después, pide al servidor DHCP la dirección de un servidor desde donde bajarse un kernel Linux mediante TFTP.
  • una vez descargado el kernel lo ejecuta, éste toma el control y monta mediante NFS un filesystem.
  • por último, se inicia una sesión X Windows conectándose mediante XDMCP al display manager (por ejemplo Gdm), obteniendo el login gráfico:

    LTSP login

Configurar el servidor de terminales

Veamos cómo configurar el servidor de terminales:

  • herramientas de administración de LTSP (paquete ltsp-utils): para manejar el servidor disponemos de varias herramientas de administración:
    - ltspadmin: instala/actualiza el servidor LTSP.
    - ltspcfg: configura el servidor LTSP.
    - ltspinfo: configura/reinicia/apaga los clientes conectados.

    Una vez instaladas las herramientas de administración ejecutaremos ltspadmin, que nos permitirá instalar y actualizar los paquetes de LTSP desde sus propios repositorios:

    ltspadmin

    El comando ltspcfg nos permite comprobar la configuración actual de todos los servicios requeridos por LTSP (podemos acceder a ltspcfg desde ltspadmin o ejecutarlo directamente en la línea de comandos):

    ltspcfg

    Además, con el comando ltspcfg podemos configurar todos los servicios requeridos por LTSP (DHCP, TFTP, NFS and XDMCP) así como algunas otras cosas, como generar el archivo lts.conf, el archivo donde especificaremos las características de cada cliente:

    ltspcfg

  • DNS: todos los clientes deben aparecer en /etc/hosts.
  • DHCP: verificaremos los archivos /etc/dhcp3/dhcpd.conf y /etc/ltsp/dhcpd.conf.

    Leer más: Servidor DHCP (IPs dinámicas)

  • TFTP: corre como esclavo del superservidor inetd, por lo que editaremos el archivo /etc/inetd.conf y nos aseguraremos de que contiene líneas similares a:
    #:BOOT: TFTP service is provided primarily for booting.  Most sites
    #       run this only on machines acting as "boot servers."
    tftp  dgram  udp  wait  root  /usr/sbin/in.tftpd  /usr/sbin/in.tftpd
          -s /var/lib/tftpboot
  • NFS: editaremos el archivo /etc/exports y nos aseguraremos de que contiene algo similar a:
    /opt/ltsp       *(ro,no_root_squash,async)

    Leer más: Servidor NFS

  • XDMCP: configuraremos adecuadamente el display manager (por ejemplo Gdm) para permitir Acceso remoto mediante XDMCP.

    Leer más: Iniciar sesión X Window con display manager

8 Comentarios en “Servidor de terminales LTSP en Linux”

  • jose manuel vazquez castro dice:

    Muy bueno, me parecio excelente, tendre que ponerlo en practica. Oye una pregunta, los clientes podrian parecerse a windows?
    Me refiero a la apariencia, ya ves ke kuando una persona llega a un cyber si no ve algo parecido a windows simplemente se va porke tiene miedo a lo ke no conoce. Espero tu respuesta acerca de la apariencia y si me pudieras dar algunos datos tecnicos sobre hardware que rekomiendes para montar esta red de terminales te lo agradeceria mucho. Date una vuelta por mi blog.
    Sigue asi, Hack The Planet.
    Espero pronto respuesta, hasta luego.

  • crash-n-burn dice:

    Jose Manuel, ya sabes que Linux es muy configurable, también los entornos gráficos y todos ellos tienen temas (themes) que emulan la apariencia Windows, Mac, BeOS y lo que quieras. No sólo la apariencia, también el comportamiento del ratón (doble click), los atajos de teclado… Por ejemplo uno de mis escritorios preferidos IceWM tiene decenas de temas que te permiten emular cualquier versión de Windows: Vista, XP, Windows 95 e incluso Windows 3.1

  • Manuel Vazquez dice:

    Conoces el proyecto TCOS? Actualmente está muy avanzado, y es a mi entender más simple que el sistema LTSP. Si quieres te envío documentación para su instalación en sistemas de sabor Debian(por ej. Ubuntu). Es un proyecto que actualmente está implantando tanto la Junta de Andalucia(Guadalinex) como la Comunidad de Madrid (MAX) o la Comunidad de Valencia (Lliurex). Además permite conectarse mediante rdesktop a servidores de terminal Windows.

    Un saludo.

  • Manuel Vazquez dice:

    Rectifico, en Guadalinex se está implantando. En Max si que lo está. Y en Lliurex creo que están en el mismo proceso que en Guadalinex.

  • juan carlos dice:

    no entiendo nada de lo que dicen …

    cuando instalo el ltsp.utils, luego de que instalo el ltsp-server-standalone , me dice que desinstalara el ltsp-utils, alguien me puede ayudar …

  • Raydel dice:

    Hola kolegas, he leido este articulo y esta muy bueno, excelente, pero tengo una duda, y de ser posible quisiera que me la aclaren, es posible configurar un servidor LTSP con Debian o Ubuntu, y que los clientes usen Windows XP.

    Saludos.

  • Alexander dice:

    yo lo que quiero saber es si por ejemplo, yo tengo una imagen de windows xp para cliente ligeros y tengo un esrvidor linux con CentoS 5.2, como pudiera configurar el servidor para levante imagen que tengo para ke los clientes levanten con windows xp, de ser posible agradeceria mucho, los consejos pues yo utilizo para casi todo linux pero todavia mis compañeros de trabajo no estan my familiarizados con el, es por eso que nesecito windows wn los clientes, y no quisiera tener qie quitar linus de mis servidores

  • Lider dice:

    hola amigos, quisiera saber cuantos terminales se pueden instalar en un servidor …..

Deja un comentario