Este documento describe un proyecto para implementar un servidor Linux seguro para conectar una red local a Internet. El proyecto tiene como objetivos configurar servicios como el almacenamiento de archivos, páginas web, correo electrónico y otros, usando herramientas como Webmin para administrar el servidor de forma transparente. El documento también incluye una breve historia de Linux y los requisitos mínimos para ejecutarlo.
1. Memoria del Proyecto
|{
Servidor Linux
para conexiones seguras de una LAN a Internet
|{
Jose Antonio Escartn Vigo
Junio de 2005
2.
3. Introduccion
En las siguientes lneas trato de describir los motivos que me llevaron a escoger un proyecto de este
estilo y de donde surgio la idea de realizar un documento informativo para facilitar la tarea de muchos
administradores de sistemas noveles, como yo cuando comence este proyecto.
En esta peque~na introduccion tambien se especi
4. can los objetivos que se pretenden conseguir y para
entrar en materia se comenta, muy por encima, la historia de Linux.
Motivacion
Me decid a realizar este proyecto por la inquetud personal que tena respecto al sistema operativo
Linux. Conozco a mucha gente que lo maneja y que me hablaba muy bien, por pereza y falta de tiempo,
nunca me haba puesto a experimentar a fondo con el. Si bien es cierto que lo tena instalado (una version
Mandrake 9.0) lo utilizaba solamente para realizar las practicas de la universidad y poca cosa mas.
Siempre me han atrado los sistemas operativos, bastante mas que la rama de programacion. Una
prueba de ello es que cuando llege a la FIB (vine del Ciclo formativo de grado superior: Desarrollo de
aplicaciones informaticas; es decir, basicamente programacion) me cambie a la rama de sistemas.
Actualmente me encuentro cursando el PFC de la Ingeniera tecnica en Informatica de Sistemas y
tengo la intencion de solicitar plaza de admision en la Ingeniera superior de informatica, carrera a la que
no pude acceder en primera instancia por restricciones legales, al acceder a la universidad por la va de
los ciclos formativos de grado superior.
A lo largo de la carrera, he cursado las siguientes asignaturas relacionadas con los sistemas operati-vos:
ISO (Introduccion a los sistemas operativos), SO (Sistemas Operativos), ASO (Administracion de
sistemas operativos), CASO (Conceptos avanzados de sistemas operativos), SSI (Seguridad en sistemas
informaticos). Ademas hace unos a~nos, antes de comenzar la carrera, realizaba trabajos de administrador
de sistemas en entornos Windows, para dos institutos (IES Piramide y IES Sierra de Guara) de mi ciudad
natal, Huesca.
El PFC: Servidor Linux para conexiones seguras de una LAN a Internet me ha permitido desarrollar
amplios conocimientos en el campo de los sistemas operativos, algo que realmente me interesa y supongo
que me permitira encarrilar mi carrera hacia el trabajo que pretendo desarrollar como Administrador de
sistemas.
Si en vez de elegir uno de los proyectos propuestos desde la universidad, hubiera pensado proponer
uno, sin duda habra elegido hacer un proyecto igual al que propuso el profesor Llus Perez Vidal del
departamente LSI de la UPC. Me siento bastante afortunado de haber realizado un PFC que realmente
me interesaba y motivaba.
5. vi Servidor Linux para conexiones seguras de una LAN a Internet
Motivacion del proyecto
Ante el problema de instalar un sistema operativo que controle los servicios de red y ademas sea estable
se nos plantean principalmente dos alternativas, Linux o Windows.
Que ventajas tiene Linux sobre Windows?
Es mas seguro.
Ya que la gran mayora de los ataques de hackers son dirigidos a servidores Windows al igual que
los virus los cuales se enfocan principalmente a servidores con este sistema operativo. La plataforma
Linux es mas robusta lo cual hace mas difcil que algun intruso pueda violar la seguridad del sistema.
Es mas rapido.
Al tener una plataforma mas estable, se favorece la utilizacion de aplicaciones de todo tipo de
aplicaciones. La e
6. ciencia de su codigo fuente hace que la velocidad de las aplicaciones Linux sean
superiores a las que corren sobre Windows.
Es mas economico.
Ya que requiere menor mantenimiento. Los servidores Windows son mas costosos debido a que es
necesaria una frecuente atencion y monitoreo contra ataques de virus, hackers y errores de codigo.
El software Linux as como tambien un sin numero de aplicaciones, son de codigo abierto y estan
protegidas por la licencia GPL1, motivo por el que son distribuidas gratuitamente. No requieren
supervision constante ni pagos de mantenimiento para obtener Service Packs, que no son mas que
parches de seguridad para aplicaciones mal diseadas.
Que ventajas tiene Windows sobre Linux?
Es mas facil.
Al ser de mayor facilidad de uso Windows en este momento continua siendo el sistema operativo mas
comercial lo cual se re
eja en la disponibilidad de aplicaciones, facilidad de mantenimiento as como
soporte en el desarrollo de nuevas aplicaciones.
Las aplicaciones se desarrollan en menor tiempo.
Fruto de la inversion realizada por Microsoft y aunado a una comunidad de programadores cada vez
mas grande se ha logrado facilitar el desarrollo de aplicaciones y sistemas que corran sobre servidores
Windows lo cual se ve re
ejado en tiempos de desarrollo menores. De la misma forma, la curva de
aprendizaje en el sistema Windows es mucho menor.
La alternativa mas sencilla y a la vez mas ine
7. ciente es elegir un sistema operativo Windows. Lo que
se busca es seguridad, integridad de datos y e
8. ciencia del sistema, por tanto nos decantaremos por una
distribucion GNU/Linux.
El proyecto surge ante la necesidad de escoger entre las distribuciones Linux actuales, la mas adecuada
para instalar un servidor e implementar las aplicaciones necesarias para dar servicios a clientes de sistemas
operativos Linux y Windows.
Esto es algo no trivial y el proyecto trata de ser una ayuda, apoyo y consulta para facilitar la tarea de
una persona que trate de implementar un servidor.
1GPL: Licencia publica GNU. Segun se cita en [Sha01] expeci
9. ca explcitamente que el software desarrollado es libre y
que nadie puede coartar estas libertados. Se puede revender, incluso obteniendo bene
10. cio; sin embargo, en esa reventa el
vendedor debe de proveer el codigo fuente completo, incluyendo cualquier modi
11. cacion realizada. El paquete continua bajo
GPL y puede ser distribuido de modo libre y revendido de nuevo obteniendo tambien bene
12. cio. Es de una importancia
primordial la clausula de responsabilidad: los programadores no son responsables de cualquier da~no causado por su software.
Jose Antonio Escartn Vigo, Junio 2005.
13. vii
Objetivos
Este documento esta elaborado para describir la implementacion de un servidor GNU/Linux, as como
especi
14. car y resolver los principales problemas que un administrador se encuentra al poner en funcio-namiento
un servidor. Se aprendera a con
15. gurar un servidor GNU/Linux describiendo los principales
servicios utilizados para compartir archivos, paginas web, correo y otros que veremos mas adelante.
La herramienta de con
16. guracion Webmin, que se detalla en uno de los ultimos captulos es indepen-diente
de la distribucion GNU/Linux que utilicemos y nos permitira administrar de forma transparente
diferentes distribuciones, con la ventaja que eso supone si alguna vez cambiamos de distribucion.
Cuadro 1: Objetivos del proyecto
Estudiar el entorno de composicion de textos LATEX
Analizar e instalar las distribuciones Linux mas importantes
Estudiar la compilacion de kernels
Analizar y con
17. gurar los servicios para usuarios Linux y Windows
Establecer sistemas de proteccion
Realizar pruebas de seguridad del servidor
Documentar el proyecto
Marco historico
Como se especi
18. ca en [BB00], Linux hizo su aparicion en 1991 cuando el
19. nlandes Linus Torvalds deci-di
o publicar en Internet su proyecto de carrera, animando a la comunidad internacional de programadores
a mejorarlo. Nacio como una mejora de Minix, una version de Unix para ordenadores PC basados en el
procesador 8086 de Intel, Linux por su parte utilizaba el procesador 386SX de Intel.
Posiblemente una de las explicaciones del exito de Linux es GNU1 que junto con la FSF2 (Free Software
Fundation), tratan de promover el desarrollo de programas cuyo codigo sea publico y compartido. Una de
las principales aportaciones GNU fue Linux, un sistema operativo de libre distribucion.
A partir de 1994 emperzaron a aparecer las primeras distribuciones de CD-ROM, junto con el codigo
fuente del sistema operativo, se dispona de diversas utilidades y aplicaciones sin tener que descargarlas.
Ese a~no aparecieron los primeros grupos locales de usuarios de Linux y la primera revista on-line especia-lizada.
Al a~no siguiente se empezo a trabajar en las primeras versiones de Linux para plataforma no Intel
y los primeros desarrollos de instaladores parcialmente automaticos. A partir de 1996 Linux comienza a
difundirse de forma mas general en Espa~na, a~no en el que se inicia el proyecto de documentacion de Linux
en catellano (LUCAS) y se comienzan a organizar los primeros grupos de usuarios.
El futuro es muy prometedor, cada vez es mayor el numero de fabricantes de software y hardware que
han mostrado un creciente interes.
1GNU: GNU no es Unix. De
20. nicion recursiva que representa el humor informatico en su maxima expresion
2FSF: Fundacion para el software libre. Es el principal contribuidor del Proyecto GNU, depende de donaciones privadas y
se dedica a preservar, proteger y promover los derechos de los usuarios y su libertad para usar, estudiar, copiar, modi
21. car y
redistribuir software. Apoya la libertad de expresion, prensa y asociacion en internet, el derecho a usar software criptogra
22. co
en comunicaciones privadas y el derecho a escribir software sin los impedimentos del monopolio.
Jose Antonio Escartn Vigo, Junio 2005.
23. viii Servidor Linux para conexiones seguras de una LAN a Internet
Requisitos mnimos Linux
Probablemente la con
24. guracion mnima sobre la que Linux sea capaz de funcionar sea un 386SX con 2
Mb de memoria RAM y una disquetera de 1.44, aunque con estas caractersticas simplemente podremos
arrancar el sistema y poco mas. Una con
25. guracion mas realista debera incluir 4Mb de Ram si no vamos
a utilizar el entorno gra
26. co, 8Mb en caso contrario y un mnimo de 40MB de espacio en disco, aunque
en las distribuciones actuales el espacio debera ser mayor de unos 300Mb. Cantidades ridculas si las
comparamos con los dispositivos disponibles actualmente, pero que permiten reutilizar materiales mas
antiguos de los que se pueda disponer. Frente a estos requerimientos, se encuentran los sistemas Windows,
con unos requerimientos1 desorbitados.
Linux soporta cualquier CPU compatible con los procesadores x86 de Intel, pudiendose encontrar
versiones que funcionan con procesadores 680x0 de Motorola utilizados en ordenadores Amiga y Atari.
Tambien son compatibles con Linux muchos ordenadores basados en Alpha, ciertas maquinas Sparc, las
maquinas basadas en PowerPC como por ejemplo los ordenadores Macintosh de Apple, as como ARM,
MIPS y algunos tipos de agendas electronicas, telefonos y consolas de juegos.
Notas Previas
Se van a tomar varias la siguiente notacion para el documento:
Cuando aparezcan frases que el usuario pueda introducir por teclado se hara notar por el tipo de
letra mecanogra
27. ca, Verbatim
Al hacer referencia a un comando que deba de ser introducido por una cuenta con privilegios de
root, ira precedido por el caracter #
Al hacer referencia a un comando que puede a ser ejecutado por un usuario cualquiera del sistema,
si tiene privilegios para ello, ira precedido por el caracter $
Cuando se muestran codigos el caracter # al inicio de la frase especi
28. ca que esa frase concreta es
un comentario dentro del codigo.
1WindowsXP: Procesador 233Mhz, 64Mb Ram y 1.5 Gb de disco; Windows2003 Server: Procesador 550Mhz, 256Mb Ram
y 1.5 Gb de disco
Jose Antonio Escartn Vigo, Junio 2005.
96. caciones a los costes economicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
19.Conclusiones 311
V Apendices 315
A. Comandos basicos 317
B. Debian en castellano 319
C. Archivos de con
97. guracion 321
D. Por que Debian no tiene rc.local? 325
Jose Antonio Escartn Vigo, Junio 2005.
98. xvi Servidor Linux para conexiones seguras de una LAN a Internet
E. Puertos por defecto 327
F. Manual del editor Vim (Vi mejorado) 329
G. Gua rapida de IPTables 331
Debian Sarge, nueva version estable 333
Licencia CC - Reconocimiento-CompartirIgual 335
Paginas Web 339
Bibliografa 343
Jose Antonio Escartn Vigo, Junio 2005.
131. cacion
El numero de creditos asignados al proyecto es de 22,5 y decid que cada credito me supondra una
carga de 20 horas, por lo tanto, la plani
132. cacion ha sido realizada para un total de 450 horas.
1.1. Fases del proyecto
Plani
133. cacion temporal: 20 horas. Mediante la herramienta de gestion de proyectos Planner, se realiza
una division temporal de las actividades a realizar.
Trabajo preliminar: 40 horas. Se eligen una serie de herramientas y sistemas sobre los cuales se
desarrolla el proyecto.
Instalacion base y con
136. guracion de los servicios: 120 horas. Basandose en los servicios tpicos que implementan los
servidores de red, se instalan una serie de servicios estandar para clientes de sistemas operativos
Linux y Windows.
Pruebas del sistema y conclusiones: 30 horas. Apoyandose en una serie de pruebas de carga se deter-mina
la e
137. ciencia real, de los servicios del servidor. As mismo se utilizan varias herramientas para
determinar la seguridad del servidor y comprobar su resistencia a posibles intrusiones o agresiones
externas.
Aprendizaje del entorno LATEX: 20 horas. A traves de varios libros, que detallo en la bibliografa, se
aprende a utilizar el entorno de composicion de textos LATEX para elaborar la documentacion del
proyecto.
Documentacion del proyecto: 140 horas. A lo largo del desarrollo de las fases anteriores se realizan
una serie de informes parciales que son la base de la memoria del proyecto.
1.2. Esquema temporal
Pese a la plani
138. cacion inicial, en los siguientes esquemas se detallan la cronologa real que se siguio en
la elaboracion del proyecto.
1PFC: Proyecto
151. Captulo 2
Seleccion de Herramientas
En este capitulo explicare cuales fueron las diferentes herramientas utilizadas para la elaboracion del
proyecto.
En una primera fase se determina el hardware donde se implementa el servidor y los diferentes
clientes utilizados en las pruebas
En la segunda fase se elige la distribucion utilizada y los motivos que me llevaron a su eleccion
En la tercera fase se detalla que herramientas de apoyo se uso para desarrollar los trabajos.
2.1. Seleccion de Hardware
Pese a que el director del proyecto me ofrecio la utilizacion de material del departamento LSI de la
UPC, por mi comodidad, el material escogido fue de mi propiedad. Comprando una parte de el para
desarrollar de forma mas e
152. ciente las tareas.
2.1.1. Servidor
Como servidor me decid por la compra de un ordenador portatil, que permitiera desarrollar un servidor
portable con mas utilidades habituales en los servidores
153. jos, ademas de la ventaja de poder portar el
proyecto y trabajar en sitios diferentes. Con este sistema se permite a un grupo corporativo itinerante el
desarrollo de sus actividades en posibles reuniones fuera de su propio edi
154. cio. La conexion y seguridad del
sistema queda garantizada gracias al sistema de validacion de clientes.
El portatil elegido fue un Acer TravelMate 4002 WLMI con procesador Intel Centrino a 1,6 Ghz.
con dos tarjetas de red integradas, una ethernet 10/100Mb y otra wi
155. 802.11g de 54Mb que permite sin
problemas establecer dos segmentos diferenciados de red. Uno para los usuarios de o
158. , dotando al sistema de mayor seguridad.
Se presentaron una serie de problemas directamente derivados de esta eleccion. El hardware era dema-siado
nuevo y esto provoco una serie de incompatibilidades que se fueron solucionando con la instalacion
de drivers y parches que no se encontraban en las instalaciones Linux estandar.
El servidor realiza tambien la gestion de la conexion a internet. Esta conexion es suministrada, cuando
se encuentra
159. jo, por un router 3com conectado al switch de la red y que solo responde a las peticiones
del servidor.
2.1.2. Clientes
Como clientes se utilizaran varios PC's de sobremesa, conectados mediante cable RJ45 a un switch.
PC AMD-Duron a 1,3 Ghz., tambien de mi propiedad, donde estara situado el principal cliente
Linux y Windows del sistema. En este ordenador se realizaron la mayoria de pruebas de conexion a
servicios.
160. 10 Servidor Linux para conexiones seguras de una LAN a Internet
PC AMD-Athlon a 1,2 Ghz. y PC AMD-Athlon a 2,4 Ghz. con clientes Windows, prestados.
Portatil Pentium-IV Mobile, con sistema Linux y Windows, para la pruebas de conexion de clientes
inalambricos.
Los clientes se utilizaron simultaneamente para realizar las pruebas de carga una vez terminada la
implementacion del servidor, para comprobar la efectividad del mismo.
2.2. Seleccion de la distribucion
Completada la infraestructura hardware, comence a leer sobre distribuciones de GNU/Linux, buscando
cuales eran las mas adecuadas para desplegar servidores.
A continuacion detallo los tipos de distribuciones valoradas:
Mepis y Ubuntu (basadas en Debian) son consideradas las mejores para aquellos usuarios nuevos
en Linux que quieren empezar a ser productivos lo antes posible, sin tener que aprender todas sus
complejidades, son distribuciones orientadas a usuario de escritorio.
En el lado opuesto tenemos a Gentoo, Debian y Slackware que son distribuciones mas avanzadas
que requieren un completo aprendizaje antes de poder ser usadas e
161. cientemente.
A medio camino entre ellas se encuentran Mandrake, Fedora (basada en Red Hat) y SuSE, estas dos
ultimas son distribuciones comerciales.
Knoppix y Mepis-LiveCD (basadas en Debian) son un caso a parte, permiten probar Linux sin tener
que hacer nada, ya que funciona directamente del CD, sin ninguna instalacion.
2.2.1. Distribuciones Linux
Cuadro 2.1: Distribuciones analizadas
SimplyMepis 3.3 - Mepis-LiveCD
Ubuntu (Warty Warthog 4.10)
Gentoo 2004.3 (FreeBSD)
Debian Woody 3.r04 - Sarge 3.1)
Debian Sarge 3.1)
Slackware 10.1
Mandrake 10.1
Fedora Core 3 (Red Hat)
SuSE
Knoppix 3.7
Mepis y Mepis-LiveCD
Fue lanzada por Warren Woodford en julio de 2003. Mepis Linux es una fusion entre Debian Sid
y Knoppix, una nueva clase de distribucion de Linux que se pueda utilizar como CD en vivo, y como
distribucion completa con un instalador gra
162. co a disco duro. De esta manera, usuarios pueden probar el
producto simplemente booteando desde el CD de Mepis, e instalandolo luego a disco duro solamente
si les gusta. Muchas otras distribuciones copiaron esta idea mas adelante, pero fue Mepis quien inicio el
concepto de un CD vivo mas un instalador gra
163. co completo partiendo de un CD.
A que se debe el exito de Mepis? A diferencia de la mayora de las distribuciones principales de Linux,
Mepis viene con muchos paquetes que no son de uso-libre, pero altamente utiles, precon
165. Captulo 2. Seleccion de Herramientas 11
listos para utilizar. Estos incluyen el driver de video Nvidia, el plugin Flash de Macromedia, Java, varios
codecs de multimedia para manejar archivos populares de audio y video y otros usos. Con Mepis Linux, no
hay necesidad de buscar el software para Java y despues tener que buscar la documentacion para descubrir
como permitir el uso de Java en sus navegadores. Todo esta disponible despues de la instalacion.
Esta idea simple resulto ser enormemente popular, no solamente entre los usuarios nuevos de Linux,
sino tambien entre los mas experimentados quienes encontraron muy conveniente el no tener que pasar
horas post-instalacion con
167. nando el sistema. Aparte de las aplicaciones estandard de Debian
y del software no-libre antes citado Mepis Linux tiene excelente auto-deteccion del hardware.
Ubuntu (Warty Warthog)
Ubuntu esta basada en Debian, pero el planteamiento esta inspirado en los principios de la corriente
ubuntu, un movimiento humanista encabezado por el obispo Desmond Tutu, premio Nobel de la Paz en
1984. Economicamente el proyecto se sostiene con aportaciones de la empresa Canonical del millonario
sudafricano Mark Shuttleworth.
El proyecto nacio por iniciativa de algunos programadores de los proyectos Debian, Gnome y Arch
que se encontraban decepcionados con la manera de operar del proyecto Debian. La version estable era
utilizada solo por una minora debido a la poca o nula vigencia que posea en terminos de la tecnologa
Linux actual.
Tras varios meses de trabajo y un breve perodo de pruebas, la primera version de Ubuntu (Warty
Warthog) fue lanzada en el mes de octubre de 2004.
Los desarrolladores se esfuerzan en ofrecer una propuesta que corrija la problematica que advirtieron
en Debian. Las versiones estables se liberan al menos dos veces al a~no y se mantienen actualizadas.
Contribuye al proyecto Debian de manera continua debido a que ambas distribuciones comparten
colaboradores de manera o
170. cial es
Mozilla Firefox. El sistema incluye funciones avanzadas de seguridad y entre sus polticas se encuentra el
no activar procesos latentes por omision al momento de instalarse.
Gentoo (FreeBSD)
Gentoo Linux fue creada por Daniel Robbins, un conocido desarrollador de Stampede Linux y FreeBSD.
La primera version estable de Gentoo fu anunciada en Marzo del 2002.
Gentoo Linux es una distribucion basada en codigo fuente. Mientras que los sistemas de instalacion
proveen de varios niveles de paquetes pre-compilados, para obtener un sistema Linux basico funcionando,
el objetivo de Gentoo es compilar todos los paquetes de codigo en la maquina del usuario. La principal
ventaja de esto es que todo el software se encuentra altamente optimizado para la arquitectura de la
computadora.
Tambien, actualizar el software instalado a una nueva version es tan facil como teclear un comando,
y los paquetes, mantenidos en un repositorio central, son actualizados a menudo. En la otra cara de la
moneda, instalar Gentoo y convertirla en una distribucion completa, con los ultimos entornos gra
171. cos,
multimedia y de desarrollo es un trabajo largo y tedioso, puede durar varios das incluso en una maquina
rapida.
Debian (Woody - Sarge)
Debian GNU/Linux inicio su andadura de la mano de Ian Murdock en 1993. Debian es un proyecto
totalmente no-comercial; posiblemente el mas puro de los ideales que iniciaron el movimiento del software
libre. Cientos de desarrolladores voluntarios de todo el mundo contribuyen al proyecto, que es bien dirigido
y estricto, asegurando la calidad de la distribucion. En cualquier momento del proceso de desarrollo existen
tres ramas en el directorio principal: estable, en pruebas e inestable (tambien conocida como sid,
nombre que no vara). Actualmente la rama estable es Woody y la rama en pruebas es Sarge.
Cuando aparece una nueva version de un paquete, se situa en la rama inestable para las primeras
pruebas, si las pasa, el paquete se mueve a la rama de pruebas, donde se realiza un riguroso proceso que
dura muchos meses. Esta rama solo es declarada estable tras una muy intensa fase de pruebas.
Jose Antonio Escartn Vigo, Junio 2005.
172. 12 Servidor Linux para conexiones seguras de una LAN a Internet
Como resultado de esto, la distribucion es posiblemente la mas estable y con
173. able, aunque no la
mas actualizada. Mientras que la rama estable es perfecta para servidores con funciones crticas, muchos
usuarios pre
174. eren usar las ramas de pruebas o inestable, mas actualizadas, en sus ordenadores personales.
Debian es tambien famosa por su reputacion de ser difcil de instalar, a menos que el usuario tenga
un profundo conocimiento del hardware de la computadora. Compensando este fallo esta apt-get el
instalador de paquetes Debian. Muchos usuarios de Debian hacen bromas sobre que su instalador es tan
malo por que solo lo han de usar una vez, tan pronto como Debian esta en funcionamiento, todas las
actualizaciones, de cualquier tipo pueden realizarse mediante la herramienta apt-get.
Slackware
Creada por Patrick Volkerding en 1992, Slackware Linux es la distribucion mas antigua que sobrevive
hoy en da. No ofrece extras vistosos, y se mantiene con un instalador basado en texto, y sin herramientas
de con
176. ca.
Mientras otras distribuciones intentan desarrollar intarfaces faciles de usar para muchas utilidades
comunes, Slackware no ofrece nada amistoso, y toda la con
178. guracion. Es por esto que Slackware solo se recomienda a aquellos usuarios nuevos que deseen perder
el tiempo aprendiendo acerca de Linux.A pesar de todo, Slackware tiene una especie de aura magica para
muchos usuarios.
Es extremadamente estable y segura, muy recomendada para servidores. Los administradores con
experiencia en Linux encuentran que es una distribucion con pocos fallos, ya que usa la mayora de paquetes
en su forma original, sin demasiadas modi
179. caciones propias de la distribucion, que son un riesgo potencial
de a~nadir nuevos fallos. Es raro que se produzcan lanzamientos de nuevas versiones (aproximadamente una
al a~no), aunque siempre se pueden encontrar paquetes actualizados para descargar despues del lanzamiento
o
180. cial. Slackware es una buena distribucion para aquellos interesados en profundizar en el conocimiento
de las entra~nas de Linux.
Posiblemente, la mejor caracterstica de esta distribucion es que si necesitas ayuda con tu sistema
linux, encuentra un usuario de Slackware. Es mas probable que resuelva el problema que otro usuario
familiarizado con cualquier otra distribucion.
Mandrake
Creada por Gal Duval, Mandrake Linux es una distribucion que ha experimentado un enorme aumento
de popularidad desde su primera version de julio de 1998. Los desarrolladores partieron de la distribucion
de Red Hat, cambiaron el entorno de escritorio predeterminado por KDE, y a~nadieron un instalador facil
de usar rompiendo el mito de que linux es difcil de instalar. Las herramientas de deteccion de hardware
de Mandrake y sus programas para el particionamiento de discos son consideradas por muchos como las
mejores de la industria, y muchos usuarios se encontraron usando Mandrake all donde otras distribuciones
no haban conseguido entregar la usabilidad necesaria.Desde entonces Mandrake Linux ha madurado y
se ha convertido en una distribucion popular entre los nuevos usuarios de linux y aquellos hogares que
buscan un sistema operativo alternativo.
El desarrollo de Mandrake es completamente abierto y transparente, con paquetes nuevos que se a~naden
al directorio llamado cooker a diario. Cuando una nueva version entra en fase beta, la primera beta se
crea a partir de los paquetes que se encuentran en cooker en ese momento. El proceso de pruebas de
la beta sola ser corto e intensivo, pero desde la versin 9.0 ha pasado ha ser mas largo y exigente. Las
listas de correo sobre la version beta suelen estar saturadas, pero sigue siendo posible recibir una respuesta
rapida sobre cualquier fallo o duda que enves. Como resultado de este tipo de desarrollo se obtiene una
distribucion puntera y altamente actualizada. Como contrapartida, los usuarios pueden encontrarse con
mas fallos que en otras distribuciones.
Mucha gente encuentra este 'pero' razonable para sus equipos, ellos obtienen las ultimas versiones de
software y los cuelgues ocasionales de las aplicaciones es algo con lo que pueden vivir. Tan pronto como
el desarrollo se completa el software se pone a la libre disposicion de la gente desde replicas en todo el
mundo.
Jose Antonio Escartn Vigo, Junio 2005.
181. Captulo 2. Seleccion de Herramientas 13
Fedora (Red Hat)
Para muchos el nombre de Red Hat equivale a Linux, ya que probablemente se trata de la compa~na
de linux mas popular del mundo. Fundada en 1995 por Bob Young y Marc Ewing, Red Hat Inc. Solo ha
mostrado bene
182. cios recientemente gracias a otros servicios en lugar de a la distribucion en si. Aun as,
Red Hat es la primera eleccion para muchos profesionales y parece que seguira siendo un peso pesado
durante mucho tiempo.
Afortunadamente se resistieron a realizar ningun plan de rapida expansion durante el boom de las
punto-com durante los a~nos 1998-1999, concentrandose en su negocio principal. Este tipo de gestion
prudente si sigue as, es propensa a garantizar estabilidad y dependencia..
Que hace a Red Hat Linux tan especial? Su curiosa mezcla de conservadurismo y paquetes punteros
mezclados con muchas aplicaciones desarrolladas en casa. Los paquetes no son los mas actuales, una vez se
anuncia una nueva version beta, las versiones de los paquetes se mantienen, excepto para actualizaciones
de seguridad. Como resultado se obtiene una distribucion bien probada y estable. El programa de betas
y las facilidades para enviar fallos estan abiertas al publico y hay un gran espritu en las listas de correo
publicas.
Red Hat Linux se ha convertido en la distribucion linux dominante en servidores en todo el mundo.
Otra de las razones del exito de Red Hat es la gran variedad de servicios populares que ofrece la com-pa~
na. Los paquetes de software son facilmente actualizables usando la Red Hat Network, un repositorio
o
183. cial de software e informacion. Una larga lista de servicios de soporte son accesibles en la compa~na
y, aunque no siempre baratos, tienes virtualmente asegurado un excelente soporte de personal altamente
cuali
186. cado de Ingeniera de Red Hat), academias y centros examinadores estan disponibles
en el casi todas las partes del mundo.
Todos estos factores han contribuido a que Red Hat sea una marca reconocida en el mundo de la
industria de las TI.
SuSE
SuSE es otra compa~na orientada a los escritorios, aunque tiene variedad de otros productos para
empresas. La distribucion ha recibido buenas crticas por su instalador y la herramienta de con
187. guracion
YaST, desarrollada por los desarrolladores de la propia SuSE. La documentacion que viene con las versiones
comerciales, ha sido repetidas veces evaluada como la mas completa, util y usable con diferencia a la de
sus competidores. SuSE Linux 7.3 recibio el premio Producto del a~no 2001que entrega el Linux Journal.
La distribucion tiene un gran porcentaje de mercado en Europa y America del norte, pero no se vende en
Asia y otras partes del mundo.
El desarrollo de SuSE se realiza completamente a puerta cerrada, y no se lanzan betas publicas para
probar. Siguen la poltica de no permitir descargar el software hasta tiempo despues de que salgan a la
venta las versiones comerciales. A pesar de todo, SuSE no entrega imagenes ISO de facil instalacion de su
distribucion, usando el software empaquetado para la gran mayora de su base de usuarios.
Actualmente van por la version 9.3 y no la instale porque la unica forma de conseguirla era pagando
y uno puntos claves era que todo el software fuera libre y gratuito. SuSE no cumpla esos requisitos.
Knoppix
Knoppix es una distribucion CD vivo de Linux basada en Debian y que utiliza como gestor de escritorio
KDE. Esta desarrollada por el consultor de GNU/Linux Klaus Knopper. Gnoppix es una variante pero
incluye como entorno gra
188. co Gnome en vez de KDE.
A diferencia de la mayora de las distribuciones Linux, no requiere una instalacion en el disco duro;
el sistema puede iniciarse desde un simple CD de 700 MB. Ademas, Knoppix reconoce automaticamente
la mayora del hardware del ordenador cuando se inicia. Tambien puede ser instalado en el disco duro
utilizando un script de instalacion. Y otra posibilidad de hacerlo mas persistente es guardar el directorio
home en una unidad removible, como un dispositivo de almacenamiento USB.
Se puede usar de distintas formas como:
Jose Antonio Escartn Vigo, Junio 2005.
189. 14 Servidor Linux para conexiones seguras de una LAN a Internet
Para ense~nar y demostrar de manera sencilla el sistema GNU/Linux, especialmente como sistema
operativo.
Probar rapidamente la compatibilidad de hardware bajo Linux antes de comprarlo o utilizarlo,
especialmente para tarjetas de vdeo.
Utilizar las herramientas incluidas para restaurar un sistema corrupto o sus datos perdidos.
Existen versiones ntegramente en espa~nol y catalan.
2.2.2. Pruebas
Los CD's vivos arrancaron bien, sobre todo MEPIS con el que me lleve una grata sorpresa, muy simple
y funciona casi todo.
La distribucion Ubuntu estaba claramente orientada a usuario
190. nal y no servidor que era mi objetivo,
de todas formas es una buena distribucion que permite estar siempre actualizado.
Gentoo no la llege a probar debido a las di
191. cultades de instalacion que representa la continua compi-laci
on de paquetes, paso esencial en esta distribucion. Es muy complicado dejarla a punto.
Debian y Slackware eran las distribuciones que mas se ajustaron a los propositos del proyecto; sobre
todo Debian que cuenta con un gran grupo de soporte y recursos. Pese a ser las menos actualizadas,
eso no presenta ninguna di
192. cultad para poder actuar como un servidor, mas bien al contrario, son las
distribuciones mas estables de todas las evaluadas.
Mandrake no presentaba el entorno adecuado y Fedora y SuSE, al ser versiones comerciales, no cubran
los requisitos pre
195. guracion me decante por Sarge del proyecto Debian, debido
a su caracter al 100% libre y la gran cantidad de aplicaciones que adjunta. Otro factor decisivo fue el
soporte que tiene dicha distribucion, mantenida por multitud de desarrolladores.
Pese a ser una version en pruebas, se encuentra en la ultima fase. La rama de desarrollo Sarge, lleva
abierta desde el 2002 y la liberacion de la version estable se plantea inminente.
2.3. Seleccion del Software
Las herramientas escogidas no lo han sido al azar, son consecuencia directa de la
196. losofa del proyecto,
donde el uso exclusivo de software libre y gratuito era un objetivo prioritario.
Paso a detallar el software que utilizo:
2.3.1. Planner
Programa de gestion de proyectos que permite crear planes para el proyecto y seguir su progreso,
pudiendo colocar sellos temporales
Lista de caractersticas
Calendario
Costes de proyecto
Gestion de tareas
Jose Antonio Escartn Vigo, Junio 2005.
197. Captulo 2. Seleccion de Herramientas 15
Gestion de recursos
Figura 2.1: Distribucion de recursos
Diagramas de ghant
Figura 2.2: Diagrama temporal de Ghant
2.3.2. LATEX
Como se menciona en [CSLSMR+03] LATEX es un conjunto de sentencias escritas en un lenguaje
de programacion llamado TEX. Este no es un lenguaje de programacion usual, sino uno orientado a la
escritura de textos de excelente calidad. TEX no es un editor de la familia WYSIWYG, termino empleado
para denominar a los editores que solo trabajan sobre la pantalla del computador, dando un formato
visual al texto, y en los cuales lo que ves es lo que tienes. Muy al contrario, en TEX se escribe el texto
acompa~nado de ordenes que el compilador, posteriormente, interpreta y ejecuta para proporcionar un
texto perfectamente compuesto.
A estas ventajas hay que a~nadir otra, es gratuito; Donald E. Knuth el creador de TEX, lo libero en
Octubre de 1.990.
El entorno LATEX desarrollado por Leslie Lamport, lo creo en 1982, con la intencion de simpli
198. car la
tarea a aquellos que desean utilizar TEX. A~nade a TEX una coleccion de comandos que simpli
200. ado, permitiendo al usuario concentrarse en la estructura del texto, en vez de en los comandos
para dar formato. Tal es la calidad de LATEX que muchas editoriales permiten a sus autores escribir libros
en LATEX, dandoles un archivo base y unas directrices sobre la elaboracion de los textos.
Una de las ventajas de LaTeX es que puede ser exportado muy facilmente a Portable Document Format
(PDF) y PostScrip.
Utilizare este entorno de composicion de textos para desarrollar la documentacion derivada del pro-yecto.
Jose Antonio Escartn Vigo, Junio 2005.
201. 16 Servidor Linux para conexiones seguras de una LAN a Internet
2.3.3. Kile
Kile es un editor de textos para LATEX desarrollado por P. Brachet. Tiene una completa interfaz con
diversas facilidades que ofrece a un usuario novel un entorno amigable.
Figura 2.3: Imagen del editor Kile
Sus principales caractersticas son las siguientes:
Los comandos de LATEX estan disponibles a traves de menus, botones y combinaciones de teclas.
La ayuda integrada en el programa nos permitira saber que macro usar ante una necesidad concreta.
Para una edicion comoda de los
202. cheros de texto, contamos con resaltado de sintaxis, funciones de
busqueda (incremental o no), reemplazo, deshacer, . . .
Los mas de 370 smbolos matematicos posibles son accesibles mediante botones y menus.
Corrector ortogra
203. co a traves de ispell
Asistentes para la creacion de distintos tipos de documentos LATEX(cartas, artculos, etc).
Manejo de bibliografas a traves de BibTEX.
Navegacion mediante menus de la estructura de un documento o proyecto.
Facilidades para compilar y depurar
204. cheros LATEX.
Integracion con herramientas externas para la visualizacion e impresion de los documentos editados
en distintos formatos: DVI, Postscript o PDF.
Interfaz con programas de dibujo como x
205. g o gnuplot.
2.3.4. Prosper
La herramienta Prosper, desarrollada por F. Goualard y P.M.Neergaard es una clase para LATEX que
permite crear presentaciones electronicas con una excelente calidad.
Con ella se pueden producir documentos en formato PDF para realizar exposiciones con un monitor o
con un sistema de proyeccion de vdeo. Tambien se puede producir documentos PostScript para imprimir
la presentacion sobre transparencias para exposiciones con retroproyector.
Dispone de multitud de estilos de presentacion y la posibilidad de conseguir efectos de animacion en
pantalla haciendo que el contenido de la misma aparezca o desaparezca en distintas etapas (de forma
incremental).
Jose Antonio Escartn Vigo, Junio 2005.
206. Captulo 2. Seleccion de Herramientas 17
Figura 2.4: Varios estilos de transparencias
2.3.5. Programas gra
207. cos
Las imagenes y videos que he utilizado en la documentacion y en las transparencias se han generado
con los siguientes programas:
KSnapshot: Para capturar pantallas, es mucho mejor que la tpica tecla Impr-pant gracias a sus
multiples opciones, entre las que se encuentran un temporizador y poder elegir que parte de la
pantalla se va a capturar; pudiendo seleccionar entre toda la pantalla, la ventana activa o una region
concreta. En resumen, una herramienta muy util para la redaccion de tutoriales.
The Gimp: Es el programa estrella de GNU para la creacion y el retoque fotogra
208. co de imagenes,
comparable al famoso programa comercial Adobe Photoshop.
Xvidcap y Mencoder: Permite capturar una secuencia de imagenes de una parte de la pantalla, ya sea
una ventana o una region. De esta manera, obtendremos una coleccion de imagenes del area capturada
separadas temporalmente un numero de fps1 que se puede especi
209. car. El programa Mencoder forma
parte de Mplayer, que es un conjunto de aplicaciones para la grabacion y reproduccion de vdeos,
dvd's y otros. Una vez obtenida la coleccion de imagenes que conformaran los frames del vdeo se
utilizara el programa Mencoder para componerlo.
1fps: frames por segundo
Jose Antonio Escartn Vigo, Junio 2005.
213. Captulo 3
Instalacion de la distribucion
Existen varias formas de realizar la instalacion de la distribucion:
Desde CD-ROM: con las imagenes o
214. ciales
Desde disquetes: carga un nucleo y permite hacer una instalacion base por internet si la tarjeta de
red es soportada.
Desde dispositivo USB: crea un mini sistema base
Desde el disco duro: a partir de unos
215. cheros locales.
Desde red: Se realiza a traves de TFTP desde una maquina a la que se tiene acceso, si la tarjeta de
red es soporta.
La manera mas sencilla, con mucho, de instalar Debian GNU/Linux, es usar un juego o
216. cial de CDs o
DVDs de Debian, las imagenes pueden ser descargadas desde el servidor Debian (www.debian.org/distrib/ )
o desde una replica del mismo.
Si el sistema no permite arrancar desde el CD, se puede utilizar una estrategia alternativa (disquete o
disco duro) para hacer el arranque inicial del instalador del sistema, los
217. cheros para arrancar mediante
otros medios tambien se encuentran en el CD. Una vez arranque el instalador, se pueden obtener el resto
de
218. cheros desde el CD.
Se puede obtener mas informacion respecto a la instalacion de Debian en [PRG+02] y [eidD04].
3.1. Proyecto Debian
El proyecto Debian GNU/Linux posee tres ramas: stable, testing y unstable. En los siguientes
apartados se detallan las diferencias entre ellas.
3.1.1. Unstable
Se llama Sid y como su nombre indica es la distribucion mas inestable porque contiene paquetes
muy nuevos. La utilizan los desarrolladores de Debian para depuracion. Debian Sid contiene software muy
reciente y puede traer problemas de estabilidad graves.
3.1.2. Testing
Actualmente se llama Sarge, posee el software que ya paso un tiempo de prueba en inestable pero
que aun debe pasar una fase de pruebas para consideralo estable, es la utilizada por aquellos que desean
disfrutar de las nuevas caractersticas de Debian y de las versiones de software mas reciente sin esperar
a la liberacion o
219. cial de una nueva version. Es el equivalente a la distribucion mas actual de las demas
distribuciones (Mandrake, Fedora, Slackware, etc).
220. 22 Servidor Linux para conexiones seguras de una LAN a Internet
3.1.3. Stable
Actualmente es la version 3.0, tambien llamada Woody y como su nombre indica es la mas estable de
las distribuciones Debian, ya que su software contenido ya supero varios meses de pruebas y correcciones.
En sistemas de produccion, donde no se toleran problemas de estabilidad, se recomienda el uso de
Debian Woody.
3.1.4. Recomendaciones
En entornos de prueba y/o desarrollo se recomienda utilizar Debian Woody o Sarge.
Para PCs de escritorio se recomienda utilizar Debian Sarge, ya que contiene versiones de software
bastante recientes y ya probadas un tiempo en la rama inestable.
He elegido Sarge, ya que esta rama de desarrollo lleva abierta desde el 2002 y la liberacion de la version
estable se plantea inminente.
3.2. Debian Sarge
Este metodo de instalacion se utilizo en el cliente de pruebas. En el servidor se instalo Debian Woody
y se realizo una actualizacion debido a incompatibilidades de Hw.
Metodo de instalacion
Mediante el siguiente esquema detallo el sistema de instalacion.
1. Con
221. gurar la BIOS para arrancar desde el DVD
2. Iniciar el instalador boteando desde el DVD
3. Arrancar el instalador con los metodos y parametros mas adecuados al Hw disponible. Presionando
Enter se arranca con los parametros por defecto que incluyen el kernel 2.6 de GNU/Linux.
4. Elegir idioma
5. Seleccionar pas
6. Con
222. rmar mapa de teclado
7. Detectar Hw y cargar componentes.
8. Con
223. gurar la red
9. Particionar discos. Se puede escoger un particionado automatico o si se elige manual, al menos se
han de crear 2 particiones, una raz y otra de intercambio
10. Formar particiones y realizar la instalacion base
11. Instalar el nucleo
12. Instalar el gestor de arranque, se instala Grub como predeterminado. Si se disponen de varios sistemas
operativos se puede especi
224. car un arranque multiple
13. Retirar el DVD y reiniciar para continuar la instalacion
14. Arrancar y con
231. gurar correo
Si durante la instalacion se producen errores o cuelgues se pueden especi
232. car opciones restrictivas al
iniciar el instalador. En mi caso, no consegu que ninguna opcion instalara el sistema en el servidor.
3.3. Debian Woody
En la instalacion se incluyen varias imagenes de nucleos disponibles, la mayora basados en el kernel 2.2.20:
Vanilla: La imagen estandar de Debian Woody, instala el kernel 2.2.20. Incluye casi todos los
controladores soportados por Linux, compilados como modulos.
Compact: Igual que Vanilla, pero eliminando controladores de dispositivo que se usan con menos
frecuencia.
Idepci: Un nucleo que solo soporta dispositivos IDE y PCI (y unos pocos ISA). Se debe usar este
nucleo si los controladores SCSI producen cuelgues al arrancar, debido a con
ictos de hardware o a
un compotamiento inadecuado de los controladores o placas de su sistema.
Bf2.4: Usa el kernel 2.4 y da soporte a hardware nuevo ausente en las otras imagenes. Soporta mas
hardware USB, controladoras IDE modernas, y los sistemas de
233. cheros Ext3 y Reiser.
Esta fue una de las partes mas desesperantes del proyecto, debido a incompatibilidades de Hw, tuve
que instalar un version diferente de la plani
234. cada y al arrancar Debian Woody con cualquiera de los
kernels disponibles, no cargaba el driver adecuado para la pantalla TFT. Esto supuso tener que utilizar
otra pantalla diferente, conectada a la salida VGA del portatil, para realizar toda la instalacion, hasta
poder actualizar el kernel a una version 2.6.
El arranque que utilice fue Bf2.4, para que fuera soportado un mayor numero de dispositivos desde el
inicio, aunque el problema de la pantalla persista.
Este es un peque~no resumen de los pasos a seguir en la instalacion de Debian Woody:
1. Con