Gentoo Logo

Gentoo - Guía de LTSP

Contenido:

1.  Introducción

¿Qué es LTSP?

LTSP es la abreviatura de "Linux Terminal Server Project" ("Proyecto de Servidor de Terminales Linux"). Instalado en un servidor proporciona a varias estaciones de trabajo (llamadas por eso 'thin-clients') entornos idénticos. Todas las aplicaciones se ejecutan en el servidor y por lo tanto puede utilizar viejos PCs y convertirlos en terminales X. Esto reduce costes y mantenimiento especialmente en un entorno donde se necesite tener un área de trabajo uniforme en cada ordenador que usted utilice, por ejemplo en una escuela o una empresa.

2.  Instalación

Preliminares

Todos los ejemplos en este documento presuponen que la dirección IP de su servidor es 192.168.0.254, su dominio se llama sudominio.com y su red es 192.168.0.0/24.

Instalación

En primer lugar, usted debe disponer de un sistema Gentoo en funcionamiento. Por favor, lea el Manual de instalación de Gentoo para su arquitectura en Recursos de Documentación de Gentoo.

Después puede comenzar con el paso más sencillo, instalar el paquete ltsp:

Listado de Código 2.1: Emerge LTSP

# emerge ltsp

Lo que instalará los siguientes paquetes y dependencias:

  • XFree: Son llamados Terminales X. adivina por qué :)
  • DHCP: DHCP es un protocolo para automatizar la configuración de ordenadores que utilicen TCP/IP, usado por ltsp para distribuir las direcciones IP a los puestos de trabajo ('workstations').
  • NFS: NFS es un protocolo que permite acceder a los discos duros a través de la red, usado por ltsp para montar un sistema base para los puestos de trabajo.
  • TFTP: TFTP es un protocolo de transferencia de ficheros simple, usado por ltsp para transferir el kernel a los puestos de trabajo.
  • XINETD: Xinetd es un potente sustituto de inetd, con características avanzadas, usado por ltsp para arrancar tftp.

Nota: Si usted tiene la variable "USE" "kde" o "gnome", también se instalará un sistema completo kde o gnome.

3.  Configuración

Después de que el proceso de emerge haya acabado se deben configurar todos los servicios:

Registro del sistema

Para analizar los problemas fácilmente, el gestor de registro del sistema debe ser configurado para que acepte peticiones remotas. Por favor, lea la documentación de su registro del sistema para conseguir esto. Si, por ejemplo, está usando sysklogd, todo lo que necesita es editar /etc/conf.d/sysklogd y añadir "-r" a la línea SYSLOGD:

Listado de Código 3.1: /etc/conf.d/sysklogd

SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"

NFS

El siguiente paso es editar el fichero /etc/exports, para permitir a las estaciones de trabajo montar el sistema de ficheros raíz. Debería haber al menos dos líneas en él:

Listado de Código 3.2: /etc/exports

/opt/ltsp-4.1/i386         192.168.0.0/255.255.255.0(ro,no_root_squash,async)
/var/opt/ltsp/swapfiles    192.168.0.0/255.255.255.0(rw,no_root_squash,async)

Nota: Tendrá que cambiar la red/máscara de red para que se corresponda con su red/máscara de red.

Ahora inicie NFS.

Listado de Código 3.3: Iniciando nfs

# rc-update add nfs default
# /etc/init.d/nfs start

xinetd/tftp

TFTP requiere un poco más de configuración para conseguir que funcione correctamente. En primer lugar, edite /etc/conf.d/in.tftpd para indicar las opciones y la ruta de acceso de tftpd correctamente:

Listado de Código 3.4: /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"

El parámetro -s especifica que TFTP se ejecute en el modo seguro de chroot (recomendado). Esto significa que usted no necesita incluir la ruta/tftpboot en la configuración de DHCP, por ejemplo.

Luego, configure xinetd para ejecutar TFTP y permitir las conexiones remotas. Por defecto TFTP no será iniciado por xinetd, por ello debe editar /etc/xinetd.d/tftp y cambiar disable=yes por disable=no. Si no existe el fichero basta crear /etc/xinetd.d/tftp con el siguiente contenido.

Listado de Código 3.5: /etc/xinetd.d/tftp

service tftp
{
        disable = no
        socket_type = dgram
        protocol = udp
        wait = yes
        user = root
        server = /usr/sbin/in.tftpd
	server_args = -s /tftpboot
}

Ahora edite /etc/xinetd.conf y "comente" la línea only_from = localhost añadiendo al principio de la misma una #. Finalmente, inicie xinetd.

Listado de Código 3.6: Iniciando xinetd

# rc-update add xinetd default
# /etc/init.d/xinetd start

Resolución de nombres

Para que las estaciones de trabajo encuentren todos los recursos, debe estar disponible una correcta resolución de nombres. Hay varias maneras de conseguirlo. Una es configurar un servidor DNS para la red local, otra (y más simple) es tener casi idénticos ficheros /etc/hosts en todos los sistemas. Vamos a usar esta última.

Todos los puestos de trabajo deben estar listados en /etc/hosts. Eche un vistazo al ejemplo:

Listado de Código 3.7: /etc/hosts

127.0.0.1        localhost
192.168.0.254    server      server.sudominio.com
192.168.0.1      ws001       ws001.sudominio.com

Configuración de DHCP

Este es el paso más complicado en mi opinión. Usted tiene que crear una configuración DHCP válida (/etc/dhcp/dhcpd.conf). Aquí tiene un ejemplo:

Listado de Código 3.8: dhcpd.conf

(Opciones generales)
default-lease-time            21600;
max-lease-time                21600;
use-host-decl-names           on;
ddns-update-style             ad-hoc;

(Opciones de bootp)
allow booting;
allow bootp;

(Opciones de red)
option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.254;
option domain-name-servers    192.168.0.254;
option log-servers            192.168.0.254;
option domain-name            "sudominio.com";

(Opciones de rutas de LTSP)
option root-path              "192.168.0.254:/opt/ltsp-4.1/i386";
filename                      "/lts/vmlinuz-2.4.26-ltsp-2";
(Dirección del servidor tftp desde donde descargar ltsp)
next-server                   192.168.0.254;

(Si usted tiene estaciones de trabajo con tarjetas de red ISA
"descomente")
(las líneas siguientes y cambie el driver y el IO)
#option option-128 code 128 = string;
#option option-129 code 129 = text;
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=ne IO=0x300";

shared-network WORKSTATIONS {
  subnet 192.168.0.0 netmask 255.255.255.0 {
(Distribuye IPs dinámicas a los clientes)
    range dynamic-bootp 192.168.0.1 192.168.0.16;
(Estación con una configuración específica para arranque
PXE)
    #host ws001 {
    #  hardware ethernet     00:E0:06:E8:00:84;
    #  fixed-address         192.168.0.1;
    #}
  }
}

Si sus puestos de trabajo soportan PXE, deberá incluir cada una de ellos tal como hemos hecho con host ws001 (no se olvide 'descomentar' la línea). No les dé una dirección que esté en el rango de direcciones dinámicas, en caso contrario sería posible que una estación de trabajo tuviera la misma IP que otra (lo cual es molesto). Si usted copia y pega el ejemplo anterior, recuerde reemplazar cualquier comentario "//" con "##", ya que si no dhcp fallará al arrancar.

Para más información al respecto lea el 'handbook' oficial: http://www.dhcp-handbook.com/

Ahora inicie DHCP tal como hizo con NFS y xinetd:

Listado de Código 3.9: Inicio de dhcp

# rc-update add dhcp default
# /etc/init.d/dhcp start

Nota: DHCPD necesita para funcionar tener activado en el kernel CONFIG_PACKET y CONFIG_FILTER.

Configuración de LTSP

Hay varias opciones para configurar los puestos de trabajo, vea http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190 para una completa descripción de /opt/ltsp/i386/etc/lts.conf.

Como sugerencias para empezar, primero podría empezar copiando /opt/ltsp/i386/etc/lts.conf.example como /opt/ltsp/i386/etc/lts.conf y editar éste último. Podría intentar cambiar la opción SCREEN_01 con SCREEN_01 = startx. Para usar un ratón USB en el cliente remoto, añada las siguientes líneas MODULE, y cambie las líneas X_MOUSE_* así:

Listado de Código 3.10: /opt/ltsp/i386/etc/lts.conf

MODULE_01          = usb-uhci
MODULE_02          = mousedev
MODULE_03          = usbmouse
X_MOUSE_PROTOCOL   = "IMPS/2"
X_MOUSE_DEVICE     = "/dev/input/mice"

Displaymanager

Ahora tiene que cambiar la configuración del gestor de ventanas también para aceptar conexiones remotas.

Primero cambie el fichero /etc/X11/xdm/Xaccess, 'descomentando' la línea siguiente:

Listado de Código 3.11: /etc/X11/xdm/Xaccess

#*                   #cualquier host puede obtener una ventana de login

Ahora cambie la configuración del gestor de ventanas que use:

XDM: En /etc/X11/xdm/xdm-config 'comente' DisplayManager.requestPort: 0

KDM: En /usr/kde/3.1/share/config/kdm/kdmrc busque la sección [Xdmcp] y cambie Enable = false a Enable = true.

GDM: En /etc/X11/gdm/gdm.conf busque la sección [xdmcp] y cambie Enable = false a Enable = True.

Entonces arranque el gestor de ventanas:

Listado de Código 3.12: Inicio de xdm

# rc-update add xdm default
# /etc/init.d/xdm start

Aviso: Parece que actualmente hay problemas con XDM y GDM. El autor usa KDM para resolver esas cuestiones.

Recuerde, si su gestor de ventanas está ya en marcha, reiniciar el servidor X con CTRL-ALT-BACKSPACE no reinicia el gestor de ventanas.

Crear un disquete de arranque

Si sus estaciones de trabajo no soportan el arranque PXE, puede crear un disquete de arranque para arrancarlas y conectarlas al servidor de terminales. Vaya a http://www.rom-o-matic.net, seleccione la última versión, elija su tarjeta de red, pulse Get ROM y grabe la imagen en un disquete:

Listado de Código 3.13: Escribiendo la imagen en el floppy disk

# cat nicfile.zdsk > /dev/fd0

4.  Resolución de problemas

Hay muchas cosas que puedan ser el origen del problema, pero también hay varios recursos al respecto que pueden ayudarle a resolver sus problemas:

5.  FAQ

P: Mis puestos de trabajo tienen CPUs Pentium II, pero mi servidor está compilado con march=athlon-xp, ¿funcionará?

R: Eso no es ningún un problema, por que todas las aplicaciones se ejecutan en el servidor.

P: ¿Qué CPU y cuánta RAM debe tener el servidor?

R: Este es un buen documento con sugerencias al respecto: http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing.

P: ¿Tiene más información al respecto de PXE?

R: Sí, mire http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE.

P: ¿Es posible usar aceleración 3D por software en las estaciones de trabajo?

R: Si utiliza tarjetas NVidia eche un vistazo a http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411.

P: En algunas aplicaciones las fuentes se ven con mala calidad, ¿qué puedo hacer?

R: Tiene que configurar el XFontServer, añada USE_XFS=Y a su lts.conf, edite /etc/X11/fs/config y 'comente' no-listen: tcp, reemplace XFS_PORT="-1" con XFS_PORT="7100" en /etc/conf.d/xfs y arranque xfs: /etc/init.d/xfs start. También compruebe que /etc/X11/XF86Config (o /etc/X11/xorg.conf) contenga FontPath "unix/:7100" en la sección Files.

P: ¿Cómo puedo usar la tarjeta de sonido en una estación de trabajo?

R: Hay un paquete ltsp-sound en gentoo, para más información lea el fichero que se incluye README.

6.  Glosario

LTSP "LTSP proporciona una manera sencilla de utilizar puestos de trabajo de bajo coste basados en terminales tanto gráficos como de texto con un servidor GNU/Linux."

PXE "Abreviatura de Pre-Boot Execution Environment (Entorno de ejecución previo al arranque). Pronunciado como "pixie", PXE es uno de los componentes de la especificación WfM de Intel. Permite a una estación de trabajo arrancar desde un servidor en una red antes de arrancar el sistema operativo del disco duro local. Una estación de trabajo con PXE habilitado conecta su tarjeta de red a la LAN con un 'jumper', el cual la mantiene conectada a la red incluso si está apagada."



Imprimir

Actualizado 28 de septiembre, 2008

Sumario: Esta guía muestra cómo poner en marcha un servidor LTSP en Gentoo.

Heinrich Wendel
Author

Josiah Ritchie
Author

Sven Vermeulen
Editor

José Alberto Suárez López
Traductor

Carles Ferrer Peris
Traductor

John Christian Stoddart
Traductor

Donate to support our development efforts.

Support OSL
Gentoo Centric Hosting: vr.org
Tek Alchemy
SevenL.net
Global Netoptex Inc.
Bytemark
Online Kredit Index
Copyright 2001-2009 Gentoo Foundation, Inc. Questions, Comments? Contact us.