Académique Documents
Professionnel Documents
Culture Documents
1
Datos del autor.
Email: tuxisla@ij.cc.cu
Resumen.
Palabras claves: software libre, TIC, migración, guía, GNU/Linux, DRBL, Isla de la Juventud,
informatización de la sociedad, clientes ligeros.
Abstract.
The Cuban government, in addition to ministries and entities with specialized personnel in using
Technologies of Information and Communications (TIC), understanding the benefits of a gradual
migration to Free Software as a basics for its society computerization has started the application
of some methodologies to support this process. Particularly the special municipality of Isla de la
Juventud does not escape from this reality. Being the main goal of the present work to provide
not only to business but schools, universities, hospitals, institutions, organizations and offices of
central state administration a tested solution at thin clients' technology exploitation under the
principles of Free Software by using GNU/Linux Operative System and DRBL software package.
Keywords: Free Software, TIC, migration, guide, GNU/Linux, DRBL, Isle of Youth, society
computerization, thin clients.
2
Índice de contenido
Resumen.........................................................................................................................................2
¿Qué es GNU/Linux?..................................................................................................................6
¿Por qué nos puede interesar GNU/Linux?................................................................................6
¿Qué es Trisquel GNU/Linux?....................................................................................................6
¿Qué es DRBL?..........................................................................................................................8
Requerimientos técnicos para el servidor y el cliente DRBL.................................................9
Recomendaciones.........................................................................................................................20
Conclusiones.................................................................................................................................21
Bibliografía.....................................................................................................................................22
Anexos...........................................................................................................................................23
3
El mundo de los Clientes Ligeros.
Durante los últimos años la potencia de las computadoras se ha multiplicado, ofreciendo unas
prestaciones cada vez más elevadas, superando en muchos casos los requerimientos de las
aplicaciones que utilizamos cotidianamente. Conjuntamente a este aumento de potencia, el
precio de producción de hardware ha disminuido considerablemente, hecho que provoca que en
determinadas situaciones se adopten alternativas sobredimensionadas, que repercuten en un
desaprovechamiento de recursos y una carga económica que se puede evitar.
Las grandes empresas de software sacan a la luz cada poco tiempo nuevas aplicaciones, más
completas, pero que a su vez necesitan PC más potentes para poder funcionar. Esto provoca
una carga económica muy elevada tanto en pequeñas como grandes empresas, que pueden
llegar a renovar su parque informático cada dos años. En muchos casos se evalúa
erróneamente las verdaderas capacidades que ha de poseer un equipo informático para
desempeñar una actividad concreta. Por lo general, los recursos informáticos son
sobredimensionados con la excusa de disponer de un periodo de vida más largo.
Por supuesto, debemos ser conscientes de que para determinadas aplicaciones científicas y
técnicas es necesario disponer de máquinas potentes, pero para determinados entornos
domésticos, educativos, y en la pequeña y mediana empresas, las capacidades de proceso y el
volumen de datos con el que se trabaja es relativamente bajo, y la capacidad de proceso de los
PC actuales está siendo desaprovechada.
Hoy se puede definir un "cliente ligero" como un ordenador con una baja capacidad de proceso,
generalmente sin unidades de almacenamiento, de menor tamaño, y con un coste muy
reducido; siendo la evolución de los antiguos terminales en modo texto, que se utilizaban en
instalaciones centralizadas.
4
Nuestro país no está exento de los avances tecnológicos a nivel mundial. Producto de la
barrera digital impuesta por los países más desarrollados y las restricciones relacionadas con
las TIC vigentes por el inhumano bloqueo del gobierno norteamericano, no es posible adquirir
tecnología de punta a precios razonables para nuestra economía. Es por ello, que se tomó la
estratégica decisión de implementar la arquitectura Servidor-Cliente Ligero, adquirida al
hermano país de Vietnam.
“Migrar a Linux/Software Libre no tiene ningún componente romántico como pudiera ser hace
años, se migra a la plataforma Open Source/Free Software por puras razones económicas y de
rendimiento” 1. Aunque la lista es extensa, algunos nombres importantes de quienes ya usan
kernel Linux y software libre hoy en día, hablaría por sí misma: IBM, Oracle, Google, Sun, HP,
Novell, SAP, Amazon, Pixar, Dreamworks, Merrill Lynch Credite Suisse, Administraciones y
Comunidades Autónomas (Extremadura, Andalucíam Catalunyam Madridm Valenciam C-LM),
Ayuntamiento de Zaragoza, Gobierno de Venezuela, Sistema educativo brasileño, Ayuntamiento
de Munich, Gendarmeria de Francia y un largo etcétera.
1 Barton, Matt. “El riesgo de usar software propietario”. En Free Software Magazine. Vol. 4 (mayo 2005). --p. 17.
5
Utilizando Trisquel GNU/Linux como SO de Servidor-Clientes
Ligeros.
¿Qué es GNU/Linux?
GNU/Linux es el término empleado para referirse al sistema operativo similar a UNIX que utiliza
como base las herramientas del sistema GNU y el núcleo Linux. En otras palabras, GNU/Linux
es la evolución libre del sistema operativo propietario UNIX.
El proyecto GNU fue iniciado por Richard Stallman, el 27 de septiembre de 1983, con el
propósito de crear un sistema operativo libre: el sistema GNU, y que devolviera el “espíritu de
cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de
computadoras" 2.
Linux es el núcleo o kernel, que llenó el espacio final que necesitaba el sistema GNU. Linux fue
creado en 1991 por Linus Torvalds.
Se conoce como GNU/Linux al sistema operativo libre; cuyo código fuente pueda ser utilizado,
modificado y redistribuido libremente por cualquiera bajo los términos de la GPL de GNU
(Licencia Pública General) y otras licencias libres. Las variantes de este sistema se denominan
distribuciones GNU/Linux y su objetivo es ofrecer una edición que cumpla con las necesidades
de determinado grupo de usuarios.
Trisquel GNU/Linux es una versión del sistema operativo GNU que utiliza el kernel Linux. Los
principales objetivos del proyecto son el desarrollo de un SO totalmente libre, completo, fácil de
usar -presentando un entorno de escritorio similar a Microsoft Windows permitiendo así una
migración transparente al usuario- y con buen soporte de idiomas.
6
origen se cambiaron por los de Ubuntu con la publicación de la versión 2.0, en el verano de
2008. El proyecto hospeda sus propios repositorios, que derivan de los main y universe de
Ubuntu, aprobando solo aquellos que brindan las cuatro libertades indicadas por la FSF,
excluyendo así todo software privativo. Las diferencias incluyen la eliminación de todos los
paquetes non-free y la sustitución del kernel Linux original por la versión sin firmware
propietario linux-libre, y la adición de diversos paquetes. Desde un punto de vista práctico, los
cambios más visibles son la selección de software preinstalado, la configuración no estándar
del escritorio -usando sólo una barra de escritorio en lugar de las dos por defecto de GNOME-,
y el artwork original, diseñado para ser limpio y elegante.
Existen tres ediciones principales de la distribución, disponibles para descargar desde la URL
http://trisquel.info/downloads. La primera, llamada simplemente Trisquel está diseñada para uso
personal y hogareño. Trisquel Edu, para escuelas de todas las edades, y Trisquel Pro, para
PyMES (pequeñas y medianas empresas). Todas ellas están disponibles en imágenes iso de 32
y 64 bits grabables en un CD, excepto por las ediciones Pro, que debido a su tamaño requieren
de un DVD.
Actualmente se distribuyen Trisquel 2.2 LTS (Long Term Support – Soporte a Largo Plazo), con
nombre código Robur como versión estable y Trisquel 3.0 STS (Short Term Support – Soporte a
Corto Plazo), nombre código Dwyn en la gama inestable, liberada el 10 de noviembre de 2009.
7
Utilizando DRBL como gestor de Servidor-Clientes Ligeros.
¿Qué es DRBL?
DRBL (Diskless Remote Boot in Linux) es un paquete de software Open Source, creado y
mantenido por el Centro Nacional de Computación de Alto Rendimiento (NCHC, por sus siglas
en inglés), con sede en la ciudad de Hsinchu, Taiwan. Está diseñado para proveer la gestión de
entornos Servidor-Clientes Ligeros, bajo plataforma de SO GNU/Linux.
DRBL, utiliza la tecnología PXE/Etherboot, similar a la que utiliza LTSP, para inicializar la
computadora cliente.
LTSP es un servidor centralizado, esto quiere decir que todos los usuarios de los ordenadores
clientes, acceden al servidor y ejecutan sus aplicaciones directamente en él. El teclado y ratón
de los ordenadores clientes es utilizado para enviar órdenes al servidor, mientras que el monitor
muestra el resultado. Este tipo de entorno es factible cuando se cuenta con pocas estaciones;
sin embargo, a medida que estas se incrementen, también debe ser mejorado el hardware del
servidor (aumento de unidades de almacenamiento, memoria RAM, velocidad de
procesamiento y forma de acceso a la red).
Por otro lado, DRBL utiliza los protocolos NFS (Network File System) y NIS (Network
Information Service) para proporcionar el inicio de las computadoras clientes. En esencia, un
servidor DRBL no es más que un servidor NFS y NIS. Todos los usuarios de las estaciones
clientes, solo acceden al servidor en busca de archivos o autenticación. Todo el entorno de
trabajo (el sistema operativo en sí) es cargado en las estaciones clientes, las cuales utilizan sus
propios CPU y memoria RAM. Teniendo esto en cuenta, una computadora normal, puede ser
utilizada como servidor DRBL; mientras que los ordenadores clientes deben ser lo
suficientemente poderosa para ejecutar las aplicaciones que requiera. Un servidor DRBL puede
ser utilizado en ambientes que contengan entre 30 o 40 estaciones de trabajo.
Es importante señalar que a partir de la versión 5.0, LTSP está diseñado para funcionar casi de
forma similar a DRBL.
• Solución para distribuciones ligeras GNU/Linux. DRBL permite inicializar Damn Small
Linux (DSL) y Puppy Linux en las estaciones clientes, sin discos duros, dispositivos
extraíbles (USB Flash, CD/DVD-ROM).
8
• Instalación, vía red, de varias distribuciones GNU/Linux (Mandriva, CentOS, RedHat,
Debian, Ubuntu, SuSE, etc.).
Servidor:
• x86 CPU con al menos 450MHz
• al menos 256Mb RAM
• dos o más interfaces de red
• al menos 10Gb de espacio libre en HDD
Clientes:
• x86 CPU con al menos 120MHz
• al menos 128Mb RAM
• una interfaz de red
9
Creando el entorno Servidor-Clientes Ligeros Trisquel + DRBL.
Servidor:
• x86_64 Intel Core 2 Duo CPU 2.20GHz
• 1Gb RAM
• interfaz de red Fast Ethernet: Intel Corporation 82573E Gigabit Ethernet Controller
• RAID5 160Gb HDD SATAx2
• SO Microsoft Windows 2000 Advanced Server + Venturcom BXP v.3.1 (licencia pirata)
Clientes:
• x86 Intel Celeron CPU 1.33GHz
• 256Mb RAM
• interfaz de red: Silicon Integrated Systems SiS900 PCI Fast Ethernet
• imagen SO Microsoft Windows XP Profesional SP-2 (de 10Gb)
A fin de suplir tres importantes deficiencias, se recomienda modificar el hardware del servidor y
los paquetes de software a utilizar en ambas configuraciones:
2. La demanda de espacio en disco duro de los usuarios de la red que operaran con los
clientes ligeros.
Se utilizará la distribución Trisquel Edu 2.2.2 LTS Robur para 32bits, tanto para el
servidor como para las estaciones clientes; debido a su robustez, estabilidad y
portabilidad a la arquitectura existente: funciona con todos los PC a partir del Pentium
Pro, incluidos los de 64bits. Así como, el uso del paquete de software bajo licencia
GNU/GPL, DRBL, por las bondades que ofrece en la gestión de 10 o más ordenadores
dentro del esquema Servidor-Clientes Ligeros.
10
Configuración modificada:
Servidor:
• x86_64 Intel Core 2 Duo CPU 2.20GHz
• 1Gb RAM
• tres interfaces de red Fast Ethernet: Intel Corporation 82573E Gigabit Ethernet Controller
(ONBOARD), Realtek Semiconductor RTL-8139/8139C/8139C+ (PCI)x2
• 320Gb HDD SATA: 160Gbx2
• SO Trisquel Edu 2.2 LTS Robur + DRBL (GNU/GPL, Licencia Pública General GNU)
Clientes:
• x86 Intel Celeron CPU 1.33GHz
• 256Mb RAM
• interfaz de red: Silicon Integrated Systems SiS900 PCI Fast Ethernet
• SO Trisquel Edu (entorno exportado vía NFS)
Una vez identificados, el hardware y software a utilizar, se procede a instalar el SO Trisquel Edu
en el ordenador servidor. Se configuran los parámetros de red, siempre teniendo en cuenta que
se deben utilizar no menos de 2 interfaces de red, la primaria o eth0 como posible vía de
acceso a una red externa, como puede ser Internet y la secundaria o eth1, para la red DRBL.
Si se dispone de una sola interfaz de red en el servidor, también es posible crear una interfaz de
red virtual, como por ejemplo eth0:1.
A los efectos de este manual, se utilizará la interfaz eth0 como vía de acceso a una red
externa, y las interfaces eth1 y eth2 para el acceso a la red DRBL, a través de un bonding
de red.
Otros aspectos de interés que proporcionarán un mejor desempeño del servidor DRBL,
finalizado el proceso de instalación y durante la configuración del sistema operativo, son:
• Eliminar todos aquellos ficheros de idiomas que no se utilicen, con lo cual se pueden
ahorrar hasta 400Mb de espacio en disco duro y la ejecución del servidor NFS será más
rápida. Para tal propósito se debe instalar el paquete localepurge.
11
Instalación del SO Trisquel Edu 2.2.2 LTS Robur.
La instalación del SO es una tarea fácil, solo basta inicializar el servidor con el CD de
instalación, especificar el idioma y distribución de teclado a utilizar y posteriormente seleccionar
la opción Instalar Trisquel Edu que se muestra en pantalla y completar los 7 pasos del
asistente de instalación.
Durante este proceso se definen las particiones (como mínimo tres: /boot, swap y /) y tamaño
a utilizar. Se recomienda la creación de una partición /home con 50Gb de espacio de
almacenamiento, lo cual representa un total de 5Gb por cada estación cliente ligero y que con
posterioridad le serán aplicadas cuotas de disco.
Se requiere que todos los controladores del bonding tengan soporte MII. Para verificar
12
si el controlador del red tiene soporte MII, se utiliza el comando ethtool, donde la
salida debe devolver el parámetro Supported ports: [ TP MII ]. Ejemplo:
# ethtool eth1
Settings for eth1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
...
Speed: 100Mb/s
Duplex: Full
Port: MII
...
Link detected: yes
Solo resta asignar los parámetros de red para el arreglo, editando el fichero
/etc/network/interfaces. Este se configura con las mismas opciones que una interfaz
normal. Es decir, requiere los parámetros address, netmask, network, broadcast,
gateway, hwaddress, entre otros (ver Anexo #1). Solo deben ser añadidos los comandos de
inicio y parada del controlador bond0: up /sbin/ifenslave bond0 eth1 eth2 y
down /sbin/ifenslave -d bond0 eth1 eth2.
13
Creando cuentas de usuarios.
GNU/Linux es un sistema operativo con muchas características y una de ellas es que se diseñó
para ser utilizado por múltiples usuarios. Aún cuando se tenga un PC con un único usuario, es
importante recordar que no es conveniente realizar el trabajo diario desde la cuenta root, la
cual sólo debe utilizarse para la administración del sistema. Una cuenta de usuario contiene las
restricciones necesarias para impedir que se ejecuten comandos que puedan dañar el sistema
-programas troyanos como el Bliss-, se altere accidentalmente la configuración del sistema,
los servicios que trabajan en segundo plano (daemons), los permisos y ubicación de los
archivos y directorios de sistema, etc.
Para crear las cuentas de usuarios se deben utilizar los comandos useradd y passwd para
asignar contraseñas. Ejemplo:
Lo anterior crea en el SO una cuenta de usuario con el nombre ixenrp, de igual forma se crea
el directorio /home/ixenrp que será utilizado como directorio personal de trabajo. Debe
repetirse el procedimiento anterior tantas veces como cantidad de cuentas de usuarios se
deseen crear. Si se desea eliminar una cuenta de usuario, ejecútese el comando userdel -r.
Para más información sobre las opciones de los comandos useradd y userdel, consúltese
man useradd/userdel. También es posible la creación y/o eliminación de cuentas de
usuarios mediante los asistentes gráficos existentes en el SO. En Trisquel Edu puede utilizarse
el siguiente recorrido: Sistema/Administración/Usuarios y grupos.
Durante la instalación del SO debe crearse el directorio /home como partición independiente a
fin de poder asignar cuotas de disco a los usuarios que utilizarán el sistema. Para activar esta
funcionalidad, debe ejecutarse el SO en nivel de ejecución 1 (modo monousuario – solo el
usuario root accede al sistema), ya que se requiere no haya procesos activos utilizando
contenido de la partición a la cual se le aplicarán las cuotas de disco. Esto puede lograrse
inicializando el SO en modo single a través de la configuración del gestor de arranque GRUB o
bien una vez inicializado, mediante la ejecución del comando init 1. A los efectos de este
manual, se utilizará este último procedimiento.
Una vez que se tenga el sistema ejecutando el modo monousuario, debe instalarse el paquete
quota y desmontarse la partición /home:
14
# aptitude install quota
# umount /home
# vi /etc/fstab
/dev/sdb1 /home ext3
defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2
# cd /home
# touch aquota.user aquota.group
Y ejecutar:
# quotacheck -avug
La primera vez que se ejecuta el comando anterior es normal que muestre advertencias
refiriéndose a posibles ficheros truncados, que en realidad no eran otra cosa sino ficheros de
texto simple vacíos a los cuales se les acaba de convertir a formato binario. Si se ejecuta de
nuevo quotacheck -avug, no deberá mostrar advertencia alguna. Para activar las cuotas de
disco recién configuradas, solo resta ejecutar:
# quotaon /home
# init 5
Por último deben asignarse las cuotas de disco para cada usuario en particular. El comando
utilizado para tal propósito es edquota. Con el objetivo de hacer coincidir las cuotas de disco
que se asignarán a los usuarios con el espacio destinado a la partición /home en el servidor
DRBL, se asignarán 5Gb (5242880Kb) como espacio en disco disponible para cada directorio
de trabajo. En este caso, se trata de 10 usuarios; por tal motivo se asignará cuota de disco a un
usuario que servirá como modelo para el resto. Para ello, se debe ejecutar:
# edquota ixenrp
Disk quotas for user ixenrp (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda5 24 5242880 5242880 10 0 0
15
Y para utilizarlo como modelo y asignar la misma cuota al resto de los usuarios comprendidos
entre los UIDs 1001 al 1009, ejecutar:
# edquota -p ixenrp `awk -F: '$3 >= 1001 && $3 <= 1009 {print $1}'
/etc/passwd`
Para comprobar se debe acceder al sistema desde otra terminal y ejecutar el comando quota.
Ejemplo:
# su ixenrp
$ quota
Disk quotas for user ixenrp (uid 1000):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 24 0 5242880 10 0 0
Si se realiza una copia de un fichero o directorio que sobrepase los 5Gb de tamaño, llegará un
momento en el que el sistema indicará que ya no es posible continuar copiando, debido a que
se ha agotado el espacio en la partición.
16
Configurando el entorno DRBL.
Es importante señalar que existen varias ramas del paquete DRBL, entre ellas la estable o
stable, de pruebas o testing y la inestable o unstable. Siempre debe utilizarse la estable,
por cuestiones de seguridad y estabilidad del paquete, que puede descargase desde la
siguiente URL en Internet http://drbl.sourceforge.net/download/nchc/stable/.
# /opt/drbl/sbin/drblsrv -i
Debe leerse detenidamente toda la información que se muestra en pantalla y pulsando ENTER
se aceptan las selecciones por defecto. La ejecución de este comando instalará en el sistema
todos los paquetes y dependencias de software necesarias para el buen funcionamiento del
servidor DRBL, y que no fueron seleccionados durante el proceso de instalación del sistema
operativo. Por ejemplo, los servidores DHCP, NIS, TFTP y NFS, entre otros.
Concluida la ejecución del comando anterior, se crea en el sistema el siguiente perfil de trabajo
para el servidor DRBL:
/etc/drbl/
|_ drbl_deploy.conf
|_ drblpush.conf
|_ IP_HOST_TABLE
/opt/drbl/
Aquí se almacenan los directorios y ficheros para la ejecución del programa DRBL.
Ejemplos:
|_sbin/
|_ drblsrv
|_ drblpush
/tftpboot
Aquí se almacenan los entornos virtuales (estructura de directorios y sistema de archivos
de SO) para cada uno de los PC clientes ligeros; así como el nodo o entorno raíz (node
root), que contempla configuraciones estándares para cada ordenador cliente.
17
Preparando el sistema de archivos para los clientes en el servidor.
Tomando como ejemplo una red, que disponga de 10 estaciones clientes ligeros y un servidor
DRBL; se obtendría el siguiente diagrama físico:
La interfaz eth0 será utilizada por el servidor para proporcionar el acceso de los clientes ligeros
a los servicios que ofrece la Intranet: E-mail, DNS (ver Anexo #5), WWW y SQUID proxy.
Mientras que las interfaces eth1 y eth2, mediante un bonding de red, serán utilizadas por los
servicios DHCP (ver Anexo #4), NFS, NIS (ver Anexos 7 y 8) y TFTP, que se ejecutan en el
servidor DRBL y que son accesibles solo por las estaciones clientes ligeros.
El paquete de software DRBL, a partir de la versión 1.6.3 y superiores, permite cuatro modos de
trabajo: DRBL Completo (Full DRBL), Clonezilla Completo (Full Clonezilla), Sistema de
Imagen Sencilla DRBL (DRBL SSI, Single System Image) y Empaquetamiento Clonezilla
(Clonezilla Box). En los dos primeros casos, el uso de espacio de almacenamiento y ancho
de banda de la red es superior, pero todas las configuraciones del sistema serán guardados en
los discos duros del servidor, y cada cliente de red dispondrá de sus configuraciones
individuales. Por otro lado, DRBL SSI provee una imagen del SO a utilizar y las
configuraciones individuales son creadas en tiempo de ejecución (run-time), durante el
proceso de arranque; disminuyéndose el espacio de almacenamiento al ser utilizada solamente
una imagen, pero los usuarios no podrán tener sus propias configuraciones individuales: los
perfiles de usuarios son almacenados en el servidor. El último modo, Clonezilla Box, está
basado en DRBL SSI y fue diseñado para el clonado de sistemas (creación de imágenes de
SOs).
Hay que tener en consideración, que si se decide utilizar el modo DRBL SSI, la disponibilidad
de memoria RAM en las estaciones clientes deber ser superior a los 256Mb y todo el hardware,
específicamente las tarjetas gráficas, debe ser el mismo.
# /opt/drbl/sbin/drblpush -i
18
interrogantes que el asistente muestra en pantalla y escoger las opciones que se ajusten al
entorno deseado.
Solo resta realizar algunos cambios en el fichero de configuración del servidor DHCP, localizado
en /etc/dhcp3/dhcpd.conf, con el propósito de lograr que a cada computadora cliente, le
sea asignada la misma dirección IP cada vez que se inicie. Para ello, deben emplearse las
direcciones físicas (MAC Address) de cada interfaz de red de cada cliente ligero. Esto puede
lograrse también respondiendo Si/Yes a la pregunta “¿Desea anclar la dirección IP del
cliente conectado a eth1, proporcionando su dirección MAC? [s/N] / Do you
want to fix the IP address of client connected to eth1 by giving MAC
address ? [y/N]”, del asistente mostrado tras ejecutar el comando:
/opt/drbl/sbin/drblpush -i.
Preparar el BIOS de los clientes ligeros para inicializar por la interfaz de red PXE, para ello,
activar la opción boot from LAN o boot from Network.
19
Recomendaciones.
• Si se desea actualizar la versión del paquete drbl, deben hacerse copias de seguridad
de los principales ficheros de configuración de servicios, como son:
/etc/drbl/drbl_deploy.conf y /etc/drbl/drblpush.conf.
• Para desinstalar el paquete de software drbl del ordenador servidor, se debe ejecutar:
/opt/drbl/sbin/drblsrv -u. Eliminándose así, tanto los ficheros de configuración
como todos los paquetes relacionados con los servicios y entornos de trabajo de los
clientes ligeros.
20
Conclusiones.
• La solución presentada en este trabajo está acorde con los lineamientos de las actuales
políticas y metodologías, para la migración consciente y paulatina hacia Software Libre,
existentes en nuestro país.
21
Bibliografía.
HowtoForge. The Perfect Server – Ubuntu Jaunty Jackalope (Ubuntu 9.04) [ISPConfig 2].
Tomado de http://www.howtoforge.com/perfect-server-ubuntu-9.04-ispconfig-2, 23 de mayo
del 2009.
Stallman, Richard M. Acerca del Proyecto GNU – Proyecto GNU. Tomado de:
http://www.gnu.org/gnu/thegnuproject.es.html, 10 de enero del 2009.
2E5E, blog del equipo de tecnología. Bonding: alta disponibilidad de red. Tomado de
http://11870.com/2e5e/category/redes/Bonding_alta_disponibilidad_de_red.html, 5 de agosto
del 2009.
22
Anexos.
# cat /etc/modprobe.d/bonding
alias bond0 bonding
options bonding mode=0 miimon=100 updelay=200 downdelay=200 use_carrier=0
# cat /etc/resolv.conf
search linuxij.cu
nameserver 192.168.46.100
# cat /etc/network/interfaces
auto lo eth0 bond0
# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
200.55.143.154 thinserver.linuxij.cu thinserver
#cat /etc/hostname
thinserver.linuxij.cu
23
Anexo #2. Ficheros de repositorios de paquetes de software.
Repositorio Local:
# cat /etc/apt/sources.list
Repositorio Internet:
# cat /etc/apt/sources.list
24
Anexo #3. Ficheros de configuración del servidor DRBL.
# cat /etc/drbl/drbl_deploy.conf
##################################
# drbl_deploy global setting
# File automatically created by drblpush.
# It is better not to manually modify this file.
##################################
config_file="drblpush.conf"
purge_client="no"
client_root_passwd=""
client_pxelinux_passwd=""
language="es_ES.UTF-8"
set_client_system_select="yes"
use_graphic_pxelinux_menu="yes"
set_DBN_client_audio_plugdev="yes"
open_thin_client_option="no"
client_system_boot_timeout="30"
collect_mac=no
total_client_no=10
nfs_protocol="tcp"
client_init="graphic"
mkswapfile=""
ocs_img_repo_dir="/home/partimag"
nfsserver_default=""
nameserver="192.168.46.100"
nameserver_="192.168.46.100"
domain="linuxij.cu"
nisdomain="dummy"
public_ip_list="public_ip.drbl"
login_gdm_opt="login"
client_autologin_passwd=""
timed_login_time=""
clonezilla_mode="full_clonezilla_mode"
drbl_mode="full_drbl_mode"
sh_debug=""
verbose_opt=""
CLIENT_IP_HOSTNAME_LIST="IP_HOST_TABLE"
drbl_server_as_NAT_server="yes"
add_start_drbl_services_after_cfg="yes"
continue_with_one_port=""
##################################
# End of global setting
##################################
25
# cat /etc/drbl/drblpush.conf
26
# cat /tftpboot/nbi_img/pxelinux.cfg/default
default vesamenu.c32
timeout 30
prompt 0
noescape 1
MENU MARGIN 5
MENU BACKGROUND linuxij.png
MENU COLOR UNSEL 7;32;41 #c0000090 #00000000
MENU COLOR TIMEOUT_MSG 7;32;41 #c0000090 #00000000
MENU COLOR TIMEOUT 7;32;41 #c0000090 #00000000
MENU COLOR HELP 7;32;41 #c0000090 #00000000
say **************************************************
say Bienvenido al Servidor de Clientes Ligeros:
say thinserver.linuxij.cu
say Grupo de Usuarios GNU/Linux
say Isla de la Juventud, Cuba.
say http://www.linuxij.cu/
say **************************************************
ALLOWOPTIONS 0
MENU TITLE (Grupo de Usuarios GNU/Linux IJ - http://www.linuxij.cu/)
label DUMMY
MENU LABEL Trisquel GNU/linux (Robur 2.2.2 Edu)
kernel vmlinuz-pxe
append initrd=initrd-pxe.img devfs=nomount drblthincli=off selinux=0 quiet
TEXT HELP
* Grupo de Usuarios GNU/Linux
* Isla de la Juventud, Cuba.
ENDTEXT
label memtest
MENU LABEL Chequeo de memoria utilizando Memtest86+
kernel memtest86
TEXT HELP
* Ejecutar chequeo de memoria
* utilizando Memtest86+ 4.00
ENDTEXT
27
Anexo #4. Ficheros de configuración servidor DHCP.
# cat /etc/dhcp3/dhcpd.conf
include "/etc/bind/rndc.key";
server-identifier thinserver.linuxij.cu;
authoritative;
ddns-updates on;
ddns-update-style interim;
ddns-domainname "linuxij.cu.";
ddns-rev-domainname "46.168.192.in-addr.arpa.";
allow client-updates;
option ip-forwarding off;
default-lease-time 21600;
max-lease-time 43200;
zone localdomain. {
primary 127.0.0.1;
key rndc-key;
}
server-name drbl;
allow bootp;
allow booting;
class "DRBL-Client" {
match if
(substring(option vendor-class-identifier, 0, 9) = "PXEClient") or
(substring(option vendor-class-identifier, 0, 9) = "Etherboot") or
(substring(option vendor-class-identifier, 0, 10) = "DRBLClient") ;
filename "pxelinux.0";
}
shared-network DUMMY {
subnet 192.168.46.0 netmask 255.255.255.0 {
interface bond0;
do-forward-updates true;
update-static-leases on;
option routers 192.168.46.100;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.46.255;
option domain-name "linuxij.cu";
option domain-name-servers 192.168.46.100;
option ntp-servers 192.168.46.100;
option netbios-name-servers 192.168.46.100;
option netbios-node-type 8;
option time-offset -18000;
pool {
range dynamic-bootp 192.168.46.1 192.168.46.10;
deny unknown-clients;
28
zone linuxij.cu. {
primary 192.168.46.100;
key rndc-key;
}
zone 46.168.192.in-addr.arpa. {
primary 192.168.46.100;
key rndc-key;
}
group {
use-host-decl-names on;
host client1 {
option host-name "client1.linuxij.cu";
hardware ethernet 00:19:d1:e0:11:d9;
fixed-address 192.168.46.1;
ddns-hostname "client1.linuxij.cu.";
next-server 192.168.46.100;
}
host client2 {
option host-name "client2.linuxij.cu";
hardware ethernet 00:19:d1:f0:21:m3;
fixed-address 192.168.46.2;
ddns-hostname "client2.linuxij.cu.";
next-server 192.168.46.100;
}
...
host client10 {
option host-name "client10.linuxij.cu";
hardware ethernet 00:19:d1:e0:55:fc;
fixed-address 192.168.46.10;
ddns-hostname "client10.linuxij.cu.";
next-server 192.168.46.100;
}
}
}
}
}
# cat /etc/default/dhcp3-server
INTERFACES="bond0"
29
Anexo #5. Ficheros de configuración servidor DNS-Bind9.
# cat /etc/bind/named.conf
options {
directory "/var/cache/bind";
forward first;
forwarders { 200.55.128.3; 200.55.128.4; };
version "Oops Gotcha!";
auth-nxdomain no;
listen-on-v6 { none; };
listen-on { 192.168.46.100; 127.0.0.1; };
allow-recursion { thinclients_network; };
};
controls {
inet 127.0.0.1 port 953
allow { localhost; 192.168.46.100; } keys { rndc-key; };
};
zone "linuxij.cu" IN {
type master;
file "db.linuxij.cu";
allow-query {
thinclients_network;
slave_dns_servers;
};
allow-update { key rndc-key; };
notify yes;
};
zone "46.168.192.in-addr.arpa" IN {
type master;
file "db.linuxij.cu-rev";
allow-query {
thinclients_network;
slave_dns_servers;
};
allow-update { key rndc-key; };
notify yes;
};
include "/etc/bind/rndc.key";
include "/etc/bind/zones.rfc1918";
30
logging {
channel update_debug {
file "logs/update-debug.log";
severity debug 3;
print-category yes;
print-severity yes;
print-time yes;
};
channel security_info {
file "logs/named-auth.info";
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category update { update_debug; };
category security { security_info; };
};
acl "thinclients_network" {
127.0.0.1/32;
192.168.46.0/24;
};
31
# cat /etc/bind/zones.rfc1918
zone "." IN {
type hint;
file "root.cache";
};
zone "localdomain" IN {
type master;
file "db.localdomain";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "db.localhost";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "db.localhost-rev";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "db.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "db.zero";
allow-update { none; };
};
32
# cat /etc/bind/db.linuxij.cu
;
; linuxij.cu Domain Zone file
;
$TTL 1D ; Time To Life (1 day)
@ IN SOA thinserver.linuxij.cu. postmaster.linuxij.cu. (
2009091001 ; Serial Number YYYYMMDDid
20M ; Refresh (20 minutes)
2M ; Retry (2 minutes)
2W ; Expire (2 weeks)
2H ) ; Negative Cache TTL (2 hours)
client1 IN A 192.168.46.1
client2 IN A 192.168.46.2
client3 IN A 192.168.46.3
client4 IN A 192.168.46.4
client5 IN A 192.168.46.5
client6 IN A 192.168.46.6
client7 IN A 192.168.46.7
client8 IN A 192.168.46.8
client9 IN A 192.168.46.9
client10 IN A 192.168.46.10
thinserver IN A 192.168.46.100
IN TXT "Node LinuxIJ. Phone: 53(46)394474"
IN HINFO "Intel Core 2 Duo CPU 2.20GHz" "Ubuntu Linux"
mail IN A 192.168.46.101
IN RP root postmaster
IN TXT "v=spf1 a -all"
; Aliases
ftp IN CNAME thinserver
www IN CNAME thinserver
jabber IN CNAME thinserver
conference IN CNAME thinserver
proxy IN CNAME thinserver
33
# cat /etc/bind/db.linuxij.cu-rev
;
; 46.168.192.in-addr.arpa Network Zone file
;
$TTL 1D ; Time To Life (1 day)
@ IN SOA thinserver.linuxij.cu. postmaster.linuxij.cu. (
2009091001 ; Serial Number YYYYMMDDid
20M ; Refresh (20 minutes)
2M ; Retry (2 minutes)
2W ; Expire (2 weeks)
2H ) ; Negative Cache TTK (2 hours)
34
Anexo #6. Fichero de configuración servidor Xorg para todas las estaciones clientes.
# cat /tftpboot/node_root/etc/X11/xorg.conf
# Xorg configuration
Section "ServerLayout"
Identifier "single head configuration"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "fbdevhw"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
Load "dri"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbVariant" "intl"
Option "XkbOptions" "altwin:super_win"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "yes"
EndSection
Section "Monitor"
Identifier "Monitor0"
ModelName "LCD Panel 1024x768"
HorizSync 31.5 - 48.5
VertRefresh 40.0 - 70.0
Option "dpms"
EndSection
35
Section "Device"
Identifier "Videocard0"
Driver "vesa"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600"
EndSubSection
EndSection
Section "DRI"
Group 0
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
36
Anexo #7. Ficheros de configuración servidor NFS.
# cat /etc/exports
/tftpboot/node_root 192.168.46.1(ro,sync,async,no_root_squash,subtree_check)
/usr 192.168.46.1(ro,sync,async,no_root_squash,subtree_check)
/opt 192.168.46.1(ro,sync,async,no_root_squash,subtree_check)
/home 192.168.46.1(rw,sync,async,no_root_squash,no_subtree_check)
/var/spool/mail 192.168.46.1(rw,sync,async,root_squash,no_subtree_check)
...
/tftpboot/node_root 192.168.46.10(ro,sync,async,no_root_squash,subtree_check)
/usr 192.168.46.10(ro,sync,async,no_root_squash,subtree_check)
/opt 192.168.46.10(ro,sync,async,no_root_squash,subtree_check)
/home 192.168.46.10(rw,sync,async,no_root_squash,no_subtree_check)
/var/spool/mail 192.168.46.10(rw,sync,async,root_squash,no_subtree_check)
/tftpboot/nodes/192.168.46.1/
192.168.46.1(rw,sync,async,no_root_squash,no_subtree_check)
...
/tftpboot/nodes/192.168.46.10/
192.168.46.10(rw,sync,async,no_root_squash,no_subtree_check)
37
Anexo #8. Ficheros de configuración servidor NIS.
# cat /etc/yp.conf
# cat /etc/ypserv.securenets
# For localhost
255.0.0.0 127.0.0.0
38