Molinux 8 LTSP

De Comunidad MoLinux, la enciclopedia libre.

Configuración del servidor LTSP

Una vez instalados todos los paquetes, regresamos a la pantalla principal (Figura 1). Seleccionamos Configure LTSP. A continuación, el programa hace una detección de lo que tenemos. Pulsamos ENTER y accedemos a otro menú:

image:molinux_ltsp6.jpg

En esta pantalla tenemos dos entradas que manejaremos con frecuencia: S, que muestra el estado de los servicios necesarios, y C, que accede a la herramienta de configuración manual. Seleccionamos C para configurar manualmente. Accedemos a otro menú numerado. Vamos paso por paso:

a) Seleccionamos 1 (runlevel): Aquí estableceremos el nivel 5, que es el modo gráfico. Si quisiéramos que las terminales arrancasen solamente en modo consola, elegiríamos el nivel 3.


b) Seleccionamos 2 (interface selection): Aquí, el programa de configuración nos muestra los parámetros de la tarjeta de red del servidor. Es de suponer que antes de empezar todo esto, ya habíamos configurado la tarjeta de red. Si no es así, es este el momento de hacerlo.
Elijo aquí, como habíamos dicho la tarjeta eth1

]

c) Seleccionamos 3 (DHCP configuration): Este es uno de los pasos principales. ¿De qué se encarga el demonio dhcpd? Pues de atender las peticiones del cliente cuando este arranca y busca un servidor. Cuando esto sucede, el demonio busca en su archivo de configuración si debe responder a la tarjeta de red que lo está llamando. Si esto es así, le indica en qué directorio del servidor está el núcleo a descargar. (ya sabéis, explicaciones técnicas en la documentación que cito al final de este documento). En fin, aquí vamos a correr este demonio y además, se nos va a generar un archivo dhcpd.conf de ejemplo. A la pregunta Do you want to enable the dhcpd daemon (y/n) ? respondemos que sí ( y ). A la pregunta Do you want to build a dhcpd.conf file (y/n) ?, respondemos también que sí ( y ). Con esta última respuesta, se ha creado un archivo de configuración del demonio dhcpd (en /etc/dhcpd.conf).


d) Seleccionamos 4 (TFTP configuration): mediante este protocolo se procederá a la descarga del núcleo en el cliente. Respondemos a todo que sí ( y ).


e) Seleccionamos 5 (Portmapper configuration): Normalmente nos dirá que está habilitado y corriendo


f) Seleccionamos 6 (NFS configuration): Demonio que se encarga de montar el sistema de archivos raíz. Respondemos a todo que sí ( y )


g) Seleccionamos 7 (XDMCP configuration): servicio que se encarga de servir el acceso gráfico al cliente. Aquí respondemos que sí a la primera pregunta y que no a la segunda.


h) En las secciones 8, 9, 10 y 11 respondemos a todo que sí ( y ). De esta manera, se genera un archivo de hosts, hosts.allow, exports y el de configuración del hardware de los clientes para las X, el lts.conf.


Una vez que hemos dado todos estos pasos, reiniciamos el equipo.


Nada más arrancar el equipo, nos dirigimos de nuevo a ltspadmin. Desde ahí, seleccionamos de nuevo Configure LTSP . Pulsamos S y vemos lo que tenemos corriendo en el servidor:

]

Como podéis apreciar, todos los demonios andan corriendo excepto el dhcpd. Si bien en las distros basadas en Red Hat, el archivo es /etc/dhcpd.conf, en Molinux (una debian) hemos de editar el archivo siguiente:

/etc/dhcp3/dhcpd.conf

Aquí os pongo como quedó el mío:

   #
   # Copyright (c) 2003 by James A. McQuillan (McQuillan Systems, LLC)
   #
   # This software is licensed under the Gnu General Public License.
   # The full text of which can be found at http://www.LTSP.org/license.txt
   #
   #
   # Config file for the Linux Terminal Server Project (www.ltsp.org)
   
   
   ddns-update-style none;
   
   default-lease-time 21600;
   max-lease-time 21600;
   
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.0.255;
   option routers 192.168.0.1;
   option domain-name-servers 192.168.0.1;
   option domain-name "ltsp"; # <--Fix this domain name
   option root-path "192.168.0.1:/opt/ltsp/i386";
   option option-128 code 128 = string;
   option option-129 code 129 = text;
   
   
   subnet 192.168.0.0 netmask 255.255.255.0 {
     use-host-decl-names on;
     option log-servers 192.168.0.1;
   
     host ws002 {
       hardware ethernet 00:05:1C:1C:7C:CF;
       fixed-address 192.168.0.2;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws003 {
       hardware ethernet 00:40:F4:31:2C:06;
       fixed-address 192.168.0.3;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws004 {
       hardware ethernet 00:05:1C:17:B2:ED;
       fixed-address 192.168.0.4;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws005 {
       hardware ethernet 00:02:44:21:99:FF;
       fixed-address 192.168.0.5;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws006 {
       hardware ethernet 00:00:21:DD:B8:91;
       fixed-address 192.168.0.6;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws007 {
       hardware ethernet 00:C0:DF:E6:5E:71;
       fixed-address 192.168.0.7;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws008 {
       hardware ethernet 00:C0:DF:E5:D4:A7;
       fixed-address 192.168.0.8;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws009 {
       hardware ethernet 00:C0:DF:E3:94:9B;
       fixed-address 192.168.0.9;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws010 {
       hardware ethernet 00:C0:DF:E6:35:26;
       fixed-address 192.168.0.10;
       filename "lts/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws011 {
       hardware ethernet 00:C0:DF:E5:E4:A3;
       fixed-address 192.168.0.11;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   
     host ws012 {
       hardware ethernet 00:C0:DF:E6:34:D6;
       fixed-address 192.168.0.12;
       filename "/var/lib/tftpboot/vmlinuz-2.4.26-ltsp-2";
     }
   }


En la primera parte del archivo tenemos los datos de la red (IP del servidor: 192.168.0.1 y máscara de red: 255.255.255.0, entre otros). La segunda parte del archivo es la que se refiere a los terminales, que aquí llamaremos ws002, ws003, ... ws012 (en concordancia con lo que tenemos en /etc/hosts). Dentro de cada apartado wsXXX (clientes), tengo especificada la dirección MAC de su tarjeta de red y la IP que quiero que tenga esa terminal. La última línea indica la ruta en el servidor que debe seguir el cliente para descargar el núcleo.

En este apartado nos detendremos, ya que la instalación del paquete LTSP nos crea el directorio tftpboot en el raíz (“/tftpboot”); esto es válido para las Red Hat, pero no para Molinux. Hemos de mover el núcleo a descargar que está en tftpboot (por defecto en /) al directorio /var/lib/tftpboot tal y como hemos indicado en el dhcpd.conf.


Abrimos consola y tecleamos:

   cd /var/lib
   sudo mkdir tftpboot
   cd /tftpboot
   cd lts
   sudo mv * /var/lib/tftpboot/

Ya tenemos el núcleo que los clientes descargarán en la ruta correcta. Recordad que debemos tener una entrada “wsXXX” para cada terminal que tengamos. Una cosa más:

   * ¿cómo conocer la dirección MAC de una tarjeta de red?
   sudo ifconfig

Una vez configurado debidamente el archivo dhcpd.conf, pasamos a retocar el siguiente:

/etc/inetd.conf

Este archivo no hay que modificarlo en Red Hat, pero sí en Molinux. Debemos comprobar que la entrada #:BOOT: Tftp service está tal como sigue:


   #: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/tcpd /usr/sbin/in.tftpd /var/lib/tftpboot

Si no retocamos este archivo, la terminal no podrá descargar el núcleo. Nos dará un error tipo 2 (Access violation)

Seguimos avanzando. Es el turno de abrir el acceso al gestor de ventanas, que en Molinux es GNOME. Para ello, seguimos el siguiente proceso:

GDM (Gnome Display Manager): editamos el archivo “/etc/X11/gdm/gdm.conf”. Una vez editado, nos dirigimos a la sección [xdmcp] y la entrada “Enable” la ponemos en “true

Nos queda tan solamente retocar el archivo “lts.conf” a gusto de nuestras terminales (este fichero está localizado en “/opt/ltsp/i386/etc”. En este archivo, colocaremos las características de nuestros viejos equipos (tipo de ratón, monitor, resolución, placa de vídeo, etcétera). Es de gran ayuda (en todo el proceso, pero en este más aún) el manual oficial traducido al castellano que cito al final de este trabajo, ya que este apartado viene muy desarrollado. Tenemos dos formas de configurar este fichero:

a) si tenemos terminales iguales o muy parecidos, cumplimentaremos el apartado [default] y listo.

b) si, como será mi caso en el aula que voy a reformar, tenemos equipos distintos, tendremos que ir añadiendo una sección para cada terminal. Desde luego, esto es lo más recomendable, pues normalmente sucede que las terminales no son del todo iguales y, además, como intentaré más adelante, alguna puede operar de servidor de impresión.

Aquí os muestro mi fichero lts.conf:

   #
   # Copyright (c) 2003 by James A. McQuillan (McQuillan Systems, LLC)
   #
   # This software is licensed under the Gnu General Public License.
   # The full text of which can be found at http://www.LTSP.org/license.txt
   #
   #
   # Config file for the Linux Terminal Server Project (www.ltsp.org)
   #
   
   [ws002]
   SERVER = 192.168.0.1
   XSERVER = auto
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600 45 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws003]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "PS/2"
   X_MOUSE_DEVICE = "/dev/psaux"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 3
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws004]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "PS/2"
   X_MOUSE_DEVICE = "/dev/psaux"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 3
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws005]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS1"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 640x480 40 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws006]
   SERVER = 192.168.0.1
   XSERVER = auto
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600 45 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws007]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600 45 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws008]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600 45 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws009]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws010]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600 45 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws011]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600 45 800 864 928 1088 600 616 621 657 -HSync -VSync
   X_COLOR_DEPTH = 16
   XkbModel = pc105
   XkbLayout = es
   
   [ws002]
   SERVER = 192.168.0.1
   XSERVER = XF86_SVGA
   X_MOUSE_PROTOCOL = "Microsoft"
   X_MOUSE_DEVICE = "/dev/ttyS0"
   X_MOUSE_RESOLUTION = 400
   X_MOUSE_BUTTONS = 2
   USE_XFS = N
   SCREEN_01 = startx
   X_MODE_0 = 800x600
   X_COLOR_DEPTH = 16
   PRINTER_0_DEVICE = /dev/lp0
   PRINTER_0_TYPE = P
   XkbModel = pc105
   XkbLayout = es

Como veis, cada estación de trabajo (cliente o terminal) tiene una entrada específica. Dependiendo del monitor que tengamos instalado y de la tarjeta gráfica, del ratón, etcétera, tendremos unos valores u otros. En el terminal 12 he pinchado una impresora (Epson Stylus 740) y así aparece en el archivo. En el manual que cito al final de este documento (manual de ltsp v3.0 (James McQuillan) traducido al castellano, disponible en www.ltsp.org ) tenéis las instrucciones para configurar vuestra impresora en el servidor y las líneas a introducir en el lts.conf

Reiniciamos el servidor. Volvemos a comprobar el estado de los demonios. Obtenemos el siguiente resultado:

image:Molinux_ltsp9.jpg


Personal tools