UNIVERSIDAD
NACIONAL DEL NORDESTE ARGENTINA
FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA
Licenciatura en Sistemas de Información
SISTEMAS
OPERATIVOS y COMPUTACION V
LINUX
– COMUNICACIONES
AÑO
2001
Integrantes:
TEMAS 
LINUX es un sistema operativo,
compatible con Unix. Dos características muy significativas lo diferencian del
resto de los sistemas que podemos encontrar en el mercado, la primera, es que
es libre, esto significa que no tenemos que pagar ningún
tipo de licencia a ninguna casa
desarrolladora de software por el uso del mismo, la segunda, es que el sistema
viene acompañado del código fuente. El sistema lo forman el núcleo del sistema
(kernel) mas un gran numero de programas / librerías que hacen posible su
utilización.
El sistema ha sido diseñado y
programado por multitud de programadores alrededor del mundo. El núcleo del
sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la
persona de la que partió la idea de este proyecto, a principios de la década de
los noventa.
En los últimos tiempos, ciertas
casas de software comercial han empezado a distribuir sus productos para Linux
y la presencia del mismo en empresas aumenta rápidamente por la excelente
relación calidad - precio.
Las funciones principales de Linux son:
Sistema multitarea En Linux es
posible ejecutar varios programas a la vez sin necesidad de tener que parar la
ejecución de cada aplicación.
Sistema multiusuario Varios
usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al
mismo tiempo.
Shells programables Un shell
conecta las ordenes de un usuario con el Kernel de Linux (el núcleo del
sistema), y al ser programables se puede modificar para adaptarlo a tus
necesidades. Por ejemplo, es muy útil para realizar procesos en segundo plano.
Independencia de dispositivos
Linux admite cualquier tipo de dispositivo (módems, impresoras) gracias a que
cada una vez instalado uno nuevo, se añade al Kernel el enlace o controlador
necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen.
Linux posee una gran adaptabilidad y no se encuentra limitado como otros S.O.
Comunicaciones Linux es el
sistema más flexible para poder conectarse a cualquier ordenador del mundo.
Internet se creó y desarrollo dentro del mundo de Unix, y por lo tanto Linux
tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas
prácticamente idénticos.
Linux puede conectarse con otros
Linux o con cualquier otro sistema usando casi cualquier cosa: cableado serie,
paralelo, modems convencionales, tarjetas RDSI, Frame Relay, redes locales
ethernet ó token ring, radiopaquete (AX.25 para radioaficionados), etc.
Linux dispone de los dos principales
protocolos de red para sistemas UNIX: TCP/IP y UUCP. TCP/IP (Transmission
Control Protocol/Internet Protocol) es un conjunto de protocolos de red que
permite a sistemas de todo el mundo comunicarse en una única red : Internet.
Pero lo que lleva en la sangre es el protocolo TCP/IP, aunque puede acceder
(como cliente o como servidor) a redes basadas en IPX (Novell), AppleTalk
(Macintosh) y SMB (red LanManager para conectar con Windows para trabajo en
grupo, Windows 95 y Windows NT).
La mayoría de las redes TCP/IP
usan Ethernet como tipo de red física de transporte. Linux da soporte a muchas
tarjetas de red Ethernet e interfaces para ordenadores personales. Pero dado
que no todo el mundo tiene una conexión Ethernet en casa, Linux también
proporciona SLIP (Serial Line Internet Protocol, Protocolo Internet en Línea
Serie), el cual permite conectarse a Internet a través de un módem. Para poder
usar SLIP, necesitará tener acceso a un servidor de SLIP, una máquina conectada
a la red que permite acceso de entrada por teléfono. Si su sistema Linux
dispone de conexión Ethernet y de módem, puede configurarlo como servidor de
SLIP para otros usuarios, logrando buenos resultados a pesar de una fuerte
carga de trabajo continuo. De igual forma si posee en Linux una tarjeta de Red
y un módem podrá configurar un servidor SLIP en él.
Mediante NFS (Network File
System) podemos compartir fácilmente ficheros con otras máquinas de la red y
FTP (File Transfer Protocol) nos permite la transferencia de ficheros entre
máquinas.
UUCP (UNIX-to-UNIX Copy) es un
viejo mecanismo usado para transferir ficheros, correo electrónico y noticias
entre máquinas UNIX. Clásicamente las máquinas UUCP conectan entre ellas
mediante líneas telefónicas y módem, pero UUCP es capaz de funcionar también sobre
una red TCP/IP. Si no tiene acceso a una red TCP/IP o a un servidor SLIP, puede
configurar su sistema para enviar y recibir ficheros y correo electrónico
usando UUCP.
Si tenemos una PC que aunque
antigua aun funciona y tiene un puerto serie y algún software de emulación de
terminal podemos intentar conectarlo con un Linux que por ser multiusuario y
multitarea, todos los recursos de memoria, disco, etc. Estarán a la vez
disponibles para compartirlos entre tantos usuarios como puertos serie
tengamos.
Enlazando ordenadores por
puertas serie, paralelo, modems, etc, es posible que un Linux sea el ordenador
principal y otros usuarios accedan a través de simples terminales, de esta
forma es posible aprovechar la capacidad de todos los equipos sumando recursos,
pudiendo desde un equipo acceder a impresoras, discos, etc. de cualquier otro
equipo. El protocolo PPP permite crear una red TCP/IP entre todos ellos, usando
como enlace tanto modems como simples cables.
PPP (Point-to-Point Protocol,
Protocolo Punto-a-Punto) son protocolos muy utilizados para enviar paquetes IP
a través de enlaces serie.
Con la capacidad de servidor de
puertos serie y utilizando el protocolo PPP(Point-to-Point Protocol, Protocolo
Punto-a-Punto) para dar a esas líneas serie la funcionalidad del TCP/IP,
podemos dar servicio de acceso a Internet a los usuarios que se nos conecten
por teléfono.
La implementación actual de
TCP/IP y los protocolos relacionados para Linux se llama "NET-2" que
es la segunda implementación que se hace para Linux.
NET-2 de Linux soporta también
SLIP (Serial Line Internet Protocol).
Las tareas de administración
varían dependiendo, entre otras cosas, del número de usuarios a administrar,
los tipos de periféricos conectados al conmutador, las conexiones de red y el
nivel de seguridad necesaria logrando de esta manera proporcionar a los
usuarios un entorno eficiente, seguro y fiable.
En sistemas pequeños se asigna a
un simple usuario la tarea de administrador. Si se trabaja en un entorno de
red, la administración la realiza un administrador de red.
Todos los sistemas Linux tienen
un sólo usuario que puede realizar cualquier operación en el computador
denominado superusuario, con un nombre especial de entrada llamado root.
Como sabe, UNIX distingue
diferentes rangos de usuarios recibiendo cada uno una cuenta y un directorio
inicial entre otras cosas. Existen cuentas para personas reales y cuentas
especiales, definidas por el sistema, que tienen privilegios especiales, la más
importante de éstas es la cuenta, con el nombre de usuario root.
Los usuarios normales están
restringidos de manera que no puedan dañar a nadie más en el sistema, sólo a
ellos mismos. Los permisos de los ficheros en el sistema están preparados para
que los usuarios normales no tengan permitido borrar o modificar ficheros en
directorios compartidos por todos los usuarios.
El usuario root, en cambio,
puede leer, modificar o borrar cualquier fichero en el sistema, cambiar
permisos y pertenencias en cualquier fichero, y ejecutar programas especiales,
como pueden ser los que particionan un disco o crean sistemas de ficheros. La
idea básica es que la persona o personas que ejecutan y cuidan del sistema
entren como root cuando sea necesario para realizar tareas que no pueden ser
ejecutadas por un usuario normal. Puesto que root puede hacer todo, es fácil
cometer errores que tengan consecuencias catastróficas cuando se trabaja
utilizando esta cuenta.
Por esto la mejor forma de
evitar accidentes es conectarse como root sólo cuando sea absolutamente
necesario. Y desconectarse tan pronto como se haya terminado el trabajo. Cuanto
menos se use la cuenta root, menos posibilidades habrá de dañar el sistema.
Poner en marcha una pequeña red
local de máquinas UNIX es fácil. Sólo requiere una tarjeta Ethernet en cada
máquina y los cables adecuados así como hardware accesorio (terminadores,
etc.).
Si tenemos una red local
enganchada a su vez a un proveedor (académico o comercial), entonces una simple
tarjeta de red y una simple configuración del sistema serán suficientes para
conectar Linux, que actuará como un ordenador Unix cualquiera, con todas sus
ventajas. De hecho en la red encontraremos más de un servidor que esconde un
Linux en sus "entrañas", o que precisamente quien nos esté haciendo
de proveedor de acceso sea un Linux. Pero hay que tener en cuenta también sus
inconvenientes de seguridad: igual que podemos conectarnos desde Linux, es
perfectamente posible que se conecten a nosotros inadvertidamente, por lo que,
salvo que necesitemos mantener abierto algún servicio en particular, es
recomendable cerrar "todas las ventanas" para evitar problemas.
Algunos buenos consejos para un
Linux de uso personal serían:
Crear cuentas para los usuarios
que realmente vayan a usarlo, y asignarles claves difícilmente adivinables (no
hace falta complicarse la vida con claves imposibles, pero tampoco se debería
hacerlo fácil para los intrusos) Hay que hacerse cargo de la clave del administrador
root y procurar mantenerla a salvo. Si se la brindamos a alguien más, uno debe
mentalizarse para que la use con precaución (por otra parte también es una
forma de aprender nociones básicas de administración de sistemas...)
Utilizar un marcador distinto
para la cuenta root. Se debe cambiar el fichero .bashrc o el login de root para
poner el marcador del intérprete a algo distinto del marcador de usuario
normal. Por ejemplo, mucha gente utiliza el carácter "$" como
marcador para los usuarios normales, y reserva el carácter "#" como
marcador para el usuario root.
Uno debe ponerse como root,
editar /etc/inetd.conf y ponerle un signo de comentario (#) a todas las líneas
excepto aquellas que abran servicios que uno necesita mantener accesibles;
luego haz "killall -1 inetd". . Es mas seguro que entrar como un
usuario "raso"(normal) y uses root cuando uno necesita hacer alguna
operación concreta como super-usuario (debe recordar usar exit para volver a el
status normal cuando termine lo que tenía que hacer como super-usuario).
El sistema va dejando muchos
mensajes registrando la actividad de los usuarios y del propio sistema en
múltiples ficheros de contabilidad. Muchos de ellos se centralizan a trabes del
servicio syslogd.
El TCP/IP tiene sus orígenes en
un proyecto de investigación fundado en Estados Unidos por el DARPA (Defense
Advanced Research Projects Agency, Agencia de Proyectos Avanzados de
Investigación en Defensa) en 1969. Esta fue una red experimental, la red
ARPANET, que paso a ser operativa en 1975, después de haber demostrado ser un
éxito.
En 1983, fue adoptado como
estándar el nuevo conjunto de protocolos TCP/IP, y todos los nodos de la red
pasaron a utilizarlo. Cuando ARPANET por fin dio paso a Internet (con la propia
ARPANET integrándose en su existencia en 1990), el uso del TCP/IP se había
extendido a redes más allá de la propia Internet. Las más destacables son las
redes locales UNIX, pero con la llegada de los equipos telefónicos digitales
rápidos, como la RDSI, también tiene un futuro prometedor como transporte en
redes telefónicas.
Otra aplicación muy importante
en redes TCP/IP es NFS, abreviatura de Network File System (Sistema de Ficheros
de Red). Es otra forma de hacer trasparente la red, porque básicamente permite
montar jerarquías de directorios de otras maquinas, de modo que aparezcan como
sistemas de ficheros locales. Por ejemplo, todos los directorios
"home", o personales, de los usuarios pueden estar en una máquina
servidor central, desde la cual montan los directorios el resto de maquinas de
la LAN. El efecto de esto es que los usuarios pueden acceder a cualquier
máquina, y encontrarse a sí mismos en el mismo directorio.
Casi desde el principio existía
ya una implementación de UUCP para Linux; y fue en el otoño de 1992 cuando se
comenzó a desarrollar el soporte de TCP/IP, cuando Ross Biro y otros crearon lo
que ahora se conoce como Net-1.
UUCP es una abreviatura de
Unix-to-Unix Copy (Copia de Unix a Unix). Comenzó siendo un paquete de
programas para transferir ficheros sobre líneas serie, programar esas
transferencias, e iniciar la ejecución de programas en el lugar remoto. Ha
experimentado grandes cambios desde su primera implementación a finales de los
setenta, su principal aplicación es todavía en redes de área metropolitana
(WAN) basadas en enlaces telefónicos.
Hoy día, UUCP ya no está
confinado en el entorno UNIX. Hay versiones comerciales disponibles para
diversas plataformas, incluyendo AmigaOS, DOS, TOS de Atari, etc.
Una de las principales
desventajas de las redes UUCP es su bajo ancho de banda. Por un lado, el equipo
telefónico establece un limite rígido en la tasa máxima de transferencia. Por
otro lado, los enlaces UUCP raramente son conexiones permanentes; en su lugar,
los nodos se llaman entre sí a intervalos regulares.
A pesar de estas limitaciones,
aun hay muchas redes UUCP funcionando en todo el mundo, utilizado
principalmente por aficionados, ya que ofrecen acceso de red a usuarios
privados a precios razonables. La razón fundamental de la popularidad del UUCP
es que es baratísimo comparado con tener el ordenador conectado al Gran Cable
de Internet. Para hacer de su ordenador un nodo UUCP, todo lo que necesita es
un módem, software UUCP, y otro nodo UUCP que desee suministrarle correo y
noticias.
La idea que hay detrás de UUCP
es bastante simple: como su nombre indica, básicamente copia ficheros de un
nodo a otro, pero también permite realizar ciertas acciones en el nodo remoto.
Los protocolos de línea serie,
SLIP y PPP, permiten a los "pobres" tener conexión a Internet. Solo
se necesita un módem y un puerto serie con buffer FIFO.
En Linux hay controladores tanto
de SLIP como de PPP. SLIP es más veterano y por tanto más estable.
En el Linux, la funcionalidad
del PPP esta dividida en dos partes, un controlador de HDLC de bajo nivel
situado en el kernel, y el demonio pppd del espacio del usuario que controla
los diferentes protocolos de control. La versión actual del PPP para Linux es
la linux-ppp-1.0.0, y contiene el modulo PPP para el kernel, el pppd, y un
programa llamado chat utilizado para llamar al sistema remoto.
Al igual que el SLIP, el PPP
esta implementado para la utilización de las líneas. Para utilizar una línea de
serie como enlace PPP, en primer lugar tendrá que establecer la conexión con su
módem, y posteriormente pasar la línea al modo PPP.
En este modo, todos los datos
que nos llegan son pasados al controlador del PPP, que comprueba la validez de
las tramas que llegan las descompone y las despacha.
Siendo el resultado del esfuerzo
concentrado de programadores de todo el mundo, Linux no habría sido posible sin
la red global. Así que no sorprende que ya en los primeros pasos del
desarrollo, varias personas comenzaran a trabajar para dotarlo de capacidades
de red. Casi desde el principio existía ya una implementación de UUCP para
Linux; y fue en el otoño de 1992 cuando se comenzó a desarrollar el soporte de
TCP/IP, cuando Ross Biro y otros crearon lo que ahora se conoce como Net-1.
Después de que Ross dejara el desarrollo
activo en Mayo de 1993, Fred van Kempen comenzó a trabajar en una nueva
implementación, reescribiendo gran parte del código. Este esfuerzo continuado
se conoce como Net-2. En el verano de 1992 salió la primera versión publica de
Net-2d (como parte del kernel 0.99.10), y ha sido mantenida y ampliada por
varias personas, muy especialmente por Alan Cox, dando lugar al Net-2Debugged.
Tras una dura corrección y numerosas mejoras en el código, cambio su nombre a
Net-3 después de que saliese Linux 1.0. Esta es la versión del código de red
que se incluye actualmente en las versiones oficiales del kernel.
Net-3 ofrece controladores de
dispositivo para una amplia variedad de tarjetas Ethernet, así como SLIP (para
enviar trafico de red sobre líneas serie), y PLIP (para líneas paralelo). Con
Net-3, Linux tiene una implementación de TCP/IP que se comporta muy bien en
entornos de red de área local, mostrándose superior a algunos de los Unix
comerciales para PCs.
El desarrollo se mueve
actualmente hacia la estabilidad necesaria para su funcionamiento fiable en
nodos de Internet.
Además de estas facilidades, hay
varios proyectos en marcha que mejoraran la versatilidad de Linux. Un
controlador para PPP (el protocolo punto a punto, otra forma de enviar tráfico
de red sobre líneas serie) está en estado Beta actualmente, y otro controlador
AX.25 para ham radio está en estado Alfa. Alan Cox también ha implementado un
controlador para el protocolo IPX de Novell, pero el esfuerzo para un paquete
de red completo compatible con el de Novell se ha paralizado por el momento,
debido a la negativa de Novell a facilitar la documentación necesaria. Otro
proyecto muy prometedor es samba, un servidor de NetBIOS gratis para Unix,
escrito por Andrew Tridgell.1
Cortafuegos:
Conceptos Básicos
Cortafuegos es el término que se
emplea para referirse a una franja de bosque que se limpia de árboles,
vegetación, y cualquier materia inflamable, con el fin de crear una barrera que
el fuego de un posible incendio no sea capaz de atravesar.
Un cortafuegos en el mundillo de
las redes de ordenadores es un dispositivo lógico que protege una red privada
del resto de la red (pública).
Funcionan así:
Se toma un ordenador con
capacidad de rutar (por ejemplo un PC con LiNUX)
Se le ponen dos interfaces (por
ejemplo interfaces serie, o ethernet, o de paso de testigo en anillo (Token
Ring), etc...)
Se le deshabilita el reenvío de
paquetes IP (IP forwarding)
Se conecta una interfaz a la
Internet
Se conecta la otra interfaz a la
red que se quiere proteger.
Ahora hay dos redes distintas
que comparten un ordenador. El ordenador cortafuegos, al que de ahora en
adelante llamaremos "cortafuegos", puede comunicarse tanto con la red
protegida como con la Internet. La red protegida no puede comunicarse con la Internet,
y la Internet no puede comunicarse con la red protegida, dado que hemos
deshabilitado el reenvío IP en el único ordenador que las conecta.
Si se quiere llegar a la
Internet desde la red protegida, hay que hacer primero un telnet al
cortafuegos, y acceder a la Internet desde él. Del mismo modo, para acceder a
la red protegida desde la Internet, se debe antes pasar por el cortafuegos.
Este es un mecanismo de
seguridad excelente contra ataques desde la Internet. Si alguien quiere atacar
la red protegida, primero tiene que atravesar el cortafuegos. De esta manera el
ataque se divide en dos pasos, y, por lo tanto, se dificulta. Si alguien quiere
atacar la red protegida por métodos más comunes, como el bombardeo de emails, o
el nefasto "Gusano de Internet", simplemente no podrá alcanzarla. Con
esto se consigue una protección excelente.
Inconvenientes
de los Cortafuegos
El mayor problema de los
cortafuegos es que restringen mucho el acceso a la Internet desde la red
protegida. Básicamente, reducen el uso de la Internet al que se podría hacer
desde un terminal. Tener que entrar en el cortafuegos y desde allí realizar
todo el acceso a Internet es una restricción muy seria. Programas como Netscape
(pronúnciese Nescafé), que requieren una conexión directa con la Internet, no
funcionan desde detrás de un cortafuegos. La solución a todos estos problemas
es un Servidor Proxy.
Los servidores proxy son un
invento que permite el acceso directo a la Internet desde detrás de un
cortafuegos. Funcionan abriendo un socket en el servidor y permitiendo la
comunicación con la Internet a través de él. Por ejemplo: si mi ordenador,
drig, estuviera dentro de la red protegida y quisiera ver el Web con Netscape,
pondría un servidor proxy en el cortafuegos. El servidor proxy estaría
configurado para hacer que las peticiones de conexión de mi ordenador al puerto
80 de otra máquina, se conectara a su puerto 1080, y él mismo establecería una
conexión con el puerto 80 de la máquina deseada. A partir de entonces reenviaría
todos los datos de esa conexión a la otra máquina.
Quien haya usado TIA o TERM se
ha encontrado este concepto antes. Con estos dos programas se puede redirigir
un puerto.
Una persona puede tenere TIA
configurado para hacer que quien se conectara a la 192.251.139.21 puerto 4024
lo hiciera a su servidor de Web. El servidor proxy funciona así pero al revés.
Para conectarnos al puerto 80 de cualquiera, debemos usar el puerto 1080 (o
cualquier otro que hayamos dispuesto) del servidor proxy.
Lo importante de los servidores
proxy es que, bien configurados, son completamente seguros. No dejan que nadie
entre a través de ellos.
Buffer Overflow: Es una condición que ocurre, cuando un usuario
o un proceso, intentan colocar demasiados datos en memoria (en el buffer de
almacenamiento del programa), sobrescribiendo el segmento de datos de su
programa, con instrucciones que normalmente devuelven un shell cuyo dueño es
root. Más del 50% de los fallos de seguridad reportados, están asociados a
estas circunstancias, junto al uso de setuid root.
Denial Of Service (DOS): Ocurre cuando un intruso, logra que un
recurso en especial, deje de estar disponible para los usuarios legítimos del
sistema. Constituyen una amenaza a la disponibilidad de datos de quienes
intenten usar el recurso en cuestión, y pueden variar desde impedir conexiones
de red, a consumir todo el ancho de banda disponible en la red.
IP Spoofing: Consiste en enmascarar un host, como si fuese otro. Puede
usarse para encaminar información originalmente destinada a un host, hacia otro
en especial, permitiendo interceptar los datos que estaban destinados a otros.
Port Scanning: Es analizar los puertos activos en un host en particular,
para averiguar si es vulnerable a algún tipo de ataque. Suele ser el paso
previo al ataque.
Packet Filtering: Es un método para filtrar el tráfico de
una red, y se hace entre las interfaces del firewall.
Según las características del paquete,
y de acuerdo a reglas de filtrado preestablecidas, se permitirá su circulación,
o no. La definición de esas reglas, implica un buen conocimiento de los
protocolos de la red.
Proxy Gateway: También llamadas Gateways de
aplicaciones, actúan por cuenta de otro programa. Un host con un servidor proxy
instalado, se transforma en cliente y servidor a la vez, actuando como un
obstáculo entre el destino final y el cliente. Los servidores proxy,
normalmente son pequeñas aplicaciones, diseñadas con cuidado y para fines muy
específicos, y sólo permiten el paso de servicios específicos a través de
ellos. Típicamente, su uso se completa con filtrado de paquetes.
SetUID o SetGID: Archivos que cualquiera puede ejecutar
con los privilegios propios del dueño o de su grupo. Encontrará archivos de
root, con setuid. Eso significa que cualquier usuario, podrá durante la
ejecución del programa (o hasta que el programa internamente abdique ese
derecho), realizar acciones que sólo le están reservadas a root. Estos son los
tipos de archivos más atacados por los intrusos, por sus potenciales
privilegios de root. A menudo asociado con buffer overflows.
Trojan Horse: Un programa que se disimula como si
fuera benigno, cuando no lo es. Al ser ejecutado, suele incluir funciones ocultas,
y damnificando la seguridad del usuario que ejecuta.
Vulnerability: Una circunstancia que compromete la
seguridad del sistema. Existen vulnerabilidades locales y remotas de varios
tipos y bien conocidas, y pueden encontrarse en un equipo, más allá de su rol
en red, poder de cómputo o nivel de conectividad.
Originalmente, Linux fue
desarrollado para ser un sistema operativo de redes, tal como lo es el UNIX
original. Sin embargo, con el correr del tiempo empezó a tener más adeptos entre
los usuarios finales descontentos con Windows. En esta nota te mostramos con
lujo de detalles cómo montar una red.
Linux es un sistema operativo
basado en UNIX. UNIX fue concebido originalmente para administrar redes de
multiples computadoras. Si son usuarios de Linux desde al menos algunos meses,
se habrán dado cuenta de que casi todo el sistema esta orientado y preparado
para trabajar en una red.
Desde el comienzo, el sistema
pregunta por un nombre de usuario y una contraseña. Luego, aparece el concepto
de 'usuario' en el sistema y accedemos a nuestro directorio personal, en donde
guardamos nuestros archivos privados. El sistema en el que estamos trabajando
tiene un nombre, y una dirección de red, aunque sea una computadora solitaria.
Cuando accedemos al entorno grafico, Xwindow carga un cliente y un servidor.
Luego, Xwindow puede cargar KDE o GNOME que estos a su vez, cargan mas clientes
y servidores.
Para montar una red en Linux, o
en cualquier otro sistema operativo, primero hay que definir las necesidades y
los objetivos. Un servidor con procesamiento en paralelo y 256 MB de RAM puede
ser un poder excesivo para manejar cuatro computadoras y un Pentium 133 puede
ser demasiado poco para manejar 15 sistemas simultáneamente. Por esta razón, lo
primero que tienen que hacer es sentarse y definir ciertos puntos básicos
Antes de montar una red, es
necesario tener en cuenta los siguientes puntos:
1. Cuántas computadoras van a
estar conectadas a la red.
2. Cuántos usuarios tendrán
acceso simultaneo a la red.
3. Qué tipo de programas
correrán en la red
4. Cuántos servidores son
necesarios
5. ¿Es necesario dedicar un
servidor especial para la base de datos?
Todas estas preguntas llevan
tiempo e investigación. Es necesario que los administradores, ustedes,
averigüen los requerimientos de hardware del software que van a usar en la red
y los servicios que van a proveer. Todo esto se obtiene leyendo la
documentación de los programas.
Para montar una red se necesitan
básicamente tres componentes: computadoras, cables y un concentrador que se
encargue de interconectar las computadoras. Las computadoras deben tener
instalada una placa de red, que es la encargada de recibir la información y
enviarla por el cable para que las otras computadoras puedan recibirla. Placas
de red pueden encontrar muchos modelos y marcas, a diferentes precios. Las
clásicas Realtek 8139 PCI andan perfectamente con Linux.
Una vez que instalamos las
placas de red en las computadoras, ya podemos conectarlas al Hub (concentrador)
mediante cables UTP . Conectar las computadoras al Hub es realmente sencillo,
simplemente hay que enchufar una de las puntas del cable UTP a la computadora y
la otra a cualquiera de las entradas del Hub.
Luego de haber llevado a cabo
todo esto tenemos todo instalado, es momento en el que uno debe elegir una
distribución de Linux y comenzar a configurar el sistema de red.
Ahora veremos como configurar
los servicios básicos de cualquier red montada sobre un sistema operativo Linux.
Por esta razón, cualquier distribución reconocida Serra apta para manejar
nuestra red. A modo de sugerencia, recomiendo instalar alguna de las
distribuciones más "serias" y renombradas en el ámbito de los
servidores como Slackware (incluida en USERS 119) o Debian.
Para las estaciones de trabajo, quizás sea recomendable instalar una
distribución mas amigable como Red Hat, SuSE (incluida en esta
edición) o Mandrake ya que las herramientas proporcionadas deben ser fácilmente
dominadas por el operador de la estación. De todas formas, el proceso de
configuración no cambiara en lo absoluto ya que configuraremos los archivos a
mano y con un editor de texto convencional (como Emacs o VI). De
esta manera, obtendrán mayor experiencia y después podrán buscar una herramienta
de automatización que se adecue a sus necesidades.
Configuración de la placa de red
Lo primero que debe hacerse en
todas las maquinas de la red (incluyendo al servidor) es configurar el
dispositivo de red. Esto se lleva a cabo mediante el comando modprobe el
cual se encarga de levantar un dispositivo desde el nivel de usuario. El
formato básico del comando modprobe es el siguiente:
modprobe [dispositivo]
El parámetro [dispositivo]
es el nombre del modulo que maneja el dispositivo a cargar. Por ejemplo, para
cargar una placa de red RealTek 8139 (las mas conocidas y baratas del
mercado) solo tienen que tipear el comando modprobe rtl8139.
Ahora bien, es esencial que
sepan el modelo de placa de red que instalaron en la computadora. De otra forma,
encontrar el nombre del modulo Serra un trabajo muy duro. Pueden buscar el
nombre del modulo en la documentación del código fuente del kernel o
directamente en el directorio [DIRECTORIO DE LOS MODULO].
Ya tenemos la placa de red
cargada y lista para ser usada, pero ojo, solo por esta vez. Si apagan la
computadora y vuelven a encenderla, tendrán que cargar el modulo nuevamente.
Para evitar esto, es recomendable editar el archivo /etc/rc.d/rc.local y
agregar como ultima línea el comando modprobe completo para cargar la
placa de red. De ahora en mas, cada vez que el sistema se inicie ejecutara el
modulo de la placa de red.
Para que nuestras computadoras puedan
reconocerse entre ellas, cada una tendrá asignada una dirección. Estas
direcciones son conocidas como direcciones IP. El administrador debe
asignar a cada computadora una dirección IP que consta de 4 números entre 0 y
255 separados por puntos. Pueden elegir cualquier numero menos la dirección 127.0.0.1,
ya que esta es la dirección estándar que apunta a la misma maquina. Supongamos
que nuestra red tiene cuatro maquinas: una configuración recomendable seria
usar la dirección 10.0.0.1 para el servidor 10.0.0.2 para la
primer estación, 10.0.0.3 para la segunda estación y 10.0.0.4
para la tercer estación. No se preocupen, mas adelante asignaremos nombres a
cada una de nuestras computadoras, de forma tal que no sea necesario andar
recordando las direcciones IP de cada maquina.
Cuando cargamos el modulo
controlador de nuestra placa de red, modprobe creo un dispositivo
llamado eth0. Recuerden esto cada vez que necesiten hacer referencia a
la placa de red en algún programa.
Para asignar una dirección IP a
una maquina se utiliza el comando ifconfig de la siguiente forma:
ifconfig eth0 up 10.0.0.1
El primer parámetro indica a
ifconfig que debe trabajar con el dispositivo eth0 (nuestra placa de
red). El segundo parámetro indica a ifconfig que debe cargar una dirección
IP, indicada en el tercer parámetro.
Para verificar que todo este
configurado correctamente, tipearemos el comando ifconfig sin
parámetros. La salida indicara el dispositivo lo0 (loopback) y el dispositivo eth0
con información detallada del mismo. Si no aparece el dispositivo eth0 entonces
tendrán que asegurarse que la placa de red fue correctamente instalada y
cargada por el comando modprobe.
Repetir el mismo paso en cada
maquina, cambiando solamente el ultimo digito de la dirección IP.
Nuevamente los datos se borraran
si apagamos el sistema, por lo que es recomendable agregar también la línea del
ifconfig a nuestro archivo rc.local.
Cada usuarios de cada estación
de trabajo debe poseer su propia cuenta en la misma. De ninguna manera es
recomendable que los operadores trabajen sobre las estaciones como usuarios
'root'. Por esta razón, iremos a cada estación de trabajo, y desde la cuenta
root tipearemos el comando adduser nombredeusuario. Luego de esto, solo
queda asignar una clave de acceso mediante el comando passwd nombredeusuario.
Hasta este punto, cada vez que
tengamos que hacer referencia a una máquina lo tendremos que hacer mediante su
dirección IP (por ej 10.0.0.2). Y si queremos hacer referencia a un usuario,
tendremos que usar algo como usuario@10.0.0.3. Antes ésta situación
tenemos dos opciones. La primera de ellas consiste en instalar un servidor de
DNS, algo que nos llevaría mucho tiempo y esfuerzo.
La segunda opción consiste crear
un archivo /etc/hosts genérico para todas las computadoras. En éste
archivo se listan las direcciones IP de todas las máquinas y sus
correspondientes nombres. Por ejemplo, nuestro archivo /etc/hosts podría
contener la siguiente información:
10.0.0.1 red.servidor
10.0.0.2 red.maquina1
10.0.0.3 red.maquina2
10.0.0.4 red.maquina3
Abran el archivo /etc/hosts
con su editor favorito e ingresen la información que más se adecue a la red que
tienen instalada. De ahora en más, en lugar de hacer referencia a usuario1
usando la notación usuario1@10.0.0.3 podremos hacerlo mediante usuario1@red.maquina1.
Este sistema de nombres nos permitirá crear una estructura fácil de mantener y
recordar.
Configuración de los servidores de red y los servicios.
Los servidores de red y los
servicios son aquellos programas que permiten a un usuario remoto hacer uso de
su máquina Linux. Los programas servidores escuchan en los puertos de red. Los
puertos de red son el medio de llegar a un servicio en particular en una
máquina en particular, y es así como un servidor conoce la diferencia entre una
conexión telnet y otra de FTP que le lleguen. El usuario remoto establece una
conexión de red con la máquina, y el programa servidor, el demonio de red que
esté escuchando en ese puerto, aceptará la conexión y se ejecutará. Hay dos
modos de operación para los demonios de red. Ambos se usan por igual en la
práctica. Las dos maneras son:
autónomo (standalone)
el
programa demonio de red escucha en el puerto de red asignado y, cuando llega
una conexión, se ocupa él mismo de dar el servicio de red.
esclavo del servidor inetd
el
servidor inetd es un demonio de red especial que se especializa en controlar
las conexiones entrantes. Tiene un fichero de configuración que le dice qué programa
debe ser ejecutado cuando se reciba una conexión. Cualquier puerto de servicio
puede ser configurado tanto para el protocolo tcp como para udp
![]()
Número de visitantes actuales disponible desde el 14/07/2002:
Autor: lrmdavid@exa.unne.edu.ar
Ó FACENA - http://exa.unne.edu.ar
Servicios WEB: webmaster@exa.unne.edu.ar