Esta es una guía para montar un servidor de clientes livianos usando LTSP 5 y Lihuen 2, para esto publicamos un cd de paquetes y configurac¡ón para LTSP 5 que contiene los paquetes necesarios para instalar LTSP 5 en una instalación estándar de Lihuen 2, una imagen para que ejecuten los clientes y un script que instalará todo y copiará algunos archivos de configuración necesarios para tener el servidor funcionando.
El cd para instalar el servidor de clientes livianos sobre LIHUEN cuenta con los paquetes necesarios para su instalación. Asimismo realiza algunas configuraciones básicas para su funcionamiento.
Los servicios que se utlizarán durante el funcionamiento del servidor son:
* DHCP * TFTP * NFS * SSH
Para comenzar su instalación tenemos que utilizar el script init.sh incluido en el cd, el cual instalará los paquetes y modificará los archivos necesarios para la configuración.
Desde consola en el directorio del CD de "LTSP 5 - Lihuen 2" ejecutar
# bash init.sh
Este script instalará los paquetes ltsp-server-standalone y openssh-server que por dependencias instalarán además un servidor tftp, un servidor nfs y un servidor dhcp.
Luego de esto, va a descomprimir en /opt/ltsp el sistema que se ejecutará en los clientes para luego conectarse al servidor de livianos y en /var/lib/tftpboot/ltsp el kernel y la imagen initrd de los clientes.
Finalmente copiará una nueva configuración para dhcpd y nfs-server.
La interfaz que se configure con la ip estática tendremos que habilitarla para que escuche las peticiones de dhcp, para esto modificamos el archivo /etc/default/dhcp3-server en la entrada INTERFACES.
Por ejemplo: INTERFACES="eth0"
Ejecutar:
/etc/init.d/dhcp3-server restart
Para que funcione correctamente debemos prestar atención a la ip que ponemos en la placa de red que escuchará las peticiones de dhcp.
Para configurar la interfaz de red podemos hacerlo manualmente en el archivo /etc/network/interfaces, o desde la aplicación en Menú->Escritorio->Administración->Red.
Dicha ip esta directamente relacionada con la configuración de los archivos /etc/dhcp3/dhcpd.conf y /etc/exports.
El archivo que establece el número de ips que se van a entregar dinámicamente es dhcpd.conf, el cual se copia durante la instalación. La ip que le asignamos a la placa de red tiene que coincidir con la que esta en este archivo, la que viene configurada por defecto es la 192.168.0.1, como asimismo la red en la cual se encuentra.
En el archivo /etc/exports se encuentra la lista de directorios que se comparten con los clientes y la red a la cual se comparte. Por defecto tiene esta configuración:
/var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async) /opt/ltsp/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,sync)
Donde 192.168.0.0/255.255.255.0 es la red a la cual se va a compartir estos directorios.
Ejecutar:
/etc/init.d/nfs-kernel-server restart
Para activar el arranque del servidor de TFTP durante el encendido de la máquina, podemos hacerlo de dos maneras
/etc/inetd.conf
Donde tendría que estar descomentada esta línea
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /vat/lib/tftpboot
Para reiniciar el servicio ejecutar:
#/etc/init.d/openbsd-inetd
cambiando el valor de la entrada RUN_DAEMON a "yes" Verificar que el path especificado sea donde estan especificado las imágenes del kernel y linux, en general es:
/var/lib/tftpboot
Para reiniciar el servicio ejecutar:
#/etc/init.d/tftpd-hpa restart
Para que los clientes conozcan la clave pública del servidor, ejecutamos como root, desde una terminal el comando:
# ltsp-update-sshkeys
Para que la máquina que usaremos funcione como cliente liviano debemos graba una imagen,a la cual permite arrancar desde la red el sistema. Esta imagen se encuentra dentro del cd en la carpeta gpxe. En esta carpeta se encuentran varias imágenes según el medio que usemos podemos elegir entre las siguientes opciones:
No debemos olvidar que para que el cliente liviano arranque desde un dispositivo no extraíble y no desde el disco rígido debemos indicarlo en el BIOS.
1. Verificamos que el diskette no esté dañado con
fdformat /dev/fd0
2. Grabamos la imagen gpxe.dsk desde el directorio gpxe
dd if=gpxe.dsk of=/dev/fd0
Nota: El diskette no se podrá utilizar para guardar archivos, solamente funcionará como disco de inicio. Así que no se preocupe si intenta montarlo y el sistema le dice que no es posible hacerlo.
Estas imágenes se pueden grabar con K3B o cualquier otro programa de grabación de CDs
En caso que que tengamos problemas para poder arrancar los clientes, podemos verificar el funcionamiento de los servicios utilizando principalmente el comando netstat: Este comando nos permite visualizar las conexiones de red actualmente establecidas netstat, los servicios que están corriendo, etc. Las opciones que utilizaremos son:
$netstat -an | grep ":67" $ps aux | grep dhcpd
El archivo donde se guardan las ip que entrega el servidor dhcpd en forma dinámica esta en : /var/lib/dhcp/dhcpd.leases.
$netstat -an | grep ":111" $rpcinfo -p localhost program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 32771 nlockmgr 100021 3 udp 32771 nlockmgr 100021 4 udp 32771 nlockmgr 100005 1 udp 648 mountd 100005 1 tcp 651 mountd 100005 2 udp 648 mountd 100005 2 tcp 651 mountd 100005 3 udp 648 mountd 100005 3 tcp 651 mountd 100024 1 udp 750 status 100024 1 tcp 753 status $ps -e | grep portmap
$ showmount -e
debería decir algo como esto
/opt/ltsp 192.168.10.0/255.255.255.0 /var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0
$ netstat -anp | grep ":69 " udp 0 0 0.0.0.0:69 0.0.0.0:* 5371/in.tftpd
Con dichas configuraciones el servidor esta listo para funcionar, más adelante agregaremos temas para una configuración mas avanzada.
Algunas BIOS soportan arranque por red utilizando PXE, sólo hay que habilitar esta opción.
Es muy común que los clientes livianos tengan instalado este sistema operativo. Podemos aprovechar el hecho de que estas máquinas tienen disco duro e instalar gpxe en él en lugar de utilizar diskettes.
La forma más flexible de hacer esto es instalar en el cliente Grub4Dos. Y crear una imagen de gpxe que se pueda bootear de esta forma, el formato de la imagen deberá ser .lkrn para gpxe o .zlilo para el viejo etherboot (Véase: Como generar imágenes de gpxe).
shell=C:\boot\grub.exe --config-file=(hd0,0)/boot/menu.lst
O el disco que corresponda en notación de GRUB, en el 99% de los casos (hd0,0) está bien, si no funciona pruebe (hd1,0), etc...
title Cliente Liviano de Lihuen kernel (hd0,0)/boot/gpxe.lkrn boot
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) shell=C:\boot\grub.exe --config-file=(hd0,0)/boot/menu.lst Country=052,850,C:\WINDOWS\COMMAND\country.sys
color black/cyan yellow/cyan timeout 5 default 0 title Cliente Liviano de Lihuen kernel (hd0,0)/boot/gpxe.lkrn boot title Windows 9x savedefault --wait=2 quit
Las imágenes de gpxe pueden generarse desde el sitio http://rom-o-matic.net/ con configuraciones especificas, o podemos descargar el código de gpxe y compilar las nuestras. Lo interesante de ésta última forma es que nos permite generar imágenes "universales" que funcionan con casi todas las placas de red, en lugar de generar una imagen para cada modelo.
Algunos de los formatos de las imágenes son
Precisamos tener instalados al menos los siguientes paquetes
1. Descargamos gpxe desde su repositorio con git
git clone git://git.etherboot.org/scm/gpxe.git
2. Esto debería crear una carpeta gpxe o gpxe-versión, entramos en la carpeta
3. Ejecutamos el comando make
4. Esto debería crear varios archivos en el directorio bin (no confundir con /bin no hemos instalado nada)
5. Para generar una imagen para una placa con un chipset en especial buscamos su nombre en bin, debería haber un archivo .o por cada placa soportada por gpxe. Para generar una imagen universal con todos los drivers elegimos el nombre gpxe.
6. Elegimos el formato (.dsk, lkrn, etc...)
7. Ejecutamos make bin/nombre.formato
Generamos una imagen universal para arrancar desde un boot loader (.lkrn)
cd gpxe make make bin/gpxe.lkrn
Generamos una imagen de diskette para placas con chipset rtl8139 y una imagen de diskette universal
cd gpxe make bin/rtl8139.dsk make bin/gpxe.dsk
Las imágenes se generarán en el directorio bin