martes, 13 de abril de 2010

Instalacion de Terminal Server en LInux

LTSP - Linux Terminal Server Proyect - Terminal Server en Debian Lenny

Buenos dias con todo, en esta oportunidad y ante la circuntancia de la visita de un amigo se le propuso la instalacion de Terminal Server especificamente el Proyecto LTSP de Linux. Basicamente este proyecto consiste en centralizar la administracion del sistema operativo y enviar sesiones virtuales del mismo servidor a clientes ligeros. Es asi que los clientes ligeros no necesitan disco duro mas bien memoria Ram y procesador. El tema es amplio y cualquier duda o sugerencia respecto a ello bienvenido sea. Si desean pueden buscar mas acerca de este proyecto, pero mas que todo de la arquitectura de Terminal Server y Clientes Ligeros que se esta usando mucho para aprovechar y ahorrar costos de hardware.


Bien ahora pasemos a la instalacion.

Primero como buen activista del Software Libre durante este trabajo recurrí a la documentacion del proyecto especificamente a las siguientes webs: ww.ltsp.org.

INICIO:

Instalamos los siguientes paquetes con apt:

apt-get isntall tftpd-hpa

apt-get install nfs-kernel-server

apt-get install nfs-common

apt-get install dhcp3-server

apt-get install ltsp-server-standalone



Bien una vez que instalamos todos los paquetes necesarios para el terminal server procedemos a construir la imagen ltsp.

ltsp-build-client

Puede demorar bastante, sin embargo no debe darnos ningun error, si lo hay rehacer el proceso.

Agregamos un domino a nuestro servidor en etc/hosts de la siguiente manera:

127.0.0.1 localhost osc serverltsp
192.168.1.220 serverltsp

Tanto a localhost como a la ip de la maquina para que puede ser reconocida por la LAN.

2da parte:

Se supone que ya se debe contar con una lan, sino se tiene aun pueden hacer las preguntas del caso a fin de resolver el problema de la lan. Pueden haver muchas topologias de red, sin embargo la mas clasica es la siguiente:



Bien ahora procedemos a configurar el servidor DHCP, para ello primero abrimos la plantilla que viene con ltsp en la siguinete ubicacion:

nano /etc/ltsp/dhcp.con

que en mi caso quedo asi:

# # Default LTSP dhcpd.conf config file. #
#authoritative;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.10 192.168.2.20;
option domain-name "example.com";

option domain-name-servers 200.48.225.130;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
next-server 192.168.2.1; #<-- esta es la ip del servidor ltsp
# get-lease-hostnames true;

option subnet-mask 255.255.255.0;

option root-path "/opt/ltsp/i386";

if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0"; }
else {
filename "/ltsp/i386/nbi.img"; } }


Bien una ves que llenamos la plantilla con los datos correctos procedemos a referenciarlos del servidor dhcp-server en:

nano /etc/dhcp3/dhcpd.conf

que me quedo asi:

#
# Sample configuration file for ISC dhcpd for Debian
#

# Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp

include "/etc/ltsp/dhcpd.conf";

bien procedemos a iniciar el servidor dhcp:

/etc/init.d/dhcp3-server start

3era parte:

Procedemos a configurar el servicio tftpd

Debemos configurar para que este servicio corra con un servicio (demonio)

Para ello editamos en:

nano /etc/default/tftpd-hpa

y debe quedar asi:

#Defaults for tftpd-hpa
RUN_DAEMON="yes"

#OPTIONS="-l -s /var/lib/tftpboot"

OPTIONS="-l -s /tftpboot"


Creamos la carpeta /tftpboot en el direcotrio raiz SI ES QUE NO EXISTE, en mi caso cuado ejecute ltsp-build se creo autoticamente en /tftpboot por eso lo del cambio en el fichero anterior.
Si no existe crear la carpeta /tftpboot y mover hai los ficheros ubicados en /var/lib/tftpboot.

Porcedemos a iniciar el servicio tftp

/etc/init.d/tftpd-hpa start

4ta parte:

Modificamos el fichero inetd.conf

nano /etc/inetd.conf

y nos fijamos en la linea que hace referencia a tftp y modificamos la ruta final, quedara de la siguinete manera:


tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /tftpboot

5ta Parte:

Configuramos el servicios NFS

Editamos exports

nano /etc/exports

debe quedar de la siguiente manera:

# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#

#/opt/ltsp/i386 192.168.137.0/255.255.255.0 (ro,no_root_squash,sync)
/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)


procedemos a reiniciar el servicio NFS

nano /etc/init.d/nfs-kernel-server

Editamos el archivo hosts.allow para especificar los equipos que van a acceder:

nano /etc/hosts.allow

debe quedar asi:

#
bootpd 0.0.0.0 #
in.tftpd: 192.168.2. # red 192.168.2.0 /24
portmap: 192.168.2. #red 192.168.2.0/24

Bien hasta aqui ya tenemos el sistema base completamente configurados y listor para iniciar


6ta parte

Se configurar el Booteo, puede ser con diskete de arranque , pero en este caso sera por booteo de Red,
apara ello accedan a las bios de los clientes y configuren como primer dispositivo de arranque: Red.

Bueno eso es todo. GRacias.



7ma parte: SUGERENCIAS Y PROYECTOS POSTERIORES:

La instalacion anterior es basica pero suficiente para inducir en el uso de terminales. Cuando entramos a ambientes de produccion pueden aparecer ciertas interrogantes, entre ellas tenemos:

- Es posible crear espacio de intercambio (swap) adicional en el servidor ?
- Es posible realizar cambios en la configuracion de pantalla si tenemos problemas de resolucion de pantalla?
- Que sucede si el servidor es de arquitectura 64 bits y los clientes de 32?


Cualquier ayuda y o trabajo de ltsp en produccion es bienvenido para dar las consultas del caso.

Bien finalmente agradecer al amigo Paul que ayudo a refrescar estos conocimientos.

Cualquier duda, sugerencia, critica son bienvenidas.