creando entorno servidor-clientes ligeros: trisquel gnu/linux+drbl

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

Upload: ixen-rodriguez-perez

Post on 18-Jun-2015

542 views

Category:

Documents


5 download

DESCRIPTION

El gobierno cubano, conjuntamente con ministerios y demás entidades con personal especializado en el uso de las 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 SO GNU/Linux y el paquete DRBL.

TRANSCRIPT

Page 1: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

Creando entorno Servidor-Cliente LigeroSistema Operativo Trisquel GNU/Linux + DRBL

Autor: Lic. Ixen Rodríguez Pérez

VI Taller de Software LibreUCIENCIA 2010

1

Page 2: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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: [email protected]

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

Page 3: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

Í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?..........................................................................................................................8Requerimientos 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.....................................................................12Creando el bonding de red...................................................................................................12Creando cuentas de usuarios...............................................................................................14Asignando cuotas de disco...................................................................................................14

Configurando el entorno DRBL.................................................................................................17Preparando el sistema de archivos para los clientes en el servidor....................................18Configurando 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..........................................23Anexo #2. Ficheros de repositorios de paquetes de software.............................................24Anexo #3. Ficheros de configuración del servidor DRBL.....................................................25Anexo #4. Ficheros de configuración servidor DHCP..........................................................28Anexo #5. Ficheros de configuración servidor DNS-Bind9..................................................30Anexo #6. Fichero de configuración servidor Xorg para todas las estaciones clientes.......35Anexo #7. Ficheros de configuración servidor NFS.............................................................37Anexo #8. Ficheros de configuración servidor NIS..............................................................38

3

Page 4: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 5: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 6: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 7: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 8: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 9: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

• 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

Page 10: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 11: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 12: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 13: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 14: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 15: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

# 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 ixenrpDisk quotas for user ixenrp (uid 1000):Filesystem blocks soft hard inodes soft hard/dev/sda5 24 5242880 5242880 10 0 0

15

Page 16: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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$ quotaDisk 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

Page 17: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

/tftpbootAquí 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

Page 18: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 19: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 20: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 21: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 22: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 23: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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.confsearch linuxij.cu nameserver 192.168.46.100

# cat /etc/network/interfacesauto 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/hostnamethinserver.linuxij.cu

23

Page 24: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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 extrasdeb http://repos.linuxij.cu/trisquel/ robur-security main extrasdeb http://repos.linuxij.cu/trisquel/ robur-updates main extrasdeb 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

Page 25: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 26: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

# 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

Page 27: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 28: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 29: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 30: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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 953allow { 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

Page 31: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 32: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

# 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

Page 33: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

# 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 YYYYMMDDid20M ; Refresh (20 minutes) 2M ; Retry (2 minutes)2W ; Expire (2 weeks)2H ) ; Negative Cache TTL (2 hours)

NS thinserver.linuxij.cu. ; Primary DNS ServerMX 0 mail.linuxij.cu. ; Mail Exchanger

linuxij.cu. IN TXT "v=spf1 a mx v=spf1 -all"

; Host's Definition & Informationlocalhost IN A 127.0.0.1 ; localhost@ IN A 192.168.46.100

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

thinserver IN A 192.168.46.100IN TXT "Node LinuxIJ. Phone: 53(46)394474"IN HINFO "Intel Core 2 Duo CPU 2.20GHz" "Ubuntu Linux"

mail IN A 192.168.46.101IN RP root postmasterIN TXT "v=spf1 a -all"

; Aliasesftp IN CNAME thinserverwww IN CNAME thinserverjabber IN CNAME thinserverconference IN CNAME thinserverproxy IN CNAME thinserver

33

Page 34: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

# 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 YYYYMMDDid20M ; 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 Records1 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

Page 35: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 36: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 37: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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

Page 38: Creando entorno servidor-clientes ligeros: Trisquel GNU/Linux+DRBL

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