Vous êtes sur la page 1sur 38

Creando entorno Servidor-Cliente Ligero

Sistema Operativo Trisquel GNU/Linux + DRBL

Autor: Lic. Ixen Rodríguez Pérez

VI Taller de Software Libre


UCIENCIA 2010

1
Datos del autor.

Nombre y apellidos: Ixen Rodríguez Pérez.

Nivel de escolaridad: Licenciado en Educación en la especialidad Lengua Extranjera: Inglés.

Carné de identidad: 76081605401

Ocupación laboral: Especialista en Montaje y Asistencia Técnica a Dispositivos GPS.

Institución: CENPALAB - Grupo de Gestión y Control Flota. Móvil #5.

Email: tuxisla@ij.cc.cu

Resumen.

El gobierno cubano, conjuntamente con ministerios y demás entidades con personal


especializado en el uso de las Tecnologías de la Información y las Comunicaciones (TIC),
inmerso en el proyecto de una migración paulatina hacia el software libre como parte de la
informatización de la sociedad, ha comenzado la aplicación de varias guías que respalden este
proceso. En particular el Municipio Especial Isla de la Juventud no escapa de esta realidad.
Constituyendo el principal objetivo de este trabajo, el de dotar tanto a las empresas, escuelas,
universidades, hospitales, instituciones, organismos y oficinas de la administración central del
estado, de una solución viable de explotación de la tecnología clientes ligeros bajo los
preceptos del software libre, mediante la utilización de Sistema Operativo GNU/Linux y el
paquete DRBL.

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

Datos del autor................................................................................................................................2

Resumen.........................................................................................................................................2

El mundo de los Clientes Ligeros....................................................................................................4

Utilizando Trisquel GNU/Linux como SO de Servidor-Clientes Ligeros.........................................6

¿Qué es GNU/Linux?..................................................................................................................6
¿Por qué nos puede interesar GNU/Linux?................................................................................6
¿Qué es Trisquel GNU/Linux?....................................................................................................6

Utilizando DRBL como gestor de Servidor-Clientes Ligeros..........................................................8

¿Qué es DRBL?..........................................................................................................................8
Requerimientos técnicos para el servidor y el cliente DRBL.................................................9

Creando el entorno Servidor-Clientes Ligeros Trisquel + DRBL..................................................10

Instalación del SO Trisquel Edu 2.2.2 LTS Robur.....................................................................12


Creando el bonding de red...................................................................................................12
Creando cuentas de usuarios...............................................................................................14
Asignando cuotas de disco...................................................................................................14

Configurando el entorno DRBL.................................................................................................17


Preparando el sistema de archivos para los clientes en el servidor....................................18
Configurando las computadoras clientes para utilizar el entorno DRBL..............................19

Recomendaciones.........................................................................................................................20

Conclusiones.................................................................................................................................21

Bibliografía.....................................................................................................................................22

Anexos...........................................................................................................................................23

Anexo #1. Ficheros de configuración de los parámetros de red..........................................23


Anexo #2. Ficheros de repositorios de paquetes de software.............................................24
Anexo #3. Ficheros de configuración del servidor DRBL.....................................................25
Anexo #4. Ficheros de configuración servidor DHCP..........................................................28
Anexo #5. Ficheros de configuración servidor DNS-Bind9..................................................30
Anexo #6. Fichero de configuración servidor Xorg para todas las estaciones clientes.......35
Anexo #7. Ficheros de configuración servidor NFS.............................................................37
Anexo #8. Ficheros de configuración servidor NIS..............................................................38

3
El mundo de los Clientes Ligeros.

En los inicios de la era de la computación la estructura de procesamiento más popular era un


esquema "Servidor Central-Terminal Tonta". Por explicarlo de una forma sencilla, este esquema
se basaba en la ejecución de una aplicación en un servidor y la presentación de la misma, en
un terminal. De esta manera el terminal solo necesita disponer de suficiente capacidad para
procesar en una pantalla los datos recibidos desde un servidor. Actualmente en un PC estándar,
la aplicación es ejecutada y mostrada por la misma máquina.

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.

Un porcentaje muy elevado de empresas, instituciones públicas, escuelas, institutos,


universidades, hospitales, editoriales, despachos, oficinas y cibercafés solo necesitan disponer
de software para el acceso a Internet, un paquete de ofimática y dependiendo del caso, algún
software diseñado para una aplicación concreta. Para cubrir estas necesidades no es necesario
realizar una inversión desorbitada para adquirir los últimos equipos informáticos del mercado, ni
el último software, existen alternativas adecuadas a esas necesidades, que no derivan en una
inversión económica innecesaria.

El resurgimiento de la arquitectura Cliente-Servidor, permite cubrir de una manera más correcta


las necesidades de gran parte de las instalaciones informáticas más comunes, tanto en
entornos empresariales, como en entornos institucionales y educativos.

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.

Aunque el equipamiento, ofrecido por la empresa vietnamita de equipos de cómputo Hanel, ha


sido equipado por la empresa nacional Copextel con el binomio de software propietario SO
Microsoft Windows y Vertuxcom BXP, el mundo de la computación centralizada está recobrando
fuerza con el relanzamiento de los clientes ligeros basados en sistemas GNU/Linux.
Destacándose las soluciones propuestas por distribuciones como Debian, Ubuntu y Fedora
Core de conjunto con LTSP (Linux Terminal Server Project).

“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.

¿Por qué nos puede interesar GNU/Linux?

Si somos compradores habituales de un producto y descubrimos que existe otro en el mercado


que ofrece similares características pero con importantes nuevas ventajas y con un menor
coste, ¿nos interesaría? Si como usuarios domésticos de PC descubrimos que con GNU/Linux
podemos hacer lo mismo que con Microsoft Windows, pero de manera más segura y estable, y
que además GNU/Linux nos ofrece una licencia de uso legal que nos proporciona libertad de
uso, quizás la pregunta es ¿por qué nos puede interesar Windows Vista?

¿Qué es Trisquel GNU/Linux?

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.

El proyecto nació en 2004 con el patrocinio de la española Universidad de Vigo, y fue


oficialmente presentada en abril de 2005 con Richard Stallman, como invitado especial. Al
principio era desarrollada como una distribución basada en Debian, pero los repositorios de

2 Stallman, Richard. “Proyecto GNU”. 27 de septiembre de 1983.

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.

El 11 de diciembre de 2008, Trisquel GNU/Linux fue incluida por la FSF en la lista de


distribuciones GNU/Linux 100% libres disponibles en el sitio web de GNU, siguiendo el proceso
de verificación para asegurar el compromiso del equipo de desarrollo de Trisquel y su
comunidad para promover y distribuir tan solo software 100% libre.

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.

Todas las ediciones incluyen como software en común:

• Kernel 2.6.x linux-libre


• Entorno de escritorio GNOME
• Navegador web basado en Mozilla Firefox
• Suite ofimática OpenOffice.org

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.

Independientemente de ofrecer una solución factible para los entornos Servidor-Clientes


Ligeros, DRBL ofrece otras soluciones, tales como:

• Sistema de clonado OpenSource Clonezilla. Conjunto de herramientas para la creación


de imágenes, similar al Norton Ghost, True Image o Rembo. Utilizando Clonezilla, es
posible clonar una imagen de SO de 5.6Gb a 40 computadoras en un tiempo de
aproximadamente 10 minutos, utilizando multicasting.

• 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).

• Inicialización de entornos sin discos para SO FreeDOS.

8
• Instalación, vía red, de varias distribuciones GNU/Linux (Mandriva, CentOS, RedHat,
Debian, Ubuntu, SuSE, etc.).

Requerimientos técnicos para el servidor y el cliente DRBL.

Depende es su gran mayoría de la distribución de GNU/Linux a utilizar. Mientras más rápido y


moderno sea el hardware disponible, mejor; especialmente si se desean ejecutar distribuciones
actuales de Fedora Core y Ubuntu. Para los entornos educacionales y de oficinas, se
recomienda como mínimo:

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

Switch Fast Ethernet:


• al menos uno de 12 a 24 puertos

No es aconsejable utilizar HUBs, son muy lentos para gestionar la inicialización


PXE/Etherboot y los accesos NFS. Los Switches Fast Ethernet, reducen las colisiones y
mejoran el desempeño de las aplicaciones a ejecutarse vía red.

Contrariamente a lo que mucha gente piensa, el punto crítico se encuentra en la infraestructura


física-lógica de la red. Un cliente ligero no consume mucho ancho de banda, prácticamente se
limita a la conexión de sesiones X-Windows remotas y en algunos casos al tráfico ocasionado
por el acceso a dispositivos periféricos remotos. El problema surge cuando queremos dotar al
cliente ligero de capacidad suficiente como para ejecutar todo tipo de contenido multimedia. En
estos casos el ancho de banda que requiere el cliente aumenta considerablemente, y en una
red con varios clientes, esto puede provocar una saturación de la electrónica de red.

9
Creando el entorno Servidor-Clientes Ligeros Trisquel + DRBL.

Los módulos de 1 servidor más 10 estaciones clientes ligeros, adquiridos a la empresa


vietnamita Hanel, y propuestos por Copextel, disponen de la siguiente configuración:

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:

1. La distancia física a que pueden encontrarse algunos clientes y la utilización de


contenido multimedia.

Se añadirán dos nuevas interfaces de red al servidor, pudiéndose utilizar la funcionalidad


bonding de red -que permite sumar las capacidades de varias interfaces físicas de red,
con el propósito de crear una sola interfaz lógica, contribuyendo a un mejor balanceo o
redundancia de carga de la red-.

2. La demanda de espacio en disco duro de los usuarios de la red que operaran con los
clientes ligeros.

Se eliminará la configuración de arreglo, obteniéndose un total de 320Gb de


almacenamiento en discos duros.

3. La utilización de software propietario y su consecuente uso de licencias piratas.

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)

Switch Fast Ethernet:


• uno de 24 puertos

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.

• Deshabilitar la tecnología apparmor (similar a SELinux). Esto puede hacerse


ejecutando el comando aptitude remove apparmor apparmor-utils.

• Disponer de un repositorio local que contenga todos los paquetes de software de la


distribución GNU/Linux utilizada y los del programa DRBL, o en su defecto la posibilidad
de acceder a una red externa que los contenga o, a Internet.

11
Instalación del SO Trisquel Edu 2.2.2 LTS Robur.

Se decidió la utilización de la edición Trisquel Edu no solo por la variedad de paquetes de


software vinculados con entornos educacionales que la acompañan, sino también por aquellos
relacionados con la edición y publicación de páginas web y texto, desarrollo de aplicaciones,
manipulación de imágenes, edición de sonido, herramientas de diseño industrial y aplicaciones
para trabajo en red, entre muchas otras; todas de gran utilidad en entornos empresariales.

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.

Creando el bonding de red.

El controlador bonding (arreglo de interfaces), está incluido en prácticamente todas las


distribuciones de GNU/Linux y permite sumar las capacidades de varias interfaces físicas de
red con objeto de crear una sola interfaz lógica, proporcionando redundancia o buen balanceo
de carga.

Para habilitar el arreglo de interfaces en sistemas Debian/Ubuntu, primeramente debe instalarse


el paquete ifenslave. Después se debe crear el fichero /etc/modprobe.d/bonding
añadiendo (ver Anexo #1) una línea de sentencia para el alias y otra para las opciones
pertinentes del controlador bonding. También es posible añadir estas líneas al fichero
/etc/modprobe.d/arch/i386, evitándose así la creación de un nuevo fichero. Donde
bond0 sería el nombre para la interfaz física del arreglo y las opciones mode=0, miimon=100,
downdelay=200, updelay=200 y use_carrier=0 obedecen a:

• Parámetro mode=0: Establece una política de round-robin, que es un algoritmo que


asigna una carga equitativa y ordenada a cada proceso, para proporcionar tolerancia a
fallos y balanceo de carga entre los miembros del arreglo de dispositivos. Todas las
transmisiones de datos son enviadas y recibidas de forma secuencial a cada interfaz
esclava del arreglo, empezando con la primera que esté disponible. Es la política
predeterminada del controlador y la que funciona para la mayoría de los casos.

• Parámetro miimon=100: Se utiliza para especificar cada cuántos milisegundos se debe


supervisar el enlace MII (Media Independent Interface). Se utiliza cuando se necesita
alta disponibilidad para verificar si la interfaz está activa y verificar si hay un cable de red
conectado.

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

• Parámetro downdelay=200: Tiempo en milisegundos para deshabilitar una interfaz de


red al considerar el estado del enlace como no disponible.

• Parámetro updelay=200: Tiempo en milisegundos para habilitar una interfaz de red al


considerar el estado del enlace como disponible.

• Parámetro use_carrier=0: Especifica si la supervisión MII debe o no usar


MII/ETHTOOL ioctls en vez de netif_carrier_ok() para determinar el estado
del enlace. Los controles de entrada y salida MII/ETHTOOL son menos eficientes y
utilizan una secuencia obsoleta de llamada dentro del kernel. El control
netif_carrier_ok() recae sobre el controlador del dispositivo para mantener su
estado con netif_carrier_on/off; la mayoría, pero no todos, los controladores de
dispositivos soportan esta facilidad.

El valor 1 utilizará las características obsoletas MII/ETHTOOL ioctls, mientras que


el valor 0, activa el uso de netif_carrier_ok(). Por defecto el valor es 1.

Luego de editar el fichero /etc/modprobe.d/bonding es importante ejecutar los comandos


modprobe bonding para cargar el módulo de arreglo de interfaces y depmod para regenerar
el fichero modules.dep y los ficheros mapa (map files) de los controladores de dispositivos.

El funcionamiento del nuevo controlador bond0 se puede verificar ejecutando el comando


cat /proc/net/bonding/bond0.

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.

Por último, ejecutar el comando /etc/init.d/networking restart.

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:

# useradd -c “Ixen Rodriguez Perez” -m ixenrp


# passwd ixenrp

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.

Asignando cuotas de disco.

La utilización de cuotas de disco permite a los administradores de sistemas realizar la gestión


eficiente del espacio compartido en disco por múltiples usuarios. Las cuotas restringen la
capacidad de los usuarios para acceder hacia los recursos de sistema, tales como bloques
(asignación de unidades) e inodos (entradas del sistema de ficheros). Cuando una cuota es
excedida se aplica una política determinada por el administrador. Las cuotas se administran por
sistema de archivos individuales y son únicas para usuarios o 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

Luego editar el fichero /etc/fstab añadiendo los parámetros usrjquota, grpjquota y


jqfmt a la línea que define la configuración de la partición /home. Ejemplo:

# vi /etc/fstab
/dev/sdb1 /home ext3
defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2

Volver a montar la partción /home:

# mount -o auto /home

Posteriormente deben crearse los ficheros aquota.user y aquota.group, los cuales se


utilizarán en adelante para almacenar la información y estado de las cuotas en dicha partición.

# 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

Y regresar al nivel de ejecución 5 (modo multiusuario con entorno gráfico), reiniciando el


sistema o ejecutando:

# 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.

En primer lugar, aunque no obligatoriamente, se debe instalar el archivo de verificación de


paquetes DRBL. Existen diferentes formas de completar este proceso, dependiendo de la
distribución GNU/Linux utilizada, pero en el caso de las basadas en Debian, se debe ejecutar el
comando:

# wget -q http://drbl.sourceforge.net/GPG-KEY-DRBL -O- | sudo apt-key add -

Si se dispone de acceso a Internet debe añadirse la información al repositorio DRBL en el


fichero /etc/apt/sources.list: deb http://free.nchc.org.tw/drbl-core drbl
stable. Posteriormente se instala el paquete drbl en sí:

# aptitude install 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/.

Luego de instalado el paquete drbl, ejecutar:

# /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:

Interfaz de Red Dirección IP Clientes


+-----------------------------+
| Servidor DRBL |
| |
|+-- [eth0] 200.55.143.154 +- Red externa o Internet
| |
|+-- [eth1] 192.168.46.100 +- Red DRBL
|+-- [eth2] 192.168.46.100 +- desde 192.168.46.1 a 192.168.46.10
+-----------------------------+

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.

Posterior a la selección del modo de trabajo a utilizarse en el servidor DRBL, ejecutar:

# /opt/drbl/sbin/drblpush -i

Este comando ayuda al servidor DRBL a determinar los parámetros de configuración


adecuados. De no cumplirse, el programa pregunta, siendo posible la personalización de las
opciones disponibles. Como pueden ser: el modo de trabajo, la cantidad de clientes de red a
utilizar, la interfaz para acceder a una red externa y/o las interfaces para ser accesibles por las
estaciones clientes mediante DHCP, modo de arranque (gráfico o consola), existencia de áreas
de intercambio (particiones SWAP), entre otras. Es importante leer con atención las

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.

Configurando las computadoras clientes para utilizar el entorno DRBL.

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.

• El fichero /tftpboot/nbi_img/pxelinux.cfg/default debe ser editado, con el


objetivo de personalizarlo para que muestre la información pertinente a la entidad u
organización en cuestión. Puede observarse un ejemplo en el Anexo #3.

• De ser instalados nuevos paquetes de software en el servidor DRBL o son actualizados a


versiones superiores, debe ejecutarse nuevamente el asistente de configuración:
/opt/drbl/sbin/drblpush, añadiéndole la opción -c /etc/drbl/drblpush.conf.
Con lo cual se respetarán todas las opciones de configuración previamente guardadas;
permitiéndole al SO actualizar el software disponible en los entornos de sistemas de las
estaciones clientes.

• 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.

• Si se quiere un entorno más afín a la actividad realizada en pequeñas y medianas


empresas, es aconsejable la instalación de la edición Trisquel Pro, que incluye una
selección de software de gestión empresarial, incluyendo Abanq, OpenbravoPOS y
GNUCash. No obstante de estar principalmente orientada al mercado ibérico -ya que
algunos de estos programas fueron diseñados para el marco legal y fiscal español-, la
mayoría de sus aplicaciones pueden ser usadas en todo el mundo.

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.

• Es posible implementar un entorno de trabajo Servidor-Clientes Ligeros, de forma rápida,


segura y estable; utilizando programas de aplicaciones Free Software/OpenSource,
como es el caso del paquete DRBL, y cualquiera de las distribuciones existentes de
Sistema Operativo GNU/Linux, por ejemplo: Trisquel Edu 2.2 LTS Robur.

• Implementaciones de esta solución, pueden encontrarse en las redes de clientes ligeros


de la Sede Municipal del PCC, la Escuela Municipal del Partido “Arturo Lince González”,
el Laboratorio de Prensa del Periódico Victoria, la Sede del Gobierno Municipal, la red
informática del Programa de Trabajadores Sociales en el Comité Municipal de la UJC y la
Delegación Territorial del MINAGRI.

21
Bibliografía.

BARRIOS, Dueñas, Joel. “Implementación de servidores con GNU/Linux”/Alcance Libre. –En


Su: Cómo asignar cuotas de disco. –México: Editorial Creative Commons, 2009. –Edición
Septiembre. –p.192-195.

CONSULTUX, Consultoría Asesoría en Software Libre y Nuevas Tecnologías. El mundo de


los clientes ligeros o thin clients. Tomado de: http://www.consoltux.com/index.php?
option=com_content&task=view&id=12&Itemid=28, 14 de agosto del 2009.

GNU/Linux, Trisquel. Trisquel Edu. Tomado de: http://trisquel.info/es/node/1361, 1 de


septiembre del 2009.

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.

LiNUX Horizon. Bonding (Port Trunking). Tomado de http://www.linuxhorizon.ro/bonding.html, 5


de mayo del 2009.

NCHC. Diskless Remote Boot in Linux (DRBL). Tomado de http://drbl.sourceforge.net/Diskless


Remote Boot in Linux (DRBL), 5 de agosto del 2009.

SEGOVIANO Martínez, Zamira. “Zotero: una alternativa libre para la gestión


bibliográfica”/Laritza Magdalena Martínez Negrín; Olga Lidia Martínez Acosta. -- Ponencia,
Convención y Feria Internacional Informática 2009 (UCI), 2009. --7h.: ilus.

Stallman, Richard M. Acerca del Proyecto GNU – Proyecto GNU. Tomado de:
http://www.gnu.org/gnu/thegnuproject.es.html, 10 de enero del 2009.

Wiki, Debian. Bonding. Tomado de: http://wiki.debian.org/Bonding, 10 de septiembre del 2009.

Wikipedia, la Enciclopedia Libre. Linux (núcleo). Tomado de:


http://es.wikipedia.org/wiki/Kernel_Linux.html, 10 de enero del 2009.

Wikipedia, la Enciclopedia Libre. Trisquel GNU/Linux. Tomado de:


http://es.wikipedia.org/wiki/Trisquel_GNU/Linux, 1 septiembre del 2009.

Wikipedia, la Enciclopedia Libre. Linux-libre. Tomado de: http://es.wikipedia.org/wiki/Linux-


libre, 1 de sepriembre 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.

Anexo #1. Ficheros de configuración de los parámetros de red.

# 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

iface lo inet loopback

iface eth0 inet static


address 200.55.143.154
netmask 255.255.255.248
gateway 200.55.143.153

iface bond0 inet static


address 192.168.46.100
netmask 255.255.255.0
broadcast 192.168.46.255
network 192.168.46.0
hwaddress ether 00:40:f4:c0:d6:63
up /sbin/ifenslave bond0 eth1 eth2
down /sbin/ifenslave -d bond0 eth1 eth2

# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
200.55.143.154 thinserver.linuxij.cu thinserver

192.168.46.100 thinserver.linuxij.cu thinserver


192.168.46.1 client1.linuxij.cu client1
192.168.46.2 client2.linuxij.cu client2
192.168.46.3 client3.linuxij.cu client3
192.168.46.4 client4.linuxij.cu client4
192.168.46.5 client5.linuxij.cu client5
192.168.46.6 client6.linuxij.cu client6
192.168.46.7 client7.linuxij.cu client7
192.168.46.8 client8.linuxij.cu client8
192.168.46.9 client9.linuxij.cu client9
192.168.46.10 client10.linuxij.cu client10

#cat /etc/hostname
thinserver.linuxij.cu

23
Anexo #2. Ficheros de repositorios de paquetes de software.

Repositorio Local:

# cat /etc/apt/sources.list

deb http://repos.linuxij.cu/trisquel/ robur main extras


deb http://repos.linuxij.cu/trisquel/ robur-backports main extras
deb http://repos.linuxij.cu/trisquel/ robur-security main extras
deb http://repos.linuxij.cu/trisquel/ robur-updates main extras
deb http://repos.linuxij.cu/drbl/ drbl stable

Repositorio Internet:

# cat /etc/apt/sources.list

deb http://archive.trisquel.info/trisquel robur main extras


deb http://archive.trisquel.info/trisquel robur-updates main extras
deb http://archive.trisquel.info/trisquel robur-security main extras
deb http://archive.trisquel.info/trisquel robur-backports main extras
deb http://free.nchc.org.tw/drbl-core/ drbl stable

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

#Setup for general


[general]
domain=linuxij.cu
nisdomain=dummy
localswapfile=no
client_init=graphic
login_gdm_opt=login
timed_login_time=
maxswapsize=
ocs_img_repo_dir=/home/partimag
total_client_no=10
create_account=
account_passwd_length=8
hostname=thinserver
purge_client=no
client_autologin_passwd=
client_root_passwd=
client_pxelinux_passwd=
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
language=es_ES.UTF-8
set_client_public_ip_opt=no
config_file=drblpush.conf
collect_mac=no
clonezilla_mode=full_clonezilla_mode
drbl_mode=full_drbl_mode
drbl_server_as_NAT_server=yes
add_start_drbl_services_after_cfg=yes
continue_with_one_port=

#Setup for bond0


[bond0]
interface=bond0
range=1-10

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)

NS thinserver.linuxij.cu. ; Primary DNS Server


MX 0 mail.linuxij.cu. ; Mail Exchanger
linuxij.cu. IN TXT "v=spf1 a mx v=spf1 -all"

; Host's Definition & Information


localhost IN A 127.0.0.1 ; localhost
@ IN A 192.168.46.100

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)

NS thinserver.linuxij.cu. ; Primary Domain Nameserver

; Host's Pointer Records


1 IN PTR client1.linuxij.cu.
2 IN PTR client2.linuxij.cu.
3 IN PTR client3.linuxij.cu.
4 IN PTR client4.linuxij.cu.
5 IN PTR client5.linuxij.cu.
6 IN PTR client6.linuxij.cu.
7 IN PTR client7.linuxij.cu.
8 IN PTR client8.linuxij.cu.
9 IN PTR client9.linuxij.cu.
10 IN PTR client10.linuxij.cu.

100 IN PTR thinserver.linuxij.cu.


PTR ftp.linuxij.cu.
PTR www.linuxij.cu.
PTR jabber.linuxij.cu.
PTR conference.linuxij.cu.
PTR proxy.linuxij.cu.

101 IN PTR mail.linuxij.cu.

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.

Para todas las estaciones clientes ligeros:

# 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)

Por cada estación cliente ligero:


# cat /tftpboot/nodes/10.10.0.1/etc/fstab

192.168.46.100:/tftpboot/nodes/192.168.46.1/etc /etc nfs


rw,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/tftpboot/nodes/192.168.46.1/var /var nfs
rw,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/tftpboot/nodes/192.168.46.1/root /root nfs
rw,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/usr /usr nfs ro,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/opt /opt nfs ro,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/home /home nfs rw,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/var/spool/mail /var/spool/mail nfs
rw,rsize=65536,wsize=65536,tcp,defaults 0 0
192.168.46.100:/tftpboot/node_root/var/lib/rpm /var/lib/rpm nfs
ro,rsize=65536,wsize=65536,tcp,defaults 0 0
none /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
tmpfs /media tmpfs defaults 0 0
tmpfs /mnt tmpfs defaults 0 0

37
Anexo #8. Ficheros de configuración servidor NIS.

# cat /etc/yp.conf

domain dummy server localhost

# cat /etc/ypserv.securenets

# For localhost
255.0.0.0 127.0.0.0

# For DRBL server


255.255.255.255 192.168.46.100

# For DRBL clients


255.255.255.255 192.168.46.1
255.255.255.255 192.168.46.2
255.255.255.255 192.168.46.3
255.255.255.255 192.168.46.4
255.255.255.255 192.168.46.5
255.255.255.255 192.168.46.6
255.255.255.255 192.168.46.7
255.255.255.255 192.168.46.8
255.255.255.255 192.168.46.9
255.255.255.255 192.168.46.10

38

Vous aimerez peut-être aussi