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:
[email protected]
Resumen. El gobi gobier erno no cuba cubano no,, conj conjun unta tame ment nte e con con mini minist ster erio ios s y demá demás s enti entida dade des s con con pers person onal al 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 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 estad estado, o, de una una soluc solución ión viable viable de explo explotac tación ión de la tecn tecnolo ología gía clien clientes tes ligero ligeros s bajo bajo los precepto preceptos s del softwar software e libre, libre, mediant mediante e la utilizac utilización ión de Sistema Sistema Operativ Operativo o GNU/Lin GNU/Linux ux 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 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, universities, hospitals, institutions, organizations 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. Keyword Keywords: s: Free Softwa Software, re, TIC, TIC, migratio migration, n, guide, guide, GNU/Linu GNU/Linux, x, DRBL, DRBL, Isle Isle of Youth, outh, society society computerization, thin clients.
2
Índice de contenido Datos del autor................................................................................................................................2 autor. ...............................................................................................................................2 Resumen.........................................................................................................................................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 GNU/Linux? ..................................................................................................................6 ¿Por qué nos puede interesar GNU/Linux? ................................................................................6 ¿Qué es Trisquel GNU/Linux?....................................................................................................6 GNU/Linux? ....................................................................................................6 Utilizando DRBL como gestor de Servidor-Clientes Ligeros. .................. ........................... .......................................8 ..............................8 ¿Qué es DRBL?..........................................................................................................................8 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 Asignando cuotas cuotas de disco. disco...................................................................................................14 ..................................................................................................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 Conclusiones. ................................................................................................................................21 Bibliografía. ....................................................................................................................................22 Anexos...........................................................................................................................................23 Anexos...........................................................................................................................................23 Anexo #1. Ficheros Ficheros de configurac configuración ión de los parámetros parámetros de red. red. ................. .......................... ........................23 ...............23 Anexo #2. Ficheros Ficheros de repositorio repositorios s de paquetes paquetes de software. software. ............................................24 Anexo #3. Ficheros Ficheros de configurac configuración ión del servidor servidor DRBL. DRBL. ....................................................25 Anexo #4. Ficheros Ficheros de configurac configuración ión servidor servidor DHCP. .................. .........................................................28 .......................................28 Anexo #5. Ficheros Ficheros de configurac configuración ión servidor servidor DNS-Bind9. DNS-Bind9. ................. .......................... ................................30 .......................30 Anexo #6. Fichero Fichero de configuració configuración n servidor servidor Xorg para para todas las estaciones estaciones clientes.. clientes.. .....35 Anexo #7. Ficheros Ficheros de configurac configuración ión servidor servidor NFS. ................. .......................... ................. ..................................37 ..........................37 Anexo #8. Ficheros Ficheros de configurac configuración ión servidor servidor NIS. .................. .......................... ................. ...................................38 ..........................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 lleg llegar ar a reno renova varr su parq parque ue info inform rmát átic ico o cada cada dos dos años años.. En much muchos os caso casos s se eval evalúa úa erróneam erróneamente ente las verdader verdaderas as capacid capacidades ades que ha de poseer poseer un equipo equipo informát informático ico para para dese desemp mpeñ eñar ar una una acti activi vida dad d conc concre reta ta.. Por Por lo gene genera ral, l, los los recu recurs rsos os info inform rmát átic icos os son 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 técnicas es necesari necesario o dispone disponerr de máquinas máquinas potentes potentes,, pero pero para determin determinados ados entorno entornos s 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 porc porcent entaje aje muy elevad elevado o de empre empresas sas,, insti instituc tucio iones nes públi pública cas, s, escue escuelas las,, instit instituto utos, s, universidades, universidades, hospitales, editoriales, despachos, oficinas y cibercafés cibercafés solo necesitan necesitan disponer 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 nece necesid sidade ades s de gran gran parte parte de las las insta instalac lacion iones es infor informát mática icas s más más comun comunes es,, tanto 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, gener generalm alment ente e sin sin unida unidades des de almac almacena enamie miento nto,, de menor menor tamaño tamaño,, y con con un coste 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ég estratégica ica decisió decisión n de implemen implementar tar la arquite arquitectur ctura a Servido Servidor-Cl r-Client iente e Ligero, Ligero, adquiri adquirida da 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 fuer fuerza za con con el rela relanz nzam amie ient nto o de los los clie client ntes es lige ligero ros s basa basado dos s en sist sistem emas as GNU/ GNU/Li Linu nux. x. 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, SAP, Amazon, Pixar, Pixar, Dreamworks, Dreamworks, Merrill Lynch Credite Suisse, Administraciones Administraciones y Comunidades Autónomas (Extremadura, Andalucíam Catalunyam Madridm Valenciam C-LM), Ayuntamiento Ayuntamiento de Zaragoza, Zaragoza, Gobierno de de Venezuela Venezuela,, Sistema educativo educativo brasileño, brasileño, Ayuntamiento 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
Util Utiliz izan ando do Trisq risque uell GNU/ GNU/Li Linu nuxx como como SO de Serv Servid idor or-C -Cli lien ente tess 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 coope cooperac ración ión que que preva prevale leci ció ó en los los tiem tiempo pos s inic inicia iale les s de la comu comuni nida dad d de usua usuario rios s de 2 computadoras" . 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 (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 habituales de un producto y descubrimos 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 principales objetivos del proyecto son el desarrollo 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 proye proyecto cto nació nació en 2004 2004 con con el patro patrocin cinio io de la espa españo ñola la Unive Univers rsida idad d de Vigo, 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, Ubuntu, aproband aprobando o solo aquello aquellos s que brindan brindan las cuatro libertades indicad indicadas as por la FSF, FSF, excluyendo así todo software privativo. Las diferencias incluyen la eliminación de todos los paquetes non-free y la susti sustitu tució ción n del del kerne kernell Linux Linux orig origina inall por por la vers versión ión sin firmw firmware are 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-, GNOME-, y el artwork original, diseñado para ser limpio y elegante. El 11 de dici diciem embr bre e de 2008 2008,, Trisq risque uell GNU/ GNU/Li Linu nux x fue fue incl inclui uida da por por la FSF FSF en la list lista a de distribuciones distribuciones GNU/Linux 100% libres disponibles en el sitio web de GNU, siguiendo siguiendo el proceso de verif verific icaci ación ón para para aseg asegura urarr el compro compromis miso o del del equi equipo po de desarr desarroll ollo o de Trisqu risquel el 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 persona personall y hogareño hogareño.. Trisqu Trisquel el Edu, Edu, para para escuela escuelas s de todas todas las edades, edades, y Trisqu Trisquel el Pro, 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 Actualmente se distribuyen Trisquel Trisquel 2.2 LTS LTS (Long Term 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 DRBL (Diskle (Diskless ss Remote Remote Boot in Linux) Linux) es un paquete paquete de software software Open Source, Source, creado 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 serv servid idor or (aum (aumen ento to de unid unidad ades es de alma almace cena nami mien ento to,, memo memori ria a RAM, RAM, velo veloci cida dad d de procesamiento y forma de acceso a la red). Por Por otro otro lado, lado, DRBL DRBL utili utiliza za los proto protocol colos os NFS NFS (Net (Networ work k File File Syste System) m) y NIS NIS (Net (Networ work k 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 util utiliz izad ada a como como serv servid idor or DRBL DRBL;; mien mientr tras as que que los los orde ordena nado dore res s clie client ntes es debe deben n ser 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. Indepen Independien dienteme temente nte de ofrecer ofrecer una solución solución factible factible para para los entornos entornos Servidor Servidor-Cli -Client entes es Ligeros, DRBL ofrece otras soluciones, tales como: •
•
•
Sistema de clonado OpenSource Clonezilla. Conjunto de herramientas herramientas para la creación de imágenes, similar al Norton Ghost, True Image o Rembo. Utilizando Clonezilla, es posib posible le clona clonarr una una image imagen n de SO de 5.6Gb a 40 compu computad tador oras as en un tiempo tiempo de aproximadamente 10 minutos, utilizando multicasting . Solución para distribuciones distribuciones ligeras GNU/Linux GNU/Linux. DRBL permite inicializar 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 p ara SO FreeDOS FreeDO S.
8
•
Instalación, Instalación, vía red, de varias distribuciones distribuciones GNU/Linux (Mandriva, (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 hardware disponible, mejor; especialmente especialmente si se desean ejecutar distribuciones distribuciones actua actuales les de Fedor Fedora a Core Core y Ubunt Ubuntu. u. Para Para los entor entornos nos educ educac acion ional ales es y de ofici oficinas nas,, 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 acons consej ejab able le util utiliz izar ar HUBs HUBs,, son muy muy lent lentos os par para gest gestio iona narr la inic inicia iali liza zaci ción ón PXE/Etherboot y los accesos accesos NFS. NFS. Los Switches Switches Fast Fast Etherne Ethernet, t, reducen reducen las colisio colisiones nes y mejoran el desempeño de las aplicaciones a ejecutarse vía red. Contrariamente Contrariamente a lo que mucha gente piensa, el punto crítico se encuentra en la infraestructura 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 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 Los módul módulos os de 1 serv servido idorr más 10 esta estacio cione nes s clien cliente tes s ligero ligeros, s, adquir adquirid idos os a la empres empresa a 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 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 importantes deficiencias, se recomienda recomienda modificar el hardware del servidor y los paquetes de software a utilizar en ambas configuraciones: 1. La dist distan anci cia a físi física ca a que que pued pueden en enco encont ntra rars rse e algu alguno nos s clie client ntes es y la util utiliz izac ació ión 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 demanda de espacio espacio en disco disco duro duro de los usuarios usuarios de la red que que operaran operaran con los los clientes ligeros. Se elim elimin inar ará á la conf config igur urac ació ión n de arre arregl glo, o, obte obteni nién éndo dose se un tota totall de 320G 320Gb b de almacenamiento en discos duros. 3. La utilización utilización de software software propietario propietario y su consecuent consecuente e uso de licencias piratas. Se utilizar utilizará á la distribu distribución ción Trisque Trisquell Edu 2.2.2 LTS Robur Robur para para 32bits, 32bits, tanto para para el serv servid idor or como como para para las las esta estaci cion ones es clie client ntes es;; debi debido do a su robu robust stez ez,, esta estabi bili lida dad d 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 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 Otros aspec aspectos tos de inter interés és que que propor proporcio cionar narán án un mejor mejor desem desempeñ peño o del del servid servidor or DRBL 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 . Deshabi Deshabilita litarr la tecnolog tecnología ía apparmor (sim (simil ilar ar a SELi SELinu nux) x).. Esto Esto pued puede e hace hacers rse e 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 manipulación de imágenes, imágenes, edición de sonido, herramientas de diseño industrial y aplicaciones aplicaciones para trabajo en red, entre muchas otras; todas de gran utilidad en entornos empresariales. La instal instalac ación ión del SO es una tarea tarea fácil, fácil, solo solo basta basta inicia inicializ lizar ar el serv servido idorr con 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 utiliz utilizar ar.. Se recom recomie ienda nda la creac creación ión de una una parti partici ción ón /home con con 50Gb 50Gb de espa espaci cio o 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 controlador bonding (arreglo (arreglo de interfac interfaces), es), está incluid incluido o en práctica prácticamen mente te todas 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 paquete ifenslave . Desp Despué ués s se debe debe crea crearr el fich ficher ero o /etc/modprobe.d/bonding añadiendo (ver Anexo #1) una línea de sentencia para el alias y otra para las opciones pertinen pertinentes tes del controla controlador dor bonding . También ambién es posib posible le añadi añadirr estas estas línea líneas s al fiche fichero ro /etc/modprobe.d/arch/i386 , evitá evitándo ndose se así la creac creación ión de un nuev nuevo o fiche fichero. ro. Donde 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 esclav esclava a del del arre arreglo glo,, empez empezan ando do con con la prime primera ra que esté esté dispo disponib nible. le. Es la polít política ica 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). Interface). Se utiliza cuando se necesita alta disponibilidad disponibilidad para verificar si la interfaz está activa y verificar si hay un cable de red conectado. Se requiere que todos los controladores 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 : Espe Especi cifi fica ca si la supe superv rvis isió ión n MII debe o no usar MII/ETHTOOL 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 uti utiliz lizan una secu ecuencia cia obsoleta leta de llam lamada dentro tro del kerne ernel. l. El contro ntroll 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 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 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 norma normal. l. Es decir decir,, requi requier ere e los parám parámetr etros os address , netmask , network , broadcast , gateway , hwaddress , entre otros (ver Anexo #1). Solo deben ser añadidos los comandos de inici inicio o y para parada da del del contr controla olador dor bond0: up /sbin/i /sbin/ifen fensla slave ve bond0 bond0 eth1 eth2 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 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 directorio /home/ixenrp que será utilizado utilizado como directorio directorio personal personal de trabajo. 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/userd useradd/userdel el . También ambién es posib posible le la crea creació ción n y/o elimi elimina nació ción n de cuent cuentas as de usuarios mediante los asistentes gráficos existentes en el SO. En Trisquel Trisquel Edu puede utilizarse el siguiente recorrido: Sistema/Administración/Usuarios y grupos . Asignando Asignando cuotas de disco. La utilización de cuotas de disco permite a los administradores de sistemas realizar la gestión eficient eficiente e del espacio espacio compartido compartido en disco disco por múltiple múltiples s usuario usuarios. s. Las cuotas cuotas restring restringen en 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 accede al sistema) sistema),, ya que se requiere requiere no haya haya procesos procesos activos activos utilizan utilizando do 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 Posterio Posteriormen rmente te deben deben crearse crearse los ficheros 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 prime primera ra vez que se ejecut ejecuta a el coman comando do anter anterior ior es norma normall que que muest muestre re advert advertenc encias ias 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 regresa regresarr al nivel nivel de ejecuci ejecución ón 5 (modo (modo multiusu multiusuario ario con entorno entorno gráfico), gráfico), reinicia reiniciando ndo 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 /dev/sda5 24 5242880 5242880
inodes 10
soft hard 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 paquete paquetes s DRBL. DRBL. Existen Existen diferen diferentes tes formas formas de completa completarr este proceso, proceso, depend dependiend iendo o 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 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 http://free.nchc.org chc.org.tw/dr .tw/drbl-cor bl-core e drbl fichero /etc/apt/sources.list : deb http://free.n 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 por cues cuestio tione nes s de segur segurida idad d y estabi estabilid lidad ad del del paqu paquete ete,, que que puede puede desca descarga rgase se desd desde e 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 Concluida la ejecución ejecución del comando comando anterior, anterior, se crea en el sistema el siguiente siguiente perfil de trabajo para el servidor DRBL: /etc/drbl/ |_ drbl_deploy.conf drbl_deploy.conf |_ drblpush.conf |_ IP_HOST_TABLE /opt/drbl/
Aquí se almacenan almacenan los directorios directorios y ficheros para la ejecución del programa DRBL. Ejemplos: |_sbin/ |_ drblsrv |_ drblpush /tftpboot
Aquí se almacenan almacenan los entornos entornos virtuales (estructura (estructura de de directorios y sistema sistema de archivos 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, superior, pero todas las configuraciones configuraciones del sistema serán guardados en los discos discos duros duros del del servid servidor or,, y cada cada clien cliente te de red dispo dispond ndrá rá de sus confi configu gurac racio iones nes indiv individu idual ales. es. Por Por otro otro lado, lado, DRBL ovee una ima imagen gen del SO a util tiliza izar y las DRBL SSI SSI prove configu configurac racione iones s individu individuales ales son creadas creadas en tiempo tiempo de ejecució ejecución n ( run-time ), duran durante te 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 Este coma comand ndo o ayud ayuda a al serv servid idor or DRBL DRBL a dete determ rmin inar ar los los pará paráme metr tros os de conf config igur urac ació ión 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 inte interc rcam ambi bio o (par (parti tici cion ones es SWAP SWAP), ), entr entre e otra otras. s. Es impo import rtan ante te leer leer con con aten atenci ción ón las 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 respondiendo Si/Yes a la pregunta “ ¿Desea ¿Desea anclar la dirección IP del cliente conectado a eth1, proporcionando su dirección MAC? [s/N] / Do you want want to fix fix the the IP addr addres ess s of clie client nt conn connec ecte ted d to eth1 eth1 by givi giving ng MAC MAC del asistente mostrado tras ejecutar el comando: address ? [y/N]” , /opt/drbl/sbin/drblpush /opt/drbl/sbin/d rblpush -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 fiche fichero ro /tftpboot/nbi_img/pxelinux.cfg/default debe debe ser edit editad ado, o, con 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 versio versione nes s super superior iores, es, debe debe ejecut ejecutars arse e nueva nuevamen mente te el asist asistent ente e de config configura uració ción: n: añadiénd éndole ole la opció opción n -c /etc/drbl/drblpus /opt/drbl/sbin/drblpush, añadi /etc/drbl/drblpush.conf h.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ó selección n de software software de gestión gestión empresa empresarial rial,, incluye incluyendo ndo Abanq, Abanq, Openbrav OpenbravoPOS oPOS 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 segura y estable; estable; utiliza utilizando ndo programa programas s de aplicaci aplicaciones ones Free Free Softwar Software/Op e/OpenSo enSource urce,, 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 Municipal del Partido “Arturo Lince González”, 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 . “Implementa “Implementación ción de servidores servidores con GNU/Linux”/Alcance 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, CONSULTUX, Consultoría Asesoría en Software Libre y Nuevas Tecnologías Tecnologías. El mundo de los los clie client ntes es liger ligeros os o thin thin clie client nts. s. Tomad omado o de: http http:/ ://w /www ww.c .con onsol soltu tux. x.co com/ m/in index dex.p .php hp? ? option=com_content&task=view&id=12&Itemid=28, 14 de agosto del 2009. GNU/Linux, GNU/Linux, Trisquel Trisquel . Trisqu risquel el Edu. Edu. Tomad omado o de: de: http http:/ ://t /tris risqu quel el.i .inf nfo/ o/es es/n /nod ode/ e/136 1361, 1, 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, http://www.howtoforge.com/perfect-server-ubuntu-9.04-ispconfig-2, 23 de mayo del 2009. LiNUX Horizon. Bonding (Port Trunking). Tomado Tomado de http://www.linuxhorizon.ro/bonding.html 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. SEGOVI SEGO VIAN ANO O Mart Martín ínez ez,, Zami Zamira ra. “Zotero: una alternativa libre para la gestión bibliográfi bibliográfica”/Lar ca”/Laritza itza Magdalena Martínez Martínez Negrín; Negrín; Olga Lidia Martínez Martínez Acosta. -- Ponencia, Ponencia, Convención y Feria Internacional Informática 2009 (UCI), 2009. --7h.: ilus. Stal Stallm lman an,, Rich Richar ard d M . Acerc erca del Proy royect ecto GNU – Proyec yecto http://www.gnu.org/gnu/thegnuproject.es.html, http://www.gnu.org/gnu/thegnuproject.es.html, 10 de enero del 2009.
GNU.
Tomado ado
de:
Wiki, Debian. Bonding. Tomado Tomado de: http://wiki.debian.org/Bonding, 10 de septiembre del 2009. Wikipedia, la Enciclopedia Libre. Linux (núcleo). http://es.wikipedia.org/wiki/Kernel_Linux.html, 10 de enero del 2009. Wikipedia, la Enciclopedia Libre. Trisquel GNU/Linux. http://es.wikipedia.org/wiki/Trisquel_GNU/Linux , 1 septiembre del 2009.
Tomado
Tomado
de:
de:
Wikipedia, la Enciclopedia Libre . Linux-libre. Linux-libre. Tomado de: http://es.w http://es.wikiped ikipedia.org/ ia.org/wiki/ wiki/LinuxLinuxlibre, libre, 1 de sepriembre del 2009. 2E5E, 2E5E, blog blog del equipo equipo de tecno tecnolog logía ía. Bondin Bonding: g: alta alta dispon disponibi ibilid lidad ad de red. Tomado omado de http://11870.com/2e5e/category/redes/Bonding_alta_disponibilidad_de_red.html, 5 de agosto del 2009.
22
Anexos. Anexo #1. #1. Ficheros Ficheros de configuraci configuración ón de los parámetros parámetros de red. # cat /etc/modprobe.d/bonding /etc/modprobe.d/bonding alias bond0 bonding options bonding mode=0 miimon=100 updelay=200 downdelay=200 use_carrier=0 # cat /etc/resolv.conf /etc/resolv.conf search linuxij.cu nameserver 192.168.46.100 # cat /etc/network/interfaces /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 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 200.55.143.154 thinserver.linuxij.cu
localhost thinserver
192.168.46.100 192.168.46.1 192.168.46.2 192.168.46.3 192.168.46.4 192.168.46.5 192.168.46.6 192.168.46.7 192.168.46.8 192.168.46.9 192.168.46.10
thinserver client1 client2 client3 client4 client5 client6 client7 client8 client9 client10
thinserver.linuxij.cu client1.linuxij.cu client2.linuxij.cu client3.linuxij.cu client4.linuxij.cu client5.linuxij.cu client6.linuxij.cu client7.linuxij.cu client8.linuxij.cu client9.linuxij.cu client10.linuxij.cu
#cat /etc/hostname thinserver.linuxij.cu
23
Anexo #2. #2. Ficheros Ficheros de repositorios repositorios de paquetes paquetes de software. software. Repositorio Local:
# cat /etc/apt/sources.list deb deb deb deb deb
http://repos.linuxij.cu/trisquel/ robur main extras http://repos.linuxij.cu/trisquel/ robur-backports main extras http://repos.linuxij.cu/trisquel/ robur-security main extras http://repos.linuxij.cu/trisquel/ robur-updates main extras http://repos.linuxij.cu/drbl/ drbl stable
Repositorio Internet:
# cat /etc/apt/sources.list deb deb deb deb deb
http://archive.trisquel.info/trisquel http://archive.trisquel.info /trisquel robur main extras http://archive.trisquel.info/trisquel robur-updates main extras http://archive.trisquel.info/trisquel http://archive.trisquel.info/trisquel robur-security main extras http://archive.trisquel.info/trisquel http://archive.trisquel.info/tr http://archive.trisquel.info/trisquel isquel robur-backports main extras http://free.nchc.org.tw/drbl-core/ drbl stable
24
Anexo #3. #3. Ficheros Ficheros de configuraci configuración ón del servidor servidor DRBL. 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 say say say say say
******************************* ************************************************ ******************* ** Bienvenido al Servidor de Clientes Ligeros: thinserver.linuxij.cu thinserver.linuxij.cu Grupo de Usuarios GNU/Linux Isla de la Juventud, Cuba. http://www.linuxij.cu/ http://www.linuxij.cu/ ******************************* ************************************************ ******************* **
ALLOWOPTIONS 0 MENU TITLE (Grupo de Usuarios GNU/Linux IJ - http://www.linuxij.cu/) 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. #4. Ficheros Ficheros de configuraci configuración ón servidor servidor DHCP. # cat /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf include "/etc/bind/rndc. "/etc/bind/rndc.key"; key"; server-identifier thinserver.linuxij.cu; server-identifier thinserver.linuxij.cu; authoritative; ddns-updates on; ddns-update-style ddns-update-styl e interim; ddns-domainname "linuxij.cu."; ddns-rev-domainname ddns-rev-domainn ame "46.168.192.in-addr.arpa."; "46.168.192.in-addr.arpa."; allow client-updates; option ip-forwarding off; default-lease-time default-lease-ti me 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 (substring(option vendor-class-identifier, 0, 9) = "PXEClient") or (substring(option (substring(option vendor-class-identifier, 0, 9) = "Etherboot") or (substring(option (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 do-forward-updates true; update-static-leases 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 use-host-decl-na mes on; host client1 { option host-name "client1.linuxij. "client1.linuxij.cu"; cu"; hardware ethernet 00:19:d1:e0:11:d 00:19:d1:e0:11:d9; 9; fixed-address 192.168.46.1; ddns-hostname "client1.linuxij.cu."; "client1.linuxij.cu."; next-server 192.168.46.100; } host client2 { option host-name "client2.linuxij. "client2.linuxij.cu"; cu"; hardware ethernet 00:19:d1:f0:21:m 00:19:d1:f0:21:m3; 3; fixed-address 192.168.46.2; ddns-hostname "client2.linuxij.cu."; "client2.linuxij.cu."; next-server 192.168.46.100; } ... host client10 { option host-name "client10.linuxij "client10.linuxij.cu"; .cu"; hardware ethernet 00:19:d1:e0:55:f 00:19:d1:e0:55:fc; c; fixed-address 192.168.46.10; ddns-hostname "client10.linuxij.cu."; "client10.linuxij.cu."; next-server 192.168.46.100; } } } } }
# cat /etc/default/dhcp3-server /etc/default/dhcp3-server INTERFACES="bond0"
29
Anexo #5. #5. Ficheros Ficheros de configuraci configuración ón servidor servidor DNS-Bind9. 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 MX linuxij.cu.
thinserver.linuxij.cu. ; Primary DNS Server 0 mail.linuxij.cu. ; Mail Exchanger 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 client2 client3 client4 client5 client6 client7 client8 client9 client10
IN IN IN IN IN IN IN IN IN IN
A A A A A A A A A A
192.168.46.1 192.168.46.2 192.168.46.3 192.168.46.4 192.168.46.5 192.168.46.6 192.168.46.7 192.168.46.8 192.168.46.9 192.168.46.10
thinserver
IN IN IN
A 192.168.46.100 TXT "Node LinuxIJ. Phone: 53(46)394474" HINF HINFO O "Int "Intel el Cor Core e 2 Duo Duo CPU CPU 2.2 2.20G 0GHz Hz" " "Ubu "Ubunt ntu u Linu Linux" x"
mail
A RP TXT
192.168.46.101 root postmaster "v=spf1 a -all"
IN IN IN IN IN
CNAME CNAME CNAME CNAME CNAME
IN IN IN
; Aliases ftp www jabber conference proxy
thinserver thinserver thinserver thinserver 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
thinserv erver.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 PTR PTR PTR PTR PTR PTR PTR PTR
thinserver.linuxij.cu. ftp.linu inuxij.cu. www.linu inuxij.cu. jabb jabber er.l .lin inux uxij ij.c .cu. u. conf confer eren ence ce.l .lin inux uxij ij.c .cu. u. prox proxy. y.li linu nuxi xij. j.cu cu. .
101
IN
PTR
mail.linuxij.cu.
34
Anexo #6. #6. Fichero Fichero de configuración configuración servidor Xorg para todas las estaciones estaciones clientes. clientes. # cat /tftpboot/node_root/etc/X11/xorg /tftpboot/node_root/etc/X11/xorg.conf .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" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "Emulate3Buttons " "yes" EndSection Section "Monitor" Identifier ModelName HorizSync VertRefresh Option EndSection
"Monitor0" "LCD Panel 1024x768" 31.5 - 48.5 40.0 - 70.0 "dpms"
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. #7. Ficheros Ficheros de configuraci configuración ón servidor servidor NFS. Para todas las estaciones clientes ligeros: # cat /etc/exports /tftpboot/node_root 192.168.46.1(ro,sync,async,no_ro /tftpboot/node_root 192.168.46.1(ro,sync,async,no_root_squash,subtre ot_squash,subtree_check) e_check) /usr 192.168.46.1(ro, 192.168.46.1(ro,sync,async,no_roo sync,async,no_root_squash,subtree t_squash,subtree_check) _check) /opt 192.168.46.1(ro, 192.168.46.1(ro,sync,async,no_roo sync,async,no_root_squash,subtree t_squash,subtree_check) _check) /home 192.168.46.1(rw,sync,async,no_ro 192.168.46.1(rw,sync,async,no_root_squash,no_sub ot_squash,no_subtree_check) tree_check) /var/spool/mail 192.168.46.1(rw, 192.168.46.1(rw,sync,async,root_s sync,async,root_squash,no_subtree quash,no_subtree_check) _check) ... /tftpboot/node_root 192.168.46.10(ro,sync,async,no_r /tftpboot/node_root 192.168.46.10(ro,sync,async,no_root_squash,subtr oot_squash,subtree_check) ee_check) /usr 192.168.46.10(ro 192.168.46.10(ro,sync,async,no_ro ,sync,async,no_root_squash,subtre ot_squash,subtree_check) e_check) /opt 192.168.46.10(ro 192.168.46.10(ro,sync,async,no_ro ,sync,async,no_root_squash,subtre ot_squash,subtree_check) e_check) /home 192.168.46.10(rw,sync,async,no_r 192.168.46.10(rw,sync,async,no_root_squash,no_su oot_squash,no_subtree_check) btree_check) /var/spool/mail 192.168.46.10(rw 192.168.46.10(rw,sync,async,root_ ,sync,async,root_squash,no_subtre squash,no_subtree_check) e_check) /tftpboot/nodes/192.168.46.1/ 192.168.46.1(rw,sync,async,no_ro 192.168.46.1(rw, sync,async,no_root_squash,no_subt ot_squash,no_subtree_check) ree_check) ... /tftpboot/nodes/192.168.46.10/ 192.168.46.10(rw,sync,async,no_r 192.168.46.10(rw ,sync,async,no_root_squash,no_sub oot_squash,no_subtree_check) tree_check)
Por cada estación cliente ligero: # cat /tftpboot/nodes/10.10.0.1/etc/fs /tftpboot/nodes/10.10.0.1/etc/fstab tab 192.168.46.100:/tftpboot/nodes/192.168.46.1/etc /etc nfs rw,rsize=65536,wsize=65536,tcp,d rw,rsize=65536,w size=65536,tcp,defaults efaults 0 0 192.168.46.100:/tftpboot/nodes/192.168.46.1/var /var nfs rw,rsize=65536,wsize=65536,tcp,d rw,rsize=65536,w size=65536,tcp,defaults efaults 0 0 192.168.46.100:/tftpboot/nodes/192.168.46.1/root /root nfs rw,rsize=65536,wsize=65536,tcp,d rw,rsize=65536,w size=65536,tcp,defaults efaults 0 0 192.168.46.100:/usr 192.168.46.100:/ usr /usr nfs ro,rsize=65536,wsize=65536,tcp,de ro,rsize=65536,ws ize=65536,tcp,defaults faults 0 0 192.168.46.100:/opt 192.168.46.100:/ opt /opt nfs ro,rsize=65536,wsize=65536,tcp,de ro,rsize=65536,ws ize=65536,tcp,defaults faults 0 0 192.168.46.100:/home 192.168.46.100:/ home /home nfs rw,rsize=65536,wsize=65536,tcp,defaults 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,d rw,rsize=65536,w size=65536,tcp,defaults efaults 0 0 192.168.46.100:/tftpboot/node_root/var/lib/rpm /var/lib/rpm nfs ro,rsize=65536,wsize=65536,tcp,d ro,rsize=65536,w size=65536,tcp,defaults efaults 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. #8. Ficheros Ficheros de configuraci configuración ón servidor servidor NIS. # cat /etc/yp.conf domain dummy server localhost # cat /etc/ypserv.securenets /etc/ypserv.securenets # For localhost 255. 255.0 0.0. .0.0 127.0 27.0. .0.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