Guia LTSP Debian

17
Órgano del Poder Popular Dirección Municipal de Salud Municipio Holguín Clientes Ligeros con Debian GNU/Linux Autor: Ozkar L. Garcell Holguín, Marzo 2012

Transcript of Guia LTSP Debian

Page 1: Guia LTSP Debian

Órgano del Poder Popular

Dirección Municipal de Salud

Municipio Holguín

Clientes Ligeros

con Debian GNU/Linux

Autor:

Ozkar L. Garcell

Holguín, Marzo 2012

Page 2: Guia LTSP Debian

Información de Contacto.Nombre: Ozkar L. Garcell

Correo-E: [email protected]

Teléfono: (024) 46 6300

Page 3: Guia LTSP Debian

Tabla de ContenidoInformación de Contacto............................................................................................................................2Introducción...............................................................................................................................................4Introducción a los Clientes Ligeros............................................................................................................5Clientes Ligeros en GNU/Linux................................................................................................................61 Terminal Ligera.......................................................................................................................................7

1.2 DHCP...............................................................................................................................................71.3 TFTP................................................................................................................................................71.4 NFS..................................................................................................................................................71.5 LTSP................................................................................................................................................8

2 LTSP........................................................................................................................................................82.1 Instalación de paquetes.........................................................................................................................9

2.1.1 Creación de la imagen..............................................................................................................92.1.2 Host e IPs................................................................................................................................102.1.3 DHCP.....................................................................................................................................102.1.4 TFTP.......................................................................................................................................122.1.5 INETD....................................................................................................................................132.1.6 NFS.........................................................................................................................................132.1.7 Clientes...................................................................................................................................142.1.8 Impresoras..............................................................................................................................152.1.9 Finalizando.............................................................................................................................162.1.10 Usuarios y permisos..............................................................................................................16

3 Conclusiones.........................................................................................................................................17

Page 4: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

IntroducciónEsta manual nace con el creciente uso de los clientes ligeros en nuestra

entidad y a falta de un manual COMPLETAMENTE funcional. Subrayo

completamente, todas las configuraciones y programas aquí descritos están

100% correctos, por lo que si le da error algún paso, vuelva a intentarlo.

La ventaja que tendríamos de tener un servidor de clientes ligeros

funcional, que que podríamos poner a trabajar algún cacharrito que nos de

algún problema y así quitarnos de encima a algún molesto usuario, que por

cierto, nos sobran.

Por qué escoger Debian y no Ubuntu ? Bien, primero, porque Ubuntu me cae

“gordo” y porque Ubuntu usa NBD(Network Block Device) sobre NFS(Network

File System). NBD está probado que tiene peor rendimiento y causa pérdida

de datos, además de tener un mayor consumo de red y de recursos del

servidor. NFS nos provee una comunicación asíncrona y mayor estabilidad y

ahorro de recursos. Hago énfasis en el ahorro de recursos: los supuestos

servidores con los que contamos para los clientes ligeros no son los

mejores(Celeron Duo, 1Gb RAM), ya verán cuando pongan a funcionar 10 o más

clientes y todos con OpenOffice/LibreOffice y/o Firefox. Ubuntu además, en

su configuración por defecto del servidor LTSP, no encripta los homes de

los usuarios, la única ventaja que le ví es que ya te gestiona los permisos

para dispositivos extraíbles. Con Debian pasaremos un poquito más de

trabajo, pero lograremos un servidor mucho más estable y duradero, que es

el objetivo.

No traduciré los nombres de los programas ni comandos que vengan

originalmente en inglés u otro idioma, personalmente veo eso como una falta

de respeto.

Ozkar L. Garcell Página 4

Page 5: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

Introducción a los Clientes LigerosBueno, un cliente ligero, según la fiable Wikipedia: Un cliente liviano o

cliente ligero es una computadora cliente en una arquitectura de red

cliente-servidor que depende primariamente del servidor central para las

tareas de procesamiento, y principalmente se enfoca en transportar la

entrada y la salida entre el usuario y el servidor remoto. Eso dice

Wikipedia, por ahora hagámosle caso. En general, un cliente ligero es una

PC con teclado, mouse, display y sin disco duro, con una board que permite

el arranque en red. PCs que son de bajos recursos, CPU , 512 RAM, chipset

VIA. Bajo costo de producción y adquisición. Ventajas ? Desde nuestro punto

de vista de admin de redes, pues muchas !!!

➢ Se administran completamente desde el servidor: Ya no tendríamos que

caminar de un lado al otro, desde nuestra propia estación de trabajo

controlamos el Universo.

➢ El hardware falla menos: Al carecer de discos duros, 0 pérdidas de

datos, 0 cuelgues.

➢ Información centralizada: Si tenemos toda la info en nuestro servidor,

pues 0 registro de usuarios, 0 registro de soportes extraíbles, 0

películas, 0 música y 0 juegos en las PCs.

➢ Menos consumo de energía: Esto es importante, así los administradores

pelearan menos por el sobreconsumo.

➢ Y las que se les ocurra...

Ozkar L. Garcell Página 5

Page 6: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

Clientes Ligeros en GNU/LinuxExisten numerosas soluciones para clientes ligeros sobre GNU/Linux, unas

libres otra no. Aquí un pequeño resumen como parte de la cultura general

integral(por aquello de que la cultura no tiene momento fijo):

➢ LTSP

LTSP es el acrónimo de Linux Terminal Server Project. Fundado el 1999

por J. McQuillian, es el más popular ya que es un proyecto libre y

comunitario. Surgió dada la necesidad de convertir PCs con bajos

recursos en terminales de un ordenador central, donde se ejecutarían

todas las acciones.

➢ PXES

PXES o Universal Thin Linux Client, es un proyecto mucho mas joven que

LTSP e incorporta algunas características nuevas. PXES es en sí una

minidistro, la cual se carga en la RAM del cliente, esto se traduce en

sobrecarga de red y recursos, lo mismo que hace BXP de Windows.

➢ 2X ThinClientServer

Esta es una de las soluciones, digamos, más Enterprises, se basa en

una interfaz web que permite desglosar nuestra entidad en

departamentos, usuarios, permisos, etc. Incluye soporte para

impresoras y redirección de sonido, así como de vigilancia de

clientes. Desventaja: para acceder a las mejores características, hay

que pagarlo.

➢ DietPC

DietPC o Diskless Embedded Technology Personal Computer comparte las

características de PXES: carga la imagen en RAM. Además no posee

facilidad de configuración.

Ozkar L. Garcell Página 6

Page 7: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

➢ NetStation

Distro de GNU/Linux que permite convertir PCs en clientes ligeros, ya

sea su arranque por red, disquete, CD o USB.

Existen muchas otros soluciones, OSPlugger basada en Nova GNU/Linux y

OpenThinClient, este último está desarrollado sobre Java.

1 Terminal LigeraComo funciona un cliente ligero? Creo que este preámbulo es necesario, sino

tomaríamos como brujería cuando los clientes comiences a funcionar.

Explicaré el funcionamiento de LTSP específicamente, pero primero, una

serie de conceptos.

1.2 DHCP

DHCP o Dynamic Host Configuration Protocol es un protocolo de red en el

cual el servidor provee los parámetros de configuración necesarios a las

máquinas conectadas en red que así lo soliciten. Mediante DHCP se asignaran

de forma automática y completamente transparente el IP, DNS, máscara de

red, puerta de enlace, etc.

1.3 TFTP

TFTP o Trivial File Transfer Protocol es un protocolo de transferencia

simple con funcionalidades parecidas al FTP que todos conocemos. TFTP puede

ser utilizado para la transferencia de pequeños archivos entre ordenadores

en una red. Como TFTP utiliza UDP en vez de TCP/IP no hay una definición

formal de cliente-servidor ni de sesión(al contrario de FTP). Tan solo

existe una petición y una respuesta; sencillo y rápido.

1.4 NFS

NFS o Network File System es un protocolo de red de nivel de aplicación. Es

Ozkar L. Garcell Página 7

Page 8: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

utilizado para sistemas de archivos distribuidos en un entorno de red de

computadoras de área local o LAN. NFS posibilita que distintas PCs accedan

a sus datos remotos como si se tratara de locales(dígase unidad de red).

1.5 LTSP

Este es el pollo del arroz con pollo. A continuación paso a paso de como

funciona LTSP:

1. El cliente arranca y mediante Etherboot(inicio de red en booteo)

realiza una petición DHCP a la red. El servidor responde, asignándole

una dirección IP y la localización del kernel(núcleo) a descargar.

2. Mediante TFTP el cliente contacta con el servidor y localiza el

kernel, que es cargado en RAM y es el que toma el control a partir de

ahora.

3. El kernel inicializa el sistema y los periféricos(display, teclado,

mouse, usbs, impresoras, etc).

4. El kernel carga una pequeña imagen en RAM y la monta temporalmente

como sistema de archivos raíz.

5. Se lee el fichero lts.conf donde se encuentran los parámetros de los

clientes ligeros(sonido, video, impresoras, etc).

6. Se inician las X y ya está.

Este es el proceso de arranque a grandes rasgos, el cual, debe suceder en

menos de dos minutos sin contratiempos en la red o en el servidor.

2 LTSPAcá explicaré el proceso de instalación y configuración de un servidor

LTSP. Para este ejemplo se utilizó Debian GNU/Linux Lenny(versión 5). esta

versión nos provee del kernel 2.6. mucho más liviano que los

Ozkar L. Garcell Página 8

Page 9: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

posteriores(las versiones 2.6.37.x en adelante y la 3.x.x en los chipset

intel/ati nos da el conocido bug de lacking de RAM/SWAP, con el posterior

cuelgue).

Para otras versiones solamente varía en algunas configuraciones, las cuales

son triviales.

Procedemos a instalar todos los paquetes necesarios:

[root@durotar ~]# aptitude install nfs-common dhcp3-server nfs-kernel-server tftpd-hpa

ltsp-server-standalone

2.1 Instalación de paquetes

2.1.1 Creación de la imagen

Luego que tengamos todos los paquetes instalados en nuestro servidor,

procederemos a la creación de la estructura de la imagen:

[root@durotar ~]# ltsp-build-client --accept-unsigned-packages --security-mirror none

--arch i386 --dist lenny --mirror ftp://ftp.sld.cu/debian/lenny main contrib non-free

➢ ltsp-build-client: mediante esta instrucción, mandamos a crear la

estructura de ficheros de la imagen. Dicha estructura de ficheros se

creará por defectos en /opt/ltsp/$arch donde $arch será la

arquitectura escogida.

➢ accept-unsigned-packages: para que nos acepte paquetes si firmar,

muy populares en nuestros repositorios.

➢ security-mirror: en este caso, no uso un mirror de seguridad, no lo

creo necesario, pero es mi consideración personal.

➢ arch: arquitectura de los clientes.

➢ dist: rama a utilizar, libre elección.(Con LTSP pueden tener más de 1

Ozkar L. Garcell Página 9

Page 10: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

arquitectura y más de una distro de forma transparente, pero eso ya

sería otra historia.)

➢ mirror: repositorio a utilizar, libre elección también.

Válido aclarar que para hacer menos engorroso el comando, pueden configurar

sus parámetros desde /var/lib/ltsp/.

2.1.2 Host e IPs

Con nuestro editor de texto favorito(vi, vim, nano, pico, gedit, leafpad),

abrimos el fichero /etc/hosts y pondremos dentro de siguiente(este paso es

facilmente obviable que caso de que no tengamos un dominio/grupo de

trabajo):

ejemplo:

192.168.1.2 servidor.midominio.sld.cu

Y dentro de /etc/hosts.allow pondremos lo siguiente:

bootp: 0.0.0.0

in.tftpd: 192.168.1.

portmap: 192.168.1.

2.1.3 DHCP

Nuevamente con nuestro editor de texto editamos el fichero

/etc/dhcp3/dhcdp.conf y dentro pondremos lo siguiente:

authoritative;

Ozkar L. Garcell Página 10

Page 11: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

allow bootp;

allow booting;

ddns-update-style ad-hoc;

option domain-name "midominio.sld.cu";

option domain-name-servers 192.168.1.1;

option broadcast-address 192.168.1.255;

option routers 192.168.1.1;

option subnet-mask 255.255.255.0;

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.10 192.168.1.50;

get-lease-hostnames true;

use-host-decl-names on;

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";

}

}

Explicación de la configuración:

➢ authoritative: poner este parámetro al comienzo del fichero le indica

Ozkar L. Garcell Página 11

Page 12: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

al servidor DHCP que asignará la configuración que posee el servidor y

tomará las demás configuraciones como erróneas.

➢ allow bootp y allow booting: estas opciones permiten el arranque por

red. Hasta donde sé no so muy necesarias, pero las dejo por si acaso.

➢ ddns-update-style: define el método de actualización automática de la

DNS.

➢ domain-name: define el nombre del dominio al cual pertenecerán los

clientes.

➢ domain-name-servers: define la lista de DNS.

➢ get-lease-hostnames: Define si se busca el nombre del nodo al host y

lo usa en la opción hostname.

➢ use-host-decl-names: Usa el alias de la declaración del host como

nombre de la máquina.

Los otros se entienden por sí solos.

2.1.4 TFTP

Para configurar el tftp, primeramente creamos un directorio, llamado

tftpboot en la raíz de nuestro sistema.

[root@durotar ~]# mkdir /tftpboot

Luego copiamos el contenido de /var/lib/tftpboot para /tftpboot

Ozkar L. Garcell Página 12

Page 13: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

[root@durotar ~]# cp -Rv /var/lib/tftpboot /tftpboot

Editamos el fichero /etc/default/tftp-hpa de forma tal que nos quede como

sigue:

RUN_DAEMON="yes"

OPTIONS="-l -s /tftpboot"

Con estas opciones le decimos a el TFTP que se ejecute en modo daemon, o

sea, como servicio del sistema, y que cargue los ficheros de /tftpboot de

forma segura(-s = --secure).

2.1.5 INETD

Editamos el fichero /etc/inetd.conf y al final del fichero le agregamos la

siguiente línea. En caso de que exista la modificamos para que quede de la

siguiente forma:

tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/tftpd -s /tftpboot

2.1.6 NFS

Ahora configuraremos los directorios a usarse por el NFS. Creamos un

directorio y le llamaremos /opt/swapfile, para ser usado como swap o área

de intercambio de procesamiento de los clientes.

[root@durotar ~]# mkdir /opt/swapfile

Editamos el fichero /etc/exports de forma tal que nos quede de la siguiente

forma:

Ozkar L. Garcell Página 13

Page 14: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

/opt/ltsp/i386 192.168.1.0/255.255.255.0(ro,no_root_squash,no_subtree_check,sync)

/opt/swapfile 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,sync)

2.1.7 Clientes

La configuración de los clientes se lleva de forma general y específica en

el fichero /opt/ltsp/i386/etc/lts.conf. Esta es un ejemplo de una

configuración general, o sea, genérica para todos los clientes. Para

especificar una configuración de un solo cliente se debe hacer por

direcciones MAC.

Ejemplo:

[default]

SERVER=192.168.1.2

X_SERVER=auto

X_MOUSE_PROTOCOL="PS/2"

X_COLOR_DEPTH=16

X_MODE_0=1024x768

X_RAMPERC=98

SWAPFILE_SIZE=64m

NFS_SWAPDIR=/opt/swapfile

USE_NFS_SWAP=True

LDM_DIRECTX=True

LDM_LANGUAGE="es_ES.UTF-8"

Ozkar L. Garcell Página 14

Page 15: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

LOCALDEV=True

ALLOW_UNKNOWN_USB=True

HOTPLUG=True

SOUND=True

PCM_VOLUME=50

LOCAL_APPS=True

LOCAL_STORAGE=True

[00:19:D1:DE:63:E6]

SOUND=False

LOCAL_APPS=False

LOCAL_STORAGE=False

2.1.8 Impresoras

Las impresoras se configuran por la dirección MAC del cliente al que estén

conectados.

Ejemplo de impresora LPT1:

[00:19:D1:DE:63:E6]

PRINTER_0_DEVICE=/dev/lp0

PRINTER_0_TYPE=P

PRINTER_0_PORT=9100

Ejemplo de impresora USB:

Ozkar L. Garcell Página 15

Page 16: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

[00:19:D1:DE:63:E6]

PRINTER_0_DEVICE=/dev/usblp0

PRINTER_0_TYPE=U

PRINTER_0_PORT=9100

2.1.9 Finalizando

Después de finalizadas todas las configuraciones, pues solamente nos queda

crear nuestra imagen.

[root@durotar ~]# ltsp-update-image

Y luego actualizar el kernels para el chroot.

[root@durotar ~]# ltsp-update-kernels

2.1.10 Usuarios y permisos.

Para crear los usuarios, pues sencillamente creamos usuarios locales en el

servidor, con el comando adduser.

[root@durotar ~]# adduser ozkar

Es recomendable crear grupos y luego los usuarios, para tener un mejor

control de nuestros clientes. Un problemilla que tiene Debian es que no te

gestiona los dispositivos extraíbles. Pues sencillamente agregamos los

usuarios al grupo fuse,

[root@durotar ~]# gpasswd -a ozkar fuse

y asunto resuelto. Válido aclarar que los clientes utilizarán el mismo

Ozkar L. Garcell Página 16

Page 17: Guia LTSP Debian

CLIENTES LIGEROS CON DEBIAN GNU/LINUX

software instalado en el servidor. O sea, que al instalar un paquete estará

disponible, tanto desde el servidor como de los clientes.

3 ConclusionesUn servidor de clientes ligeros con Debian, brinda la flexibilidad y

estabilidad que no hallaremos con otra distro. Personalmente soy semi-fan a

Debian, me inclino más por Gentoo, OpenSuSe y Arch. Estoy abierto a

cualquier duda o sugerencia.

Ozkar L. Garcell Página 17