Torocatala's Blog

Servidor LTSP en Ubuntu 8.10

Publicado en GNU/Linux, Servidores por torocatala en 27 noviembre 2009

L.T.S.P. Linux Terminal Server Project.

http://es.wikipedia.org/wiki/LTSP

Bien, vamos a explicar como montar un servidor LTSP sobre un sistema Ubuntu, algo extremadamente sencillo.

1.- Instalación
2.- Configuración del servidor DHCP
3.- Creación de la imagen para los clientes.
4.- Configurar el daemon del TFTP
5.- Reiniciar los servicios
6.- Crear diskettes
7.- Scripts para automatización
8.- Configuración de la red del servidor

  • 1.- Instalación

Lo primero que tenemos que hacer es instalar:

aptitude update ; aptitude safe-upgrade -y ; aptitude install ltsp-server-standalone openssh-server

Basicamente, actualizamos los repositorios y el sistema, instalamos el paquete clave llamado ltsp-server-standalone y
un servidor SSH para poder administrar el servidor remotamente.

  • 2.- Configuración del servidor DHCP

Ahora hay que editar el archivo /etc/ltsp/dhcpd.conf que es el que una vez instalado el ltsp-server-standalone usara
nuestro dhcp-server3 en lugar de utilizar el archivo por defecto ubicado en /etc/dhcp3/dhcpd.conf
Este deberia ser el contenido de susodicho archivo.

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.20 192.168.0.21;
option domain-name “example.com”;
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
if substring( option vendor-class-identifier, 0, 9 ) = “PXEClient” {
filename “/ltsp/i386/pxelinux.0″;
}
else{
filename “/ltsp/i386/nbi.img”;
}
option root-path “/opt/ltsp/i386″;
}

Aquí deberemos editar las lineas pertinentes a nuestra subnet, por defecto esta se encuentra en el rango cero,
necesitamos cambiarlo al rango pertinente que estemos utilizando en nuestro servidor LTSP.
En este archivo no tenemos que editar nada más.

  • 3.- Creación de la imagen para los clientes.

Una vez este todo configurado, tenemos que crear la imagen para los clientes LTSP.
Para crear la imagen de los clientes, se utiliza el siguiente comando:

sudo ltsp-build-client

Y ya esta creada!

  • 4.- Configurar el daemon del TFTP

Hay que hacer una pequeña modificación en los archivos de configuración del daemon del TFTPD, concretament en el archivo /etc/default/tftpd-hpa estan las siguientes lineas:

#Defaults for tftpd-hpa
RUN_DAEMON=”no“
OPTIONS=”-l -s /var/lib/tftpboot”

Las cuales hay que modificar para que queden tal que así:

#Defaults for tftpd-hpa
RUN_DAEMON=”yes“
OPTIONS=”-l -s /var/lib/tftpboot”


  • 5.- Reiniciar los servicios

Una vez este todo instalado, necesitamos reiniciar todos los servicios, esto es, el dhcp y el tftp, ambos se reinician con los siguientes comandos:

/etc/init.d/dhcp3-server restart
/etc/init.d/tftpd-hpa restart


  • 6.- Crear diskettes

La creación de diskettes de arranque para los terminales ligeros que no tienen arranque por red por defecto es siempre uno de los puntos mas críticos, es posible que incluso sea la parte más complicada para algunos.
Lo primero que necesitamos, es saber el chipset que utiliza la tarjeta de red del cliente ligero. Para ello bien podemos mirarlo por software o abriendo la torre del cliente y mirarlo sobre la propia placa.
Hagamos lo que hagamos, el siguiente paso es acudir a la pagina http://rom-o-matic.net (Sección Etherboot, más abajo, no confundir con gPXE).
Una vez allí veremos algo como esto:

_____________________________________________________

Etherboot Releases:

Current top of Development Tree:

Etherboot git (current-top-of-git-tree) Image Generator

_____________________________________________________

Debemos hacer click sobre la frase Etherboot git (current-top-of-git-tree) Image Generator para que se nos habrá una nueva ventana con dos menús desplegables y dos botones. El primer menú desplegable es el que nos interesa, en él deberemos seleccionar el modelo del chipset de nuestra NIC y una vez seleccionado hacer click sobre el ultimo de los botones, que pone Get ROM con lo que se deberia bajar un archivo con extension .zdsk

Ahora queda la creación de los diskettes en sí, vamos a explicar dos metodos, uno sobre Linux y otro sobre Windows (Este último menos fiable).

Linux:

Nos aseguramos de que podamos grabar en ese diskette (Acordaos de la pestañita que hay abajo a la derecha, detras del diskette http://upload.wikimedia.org/wikipedia/commons/5/55/3%2C5_DD_floppy_%28720_KB%29_back.jpeg )
Ponemos el diskette en la disquetera.
Abrimos una Terminal.
Nos logueamos como root
Cambiados nuestro directorio de trabajo moviendonos al directorio donde se encuentra la iamgen.
Realizamos la grabación con el siguiente comando: cat nombredelaimagen.zdsk > /dev/fd0
¡Ya tenemos el diskette grabado!

Windows:

Nos aseguramos de que podamos grabar en ese diskette (Acordaos de la pestañita que hay abajo a la derecha, detras del diskette http://upload.wikimedia.org/wikipedia/commons/5/55/3%2C5_DD_floppy_%28720_KB%29_back.jpeg )
Ponemos el diskette en la disquetera.
Movemos la imagen previamente descargada a C:\
Descargamos fdimage de este link: http://www.fdos.org/ripcord/rawrite/fdimag15.zip Y lo guardamos en C:\
Descomprimimos el zip en C:\
Abrimos una linea de comandos (Inicio -> Ejecutar -> cmd)
Tipeamos: fdimage -f 1.44M nombredelaimagen.zdsk a:
¡Ya tenemos el diskette grabado!

  • 7.- Scripts para automatización

La creación de varios usuarios puede llegar a ser una tarea lenta y tediosa. Pero por suerte tenemos el arte del scripting. Yo soy muy novato en el tema, así que no esperéis grandes scripts, sin embargo a mi me sirvieron para automatizar el proceso y no tener que crear y configurar todos los usuarios uno a uno.

Script para la creación de usuarios secuanciales (Nombre+Numero)

#!/bin/bash

#Declaramos la variable lol
lol=1

#Declaramos la variable numero
numero=1

#Iniciamos el while usando la variable lol
while [ $lol = 1 ]; do

#Dentro del while iniciamos el srcipt de expect

/usr/bin/expect << EOD
spawn adduser nombre$numero –gecos GECOS
expect -exact “Enter new UNIX password: “
send — contraseña\r
expect -exact “Retype new UNIX password: “
send — contraseña\r
interact
expect eof
EOD

#!/bin/bash

#Una vez finalizado el script le encrementamos 1 a la variable numero
numero=$(($numero+1))

#Hacemos un if para ver si hemos llegado a los 30 usuarios, si es que si, se cambia el valor de lol, por lo que se cierra el while
if [ $numero = 31 ]; then
lol=2
fi

#Fin del while
done


El script para la automatización de la configuración de los usuarios, lo pondre en breve.

El siguiente “script” (con comillas) que tenemos que hacer es para que se inicien los servicios del servidor dhcp y del tftp.

Este archivo estará ubicado en /etc/rc2.d/

nano /etc/rc2.d/S99ltspservices

Dentro del archivo ubicaremos las siguientes lineas:

/etc/init.d/dhcp3-server start
/etc/init.d/tftpd-hpa start

Guardamos y ya estará este paso completado!

  • 8.- Configuración de la red del servidor

Para la configuración estática de la red que va a usar el servidor, vamos a editar el archivo /etc/network/interfaces

nano /etc/network/interfaces

Dentro del cual deberíamos encontrar algo parecido o igual a esto:

auto lo
iface lo inet loopback

Como se observa, este archivo contiene la información acerca de la interfaz lo (loopback, 127.0.0.1)
Asi que lo que debemos hacer es añadir la configuración para nuestra interfaz de red eth0 (o la que corresponda)
He aqui un ejemplo:

auto eth0
iface eth0 inet static
address 192.168.2.144
netmask 255.255.255.0
dns-nameserver 80.58.0.33
broadcast 192.168.2.255
gateway 192.168.2.2

Quedando el archivo así:

torocatala@Portatil10:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.2.144
netmask 255.255.255.0
dns-nameserver 80.58.0.33
broadcast 192.168.2.255
gateway 192.168.2.2


Fin!

Una vez lo tengamos todo a nuestro gusto lo único que queda es reiniciar la maquina y probar si funcionan los clientes.

Advertisement

2 comentarios

Suscríbete a los comentarios mediante RSS.

  1. Sergio said, on 16 marzo 2010 at 4:56 pm

    Buenas.

    En primer lugar, agradecer la guía, me está siendo de gran ayuda, pero tengo un problema.

    El caso es que al crear el disquete en Windows, no se me debe ejecutar bien el fdimage, ya que me dice que no se ha encontrado el archivo .zdsk, el archivo está bien, ya que otros comandos como copiar si me deja ejecutarlos…

    Si me podría echar una mano le estaría enormemente agradecido.

    Un saludo!

  2. Eliot Rocha said, on 26 abril 2010 at 11:49 pm

    Que Tal.

    Excelente Tutorial, el detalle aqui es que yo ya tengo un DHCP server Funcionando con eBox Plataform, en el ebox me da la manera de usar la opcion de Thin Clients, aqui en este caso solo le estoy dando la opcion de cual es mi Server con la imagen, lo que no se es que estoy haciendo mal, ya que me tira el error de que no encuentra la imagen.

    En la configuracion del DHCP, la opcion “next-server” esta aplicada refiriendo a mi server LTSP y la ruta donde esta la imagen…

    Que puedo hacer ahi?


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.