TEMA 4: ADMINISTRACIÓN DE RECURSOS.

 

Contenido de esta lección

Esta lección te ayudará a mejorar el rendimiento de tu sistema, controlando y administrando los recursos del mismo. Se describen los distintos métodos para depurar el rendimiento de los diferentes subsistemas que componen tu Servidor.

Objetivos

Después de esta lección serás capaz de:

 

Tiempo estimado para la lección: 12 horas


4.1 Discos.

4.1.1. Organización lógica de los discos.

Independientemente de la versión de UNIX o Linux que estés utilizando, las unidades de disco siempre son dividas en particiones. Una partición almacena un sistema de ficheros, que consiste en un directorio (llamado "sistema de ficheros de root", que no debes confundir con el directorio raíz de todo el sistema ) y sus subdirectorios. El directorio "root" de un sistema de ficheros, puede ser "montado" (o posicionado) en cualquier punto del sistema de ficheros global. Generalmente el directorio "root" de el sistema de ficheros "/usr" se monta en el directorio /usr, que forma parte del sistema de ficheros de "root". También se suele dedicar una partición de disco al área de intercambio ("swap").

 

4.1.2 Operaciones: formateo y particionado.

Casi todos los sistemas operativos modernos utilizan particiones de disco, y Red Hat Linux no es una excepción. Cuando instales Red Hat Linux, será necesario trabajar con particiones de disco.

Para poder instalar Red Hat Linux, tienes que hacer sitio en el disco duro. Este espacio en diso debe estar separado del que utilicen otros sistemas operativos que tengas instalados como por ejemplo el Windows. Para ello debes dedicar una o más particiones a Red Hat Linux.

La siguiente figura representa un disco duro recién salido de fábrica sin particionar:

No hay mucho que ver, ¿verdad? Pero si estamos hablando sobre unidades de disco en su nivel básico, lo hay. Digamos que nos gustaría almacenar datos en esta unidad. Tal como están las cosas, no funcionará. Hay algo que hacer antes…

Necesitamos dar formato a la unidad. Este proceso (más conocido como «crear un sistema de archivos») escribe información en el disco, creando orden en el espacio vacío del disco sin formato.

Hay que tener en cuenta ciertos aspectos a la hora de dar formato a un disco:

Los diálogos de particionado de disco se usan para decirle al programa de instalación dónde instalar Red Hat Linux. Si estás realizando una instalación «experta», podrás elegir si quieres usar fdisk en lugar de Disk Druid para particionar su disco.

Uso del espacio de disco sin particionar: En esta situación, las particiones ya definidas no abarcan todo el disco duro, quedando espacio sin asignar que no forma parte de ninguna partición establecida. La siguiente figura muestra el aspecto que puede tener:

 

4.2 Sistema de ficheros.

4.2.1 Visión del usuario.

Los sistemas de ficheros en Red Hat Linux se organizan en una jerarquía empezando desde el raíz (/) y siguiendo hacia abajo por una estructura de directorios y subdirectorios. Como administrador de un sistema Red Hat Linux, tienes que asegurate de que todas las unidades de disco que constituyen tu sistema de ficheros están disponibles para los usuarios. También es tu trabajo asegurarte de que hay suficiente espacio en disco, en los lugares adecuados del sistema de ficheros para que los usuarios almacenen la información que necesitan.

 

4.2.2 Visión del sistema: Organización y tipos de sistemas de ficheros.

Antes de que se pueda instalar Red Hat Linux, en el disco duro se dividen diversas áreas para guardar los datos de Linux, el espacio de intercambio y otros sistemas operativos que quieras tener en tú ordenador. Estas divisones se denominan particiones. Puedes visualizar y cambiar tus particiones de disco utilizando el comando cfdisk.

Los sistemas de ficheros no se organizan de forma igual en Linux que en los sistemas operativos de MS Windows por ejemplo. En lugar de letras de unidad (es decir, a:, b:, c:) para cada disco local, sistema de archivos de red, CD-ROM, u otro tipo de medio de almacenaje, todo encaja a la perfección en el sistema de ficheros. Es tarea del administrador crear un punto de anclaje en el sistema de archivos después de conectar el disco a ese punto.

La organización de tu sistema de ficheros comienza cuando instalas Linux. Una parte del proceso de instalación es dividir el disco duro (o discos duros) en particiones. Estas particiones se pueden asignar después a:

Para nuestros propósitos, es preferible centrarse en las particiones que se utilizan para el sistema de archivos de Linux. Para ver que particiones están configuradas actualmente en tu disco duro, puedes utilizar el comando cfdisk.

Tipos de Sistemas de ficheros.

Los tipos de sistemas de archivos que tienen soporte en Linux están especificados en /usr/scr/linux/fs/filesystems.c. Para ver los tipos de sistemas de archivos que están actualmente en uso, escribe cat /proc/filesystems. Los siguientes tipos de sistemas de ficheros son los que tienen actualmente soporte en Linux:

ext2

Es el sistema de archivos más usado en Linux. El sistema de archivos raíz (/) debe ser ext2 o bien minux. También recibe el nombre de sistema de ficheros Second Extended.

ext

Es la primera versión de ext2. Actualmente, ya no se utiliza mucho.

iso9660

Este sistema de ficheros evolucionó desde el sistema de ficheros High Sierra (que era el patrón original para CD-ROM). Añadiendo extensiones a ese patrón (llamadas extensiones Rock Ridge), este sistema puede albergar nombres de fichero largos e información simialr a UNIX (como permisos de archivo, propiedad y vínculos).

minix

Es el sistema de ficheros de Minix, utilizado originalmente en la versión Minix de UNIX. Este tipo sólo tiene soporte para nombres de archivo de hasta 30 caracteres.

msdos

Es un tipo de sistema de ficheros de MS-DOS. Puedes utilizar este tipo para montar unidades de disco que viene con los sistemas operativos de Microsoft.

umsdos

Es un sistema de fivheros de MS-DOS con extensiones para permitir características similares a UNIX (incluidos los nombres de archivo largos).

prov

En realidad, no es un sistema de ficheros, sino una interfaz de sistema de arvhivos para kernel de Linux. Probablemente, no tendrás que hacer nada especial para configurar un sistema de arvhivos proc. Sin embargo el punto de anclaje /proc debería ser un sistema de ficheros proc. Muchas utilidades se apoyan en /proc pra obtener acceso a la información sobre el kernel de Linux.

swap

Se utiliza para partiviones de intercambio. Las áreas de intercambio se utilizan para almacenar datos temporalmente cuando la RAM está llena en esos momentos. Los datos se almacenan en le área de intercambio y despuyés vuelven a la RAM cuando se necesitan otra vez.

nfs

Es el tipo NFS (Network File System). Los sistemas de ficheros que se montan desde otro ordenador en tu red utilizan este tipo.

hpfs

Este sistema de ficheros se usa para llevar a cabo montados de sólo lectura de un sistema de archivo OS/2 HPFS.

affs

Este sistema de ficheros se utiliza en ordenadores Amiga.

ufs

Este sistema de ficheros es bastante popular en los sistemas operativos de Sun Microsystems (Solaris y SunOS).

xenix

Se añadió para ser compatible con los sistemas de archivos Xenix (una de las primeras versiones para PC de UNIX). El sistema está obsoleto y probablemente desaparecerá en breve.

xiafs

Este sistema de ficheros tolera nombres de archivos más largos que otros sistemas como minix.

coherennt

Este es el tipo de sistema de archivos usado con ficheros Coherent o System V. Al igual que xenix, en un futuro no muy lejano se eliminará.

 

 

4.2.3 Operaciones: creación, tipos y control de accesos.

Creación de Sistemas de Ficheros.

Puedes crear un sistema de archivos para cualquier tipo de sistema de ficheros que tenga soporte en Linux, en un discoo o en una partición que elijas. Esto se hace con el comando mkfs. Mientras que éste es principalmente útil para crear sistemas de ficheros en particiones de disco duro, también puedes crear sistemas de ficheros en disquetes. Un ejemplo de este comando sería:

# mkfs –t ext2 /dev/fd0

Cuando se ha terminado el formateo del comando mkfs, se muestran ciertas estadísticas como el número de ínodos y bloques creados. También se muestra el número de bloques por grupo y fragmentos por grupo. Ahora, podrías montar el sistema de archivos utilizando el comando mount.

Montar y desmontar Sistemas de Ficheros.

Muy probablemente los discos duros de tu ordenador local y los sistemas de archivos remotos que utilizas cada día estén configurados para montarse automáticamente cuando arranca Linux. Las definiciones para cada uno de los sistemas de archivos montados se encuentran en el fichero /etc/fstab. Aquí se puede ver un ejemplo de un fichero /etc/fstab:

/dev/sda5

/

ext2

defaults

1

1

/dev/sda6

Swap

Swap

Defaults

0

0

/dev/fd0

/mnt/floppy

Auto

Noauto

0

0

/dev/cdrom

/mnt/cdrom

Iso9660

Noauto,owner,ro

0

0

None

/proc

proc

Gid=5, defaults

0

0

None

/dev/pts

devpts

Mode=0622

0

0

Todos los sitemas de archivos enumerados en este fichero se montan cuando arranca el equipo, excepto aquellos que están establecidos como noauto en el cuarto campo. En este ejemplo, las partiviones de disco duro /dev/sda5 (que alberga el sistema de ficheros raíz) y /dev/sda6 (que es el área de intercambio) se montan cuando arranca el quipo, junto con los sistemas de archivos /proc y /dev/pts (que están asociados con los dispositivos determinados). La unidad de disco ( /dev/fdo) y de CD-ROM ( /dev/cdrom) no se montan cuando arranca el ordenador. Las definiciones para la unidad de disco y de CD-ROM se ponen en el fichero fstab, de forma que pueden ser montadas en el futuro.

El sistema Red Hat Linux ejecuta de forma automática mount -a (montar todos los sistemas de archivos) cada vez que arranca. Por ese motivo, normalmente sólo utilizarás el comando mount para situaciones especiales. Normalmente se usa para:

Cuando hayas terminado de usar un sistema de ficheros temporal, o si quieres desmontar de forma temporal un sistema de archivos permanente, tienes el comando umount. Este comando separa el sistema de arvhivos de su punto de anclaje. Para utilizar umount puedes darle un nombre de directorio o nombre de dispositivo. Por ejemplo:

umount /mnt/floppy

Esto desmonta el dispositivo (probablemente /dev/fd0) del punto de anclaje /mnt/floppy. También podrías hacerlo de esta forma:

umount /dev/fd0

 

4.2.4 Establecimiento de cuotas.

Un espacio en disco limitado puede ser otro causante de llamadas de asistencia al usuario. Un sistema Red Hat Linux estándar no tiene verdaderas cuotas de disco, así que un usuario puede acaparar todo el espacio disponible en un sistema de ficheros, causando problemas al resto de los usuarios.

Puedes detectar qué usuarios consumen más cantidad de disco con el comando du, sin embargo comprobar periódicamente el uso que hace cada usuario del espacio en disco puede convertirse en una tarea realmente tediosa.

Este método de aplicar cuotas tiene algunas ventajas sobre los mecanismos incorporados al sistema operativo. Las cuotas incorporadas evitarán que un usuario siga creando ficheros cuando ha excedido su cuota. Para ese usuario, será como si el disco duro estuviera lleno. Esto supondrá más llamadas de usuario al administrador del sistema, pero con un fichero de comandos como éste, los usuarios pueden exceder de forma temporal la cuota si lo necesitan; simplemente se les importunará con mensajes automáticos de correo electrónico hasta que reduzcan a límites aceptables el uso de los recursos.

4.2.5 Control de integridad de los sistemas de ficheros.

¿Qué puedes hacer para minimizar los daños si, a pesar de todos tus esfuerzos, un cracker consigue el acceso a tu sistema? Lo más probable es que borre o modifique los registros de tu sistema, convirtiendo en tarea imposible saber a ciencia cierta hasta donde ha llegado. Los programas importantes del sistema pueden haber sido reemplazados con troyanos. A lo mejor han ocultado puertas traseras en la seguridad. Examinar y reparar los daños a mano puede ser un proceso agotador.

No basta con restaurar el sistema desde las copias de seguridad, ya que no sabes con seguridad cuando entró el cracker. Las puertas traseras y los troyanos pueden llevar algún tiempo en tu sistema y, por lo tanto, ya están en tus copias de seguridad. La idea de reinstalar todo el sistema operativo desde cero empieza a ser tentadora.

Sin embargo, ántes de recurrir a esta solución puedes utilizar la herramienta Tripwire (cable trampa) que comprueba la integridad de los ficheros. Esta herramienta puede detectar si los programas importantes o ficheros de configuración han sufrido modificaciones, lo que te permitirá reparar o sustituir los ficheros alterados sin tener que recurrir a una nueva instalación completa del sistema. Trabaja mediante una base de datos de sumas criptográficas de verificación, de cada fuchero importante de tu sistema. Una suma criptográfica de verificación es un único número creado a través de un algorítmo matemático especial. Si cambia un solo byte en el fichero, cambiará también, el número de la suma de verificación que este genera. Así comparando la suma de verificación actual de un fichero con las sumas anteriores almacenadas en una base de datos, es posible saber si el fichero a sufrido modificaciones.

 

4.3 Impresoras y colas de impresión.

En Red Hat Linux las impresoras están configuradas utilizando el servicio LPRng. Como usuario root no tienes mucho control sobre la configuración de las impresoras. Sin embargo, puedes comprobar qué impresoras están disponibles, elegir qué impresora va a imprimir, comprobar el estado de las colas de impresión (documentos que esperan ser impresos) y eliminar cualquiera de los trabajos en su cola de impresión.

En Red Hat Linux lpr es el comando shell que se utiliza para imprimir ficheros. Mientras que algunos comandos de formato de texto pueden imprimir automáticamente su salida cuando han terminado, si dispones de un fichero que tiene formato, utiliza lpr para imprimirlo.

Por ejemplo, si tienes un fichero de salida Post Script (fichero.ps) y quieres imprimirlo en una impresora PostScript (distinta de la impresora por defecto), tendrás que utilizar el comando de la siguiente forma:

$ lpr fichero.ps -Pimpresora

Colas de impresión.

Para comprobar el estado de los trabajos que se han puesto en cola, puedes utilizar el comando lpq. Por sí mismo lpq imprime un listado de los trabajos que están en la cola de la impresora por defecto. Por ejemplo:

$ lpq

Rank

Owner

Job

Files

Total Size

1st

root

0

(standard input)

625 bytes

2st

root

1

Memo1.ps

12273 bytes

3st

tula

5

kk.out

10880 bytes

La salida desde lpq muestra los ficheros que esperan ser impresos. Rank enumera el órden que guardan en la cola. Owner es el usuario que mandó ese trabajo a la cola. Job muestra el número de trabajo. En la columna Files se muestra el nombre del fichero o salida estándaar (si el fichero se redirigiera a lpr). Total Size muestra el tamaño del fichero en bytes.

Puedes añadir opcioes a lpq para imprimir diferentes tipos de información. Añadiendo al comando -Pimpresora, puedes ver la cola de cualquier impresra disponible. Puedes también añadir el número de trabajo (para ver el estado de un trabajo de impresión determinado) o bien un nombre de usuario (para ver todos los trabajos en cola de un usuario)

 

4.3.1 Visión general del subsistema de impresión: spool de impresión.

El sistema LINUX incluye un potente spooler de impresión que gestiona las impresoras instaladas en el sistema. Puedes enviar la salida a cualquier impresora instalada especificando el nombre de la impresora cuando quieras imprimir un trabajo. El trabajo no se imprimirá inmediatamente, pero tampoco tendrás que esperar a que el archivo se imprima para mandar a imprimir otro trabajo, ya que es un proceso que se ejecuta en "background". El comando de impresión realiza un "spool" de la entrada al sistema de impresión de LINUX. Esto significa que al sistema de impresión se le informa de qué archivo imprimir y cómo imprimirlo, y él se encarga de realizar el trabajo.

4.3.2 Configuración del subsistema de impresión.

El fichero /etc/printcap define la manera en que el comando lpr va a procesar los distintos trabajos de la cola de impresión.

Si le hechas un vistazo al fichero /etc/printcap, verás que las líneas que comienzan no comienzan por ":" o "|" y que no sean comentarios ("#"), son el comienzo de definición de una impresora. Cuando encontremos una barra invertida ("\") al final de las líneas, quiere decir que continúan en la siguiente línea.

Las definiciones de las impresoras en el fichero deben tener una estructura similar a esta:

acct|xerox-ac:\
        :sd=/var/spool/lpd/acct:\
        :mx#0:\
        :rm=xerox-ac.redhat.com:\
        :rp=lp:\
        :if=/var/spool/lpd/filter.d/filter:

La definición de impresora comienza con el nombre de la impresora, a continuación puede haber cualquier otro nombre alternativo de impresora. (Solo en caso de que existan nombres alternativos)

Después de esto, aparecerá una serie de palabras clave a las cuales se le asignan unos valores. Cada clave se separa de las demás mediante ":". Las claves pueden tener un número indefinido de caracteres.

La herramienta de configuración de impresión (printtool) mantiene el fichero /etc/printcap, los directorios del spooler de impresión, y los filtros de impresión.

Figura 4.1 - Herramienta de configuración de impresión (printtool)

Los filtros te permiten imprimir muchos tipos diferentes de ficheros, incluyendo:

En otras palabras, los filtros hace que al imprimir un fichero GIF o RPM, utilizando el comando lpr, el resultado en la impresora sea el que debe ser.

 

 

Figura 4.2 - Configurando filtros

4.3.3 Control del subsistema de impresión.

A veces no sale nada de una impresora y no tienes ni idea del porqué. El comando lpc es un comando de estado de impresora que te puede dar alguna pista de lo que ocurre con una impresora. El comando lpc está pensado para administradores, así que no estará en el PATH por defecto. Para ejecutar el comando lpc tendrás que escribir el path absoluto:

# /usr/sbin/lpc

lpc> status

lp:

queueing is enabled

printing is enabled

4 entries in spool area

waiting for queue to be enabled on papadopoulus

lp0:

queueing is enabled

printing is enabled

no entries

no daemon present

lpc>

Cuando el comando vuelva al prompt lpc>, escribe la palabra status. Este ejemplo muestra el estado de las dos impresoras: lp y lp0. La impresora lp tiene cuatro trabajos esperando a imprimirse. Aunque la cola y la impresión no está activada. (Es una impresora remota en un ordenador llamado papadopoulus que puede estar caído o desactivado.). La impresora lp0 parece que trabaja correctamente. No tiene trabajos de impresión en espera.

A veces resulta útil poder eliminar trabajos de impresión de la cola. Puedes utilizar el comando lprm. Por ejemplo, para eliminar todos los trabajos de impresión del usuario tula (suponiendo que eres el usuario root):

# lprm tula

El usuario root puede eliminar todos los trabajos de impresión de la cola de la siguiente manera:

# lprm -

También puede eliminar trabajos de impresión en una cola de una impresora determinada (-Pimpresora) o un número de trabajo de impresión en concreto, añadiendo el número de trabajo a la línea de comando lprm.

 

 

 

 

4.4 Servicios de red.

Desde casa o desde una red local, puedes conectar con otros ordenadores Linux, Windows, NT y Macintosh, de forma que puedas compartir tus sistemas informáticos (ficheros, impresoras y dispositivos).

Este capítulo te ayudará a configurar tu propia red de área local (LAN). Los procedimientos descritos aquí proporcionan los conocimientos necesarios para compartir los recursos informáticos en tu casa o cualquier red LAN.

4.4.1 Directrices de configuracióin de una red.

Crear una LAN y configurarla para que sea realmente útil está compuesto de tres partes:

  1. Configurar el hardware: Esto entraña elegir una topología de red, adquirir el equipo el equipo necesario e instalarlo (añadir tarjetas y conectar cables)
  2. Configurar Ethernet: Red Hat Linux debe ser capaz de reconocer la tarjeta Ethernet de tu ordenador, instalar un controlador para ella y habilitar su uso bajo Linux. (En lo que respecta a las tarjetas con soporte, esto se realiza fácilmente durante la instalación de Red Hat Linux.) Ethernet es el protocolo que permite que un equipo mande mensajes de un equipo a otro.
  3. Configurar TCP/IP: Para usar la mayoría de las aplicaciones de trabajo en red y las herramientas que vienen con Red Hat Linux, debes configurar TCP/IP. Este protocolo no sólo te permite comunicar los ordenadores de una LAN, sino también cualquier otro equipo que pueda conectar con esta LAN, módem, etc.

Este tema se centrará en Ethernet como red subyacente, ya que es el protocolo LAN más utilizado con diferencia. Los protocolos son las normas de las comunicaciones entre ordenadores.

Ethernet es un tipo de red CSMA-CD, que son las iniciales de Carrier Sense Multiple Access with Collision Detection, "Acceso de portadora de sentido múltiple con detección de colisiones". En este tipo de red, los datos se emiten a la red para que todos los vean y después, los tome el ordenador destinatario de la información. La parte de detección de colisiones es lo que ayuda a la red a detectar y a recuperarse de una colisión de datos (dos equipos emitiendo al mismo tiempo)

Además de Ethernet, necesitas configurar TCP/IP. Es el patrón que define los protocolos y los esquemas de direcciones (nombres y direcciones únicas) que permiten a los ordenadores interaccionar a escala mundial. TCP/IP es un protocolo de transporte. Esto significa que proporciona un servicio de conexión de extremo a extremo entre ordenadores host.

 

4.4.2 Configuración de una red TCP/IP.

Cada ordenador que comunique (incluyendo tu ordenador) debe tener al menos una dirección de red. En TCP/IP, cada ordenador necesita que se le asigne una dirección IP y (normalmente) un nombre de host.

Red Hat Linux te permite introducir tu dirección IP y tu nombre de host durante la instalación o más tarde usando Configuración de red (comando netcfg). También puedes utilizar Configuración de Red para introducir los nombres y las direcciones IP de los ordenadores que quieres comunicar.

Hay varias formas de obtener las direcciones IP y los nombres de host. Para una red privada grande, DHCP se utiliza para distribuir automáticamente las direcciones IP cuando se inicia cada ordenador. Esto supone que hay que el administrador tiene que configurar un servidor DHCP para gestionar el conjunto de las direcciones IP de red.

Cuando la red utiliza direcciones estáticas, puedes establecer las rutas de acceso a los diferentes ordenadores de la LAN añadiendo sus direcciones IP a tu fichero /etc/hosts .



Nota: Un ordenador puede tener más de una dirección IP debido a que puede tener más de una tarjeta de red. Cada tarjeta debe tener una dirección IP.

Para definir tu dirección IP para tu tarjeta eth0, sigue este procedimiento:

1º Inicia la Configuración de red. Como usuario root desde una ventana de terminal, teclea netcfg. Aparecerá la ventana de configuración de red.

2º Haz clic sobre la pestaña Interfaz (Interfaces). Aparecerá una lista de las interfaces de red.

3º Haga doble clic sobre la pestaña Interfaz eth0. Aparecerá una ventana emergente como la que se muestra a continuación.

4º Añade la dirección IP para el interfaz eth0, selecciona Activas interfaz durante el inicio (Activate interface at boot time) si quieres que ethernet esté disponible todo el tiempo, y después presiona el botón "Done".

5º Elige la opción de guardar configuración actual (Save).

6º Haz clic en la opción Salir (Quit)

4.4.4 Servicios de red: NFS, FTP, TELNET y correo electrónico.

El NFS (Network File System) permite compartir sistemas de ficheros entre varios equipos. NFS es casi transparente al usuario y no se pierde información si un servidor de NFS se viene abajo. Los clientes sólo tienen que esperar a que el servidor vuelva a estar activo y continuar como si nada hubiese pasado.

Red Hat Linux conecta indivisiblemente sistemas de archivos múltiples de discos duros, disquetes, CD-ROM y otros dispositivos locales para formar un único sistema de archivos LINUX. La utilidad NFS te permite ampliar tu sistema de archivos Linux de la misma forma, con el fin de conectar también sistemas de archivos de ortos ordenadores a tu estructura de directorios local.

Crear un servidor de ficheros NFS es una forma sencilla de compartir grandes cantidades de datos entre usuarios y ordenadores dentro de una organización.


Nota: Mucha gente utiliza el término sistema de archivos a la ligera. Un sistema de archivos es generalmente la estructura de ficheros y directorios que existe en un dispositivo (como una partición de disco duro o un CD-ROM). Sin embargo, cuando hablamos de sistema de archivos Linux, nos referimos a toda la estructura de directorios (que puede incuir sistemas de archivos de varios discos o recursos NFS), comenzando desde raíz (/), de un ordenador. Un directorio NFS compartido puede representar todo o bien una parte del sistema de archivos de un ordenador, el cual se puede conectar (desde el directorio compartido hacia abajo en el árbol de diectorios) al sistema de archivos de otro ordenador.


Hace ya bastantes años que el Protocolo de transferenciua de archivos (File Transfer Protocol, FTP) se convirtió en el método estándar para poder compartir archivos en Internet.

Las aplicaciones para compartir ficheros, como NFS o Samba, son excelentes herramientas para compartor ficheros y directorios en una red privada. Sin embargo, para las organizaciones que necesitan compartir un elevado número de ficheros en las redes públicas, el software de servidor FTP proporciona herramientas más robustas para poder compartir ficheros y para proteger sus sistemas informáticos. Asimismo, el software cliente FTP (para acceder a servidores FTP) está disponible para cualquier tipo de ordenador que pueda acceder a una red.

Los primeros servidores de FTP datan del año 1971, siendo anteriores a Internet en más de 10 años. FTP se creó en una época en la que la mayoría de la informática se realizaba en grandes ordenadores y minicomputadores. Las plataformas predominantes que utilizaban FTP eran sistemas UNIX.

FTP nació para satisfacer la necesidad de publicar documentos y software para que se pudieran conseguir fácilmente de otros ordenadores. En el servidor FTP los ficheros están organizados en una estructura de directorios; los usuarios pueden conectar con el servidor a través de una red (normalmente internet), desplazarse por la estructura hasta encontrar los ficheros que les interesan y descargarlos desde el servidor (o posiblemente colgar ficheros de él).

Originalmente un inconveniente de los servidores FTP era que la gente que buscaba un fichero o un documento en Internet tenían que saber qué servidor FTP tenía los ficheros que estaba buscando. Las herramientas como Gopher y WAIS ayudaban en esas búsquedas. Sin embargo, con la llegada de la WEB, los usuarios se pueden apoyar en una multidtud de motores de búsqueda y páginas WEB que les ayudan a localizar el servidor FTP que contiene los ficheros que desean.

El hecho de que FTP se pusiera en marcha en grandes sistemas UNIX multiusuario es el responsable de muchas de las decisiones de diseño que siguen siendo parte de FTP en la actualidad. Como versión gratuita más popular de UNIX, Linux en general se ha aprovechado de las características FTP, fruto de años de pruebas y lecciones aprendidas en otras versiones UNIX de FTP. A continuación, enumeramos algunos de los atributos de servidores FTP.

Como administrador de un servidor FTP, serás responsable de garantizar que compartes los ficheros de forma que la gente tenga acceso a la información que quieres que tengan, sin comprometer la seguridad de tu sistema. Esto significa aplicar una estricta política de seguridad y supervisar constantemente el sistema para impedir que se abuse de él.

Telnet es un servicio suministrado por muchos tipos diferentes de sistemas informáticos en redes TCP/IP. El comando telnet es el programa cliente que se usa para realizar un inicio de sesión remoto. La forma más común de usar telnet es con un nombre de host. El siguiente ejemplo es una sesión típica de telnet:

telnet maple

Trying 10.0.0.11 ...

Connected maple

Red Hat Linux release 7.0

Kernel 2.2.16-17smp on an i686

Login:tula

Password:

Last login: Mon Dec 18 13:15:57 from pine

$

En este ejemplo se muestra qué ocurre cuando se utiliza el comando telnet para registrarse desde un ordenador llamado pine a un ordenador llamado maple escribiendo telnet maple. Mi ordenador intenta conectar con el puerto telnet de maple (dirección 10.0.0.11). Como maple también es un ordenador Red Hat Linux, cuando la conexión se ha establecido, veo el login: prompt estándar. Escribo el nombre de usuario (tula) y la contraseña, veo el prompt del shell de usuario.

El servicio telnet está disponible por defecto en sistemas Red Hat Linux. Por consiguiente, si puedes alcanzar el sistema Linux desde tu LAN o conexión a Internet, pudes intentar iniciar una sesión usando telnet. (Por supuesto necesitas el nombre deusuario y la contraseña para pasar el promprt de inicio de sesión). Es posible que otros sistemas informáticos remotos no tengan el servicio telnet activado por defecto. Si intentas conectar mediante telnet con tu sistema Windows 95, probablemente veas un mensaje de conexión rechazada.

Hace dos décadas el correo electrónico no era más que un medio para mandar un mensaje a una persona en el mismo miniordenador. Hace diez años, era simplemente un flujo de texto que intercambiaban investigadores y científicos. Actualmente los mensajes electrónicos forman parte de la columna vertebral de la comunicación, el centro neurálgico del intercambio de información dentro del mundo de la empresa, con independencia del tamaño de la misma. Todo el mundo usa el correo electrónico, desde salas de correo, pasando por los laboratorios, hasta las oficinas de los presidentes de empresas.

El marco del protocolo SMTP (Simple Mail Transfer Protocol, Protocolo de transferencia simple de correo) se describió inicialmente en RFC allá por el año 1982. El propio protoclo fue ampliado en 1993 (por RFC 1425), dando lugar el protocolo ESMTP (Extended Simple Mail Transfer Protocol), que proporciona comandos adicionales y nuevos modos de entrega.

Las tres partes de la transferencia del mensaje son: MTA (Mail Transfer Agent, Agente de entrega de correo) y el MUA (Mail User Agent, Agente usuario de correo). El MTA es el que normalmente se denomina Servidor de Correo (como por ejemplo sendmail) y gestiona la distribución del correo saliente y se mantiene a la espera del correo entrante desde Internet. El MDA acepta los mensajes del MTA y copia el mensaje a un buzón de correo de usuario. Red Hat Linux usa /usr/bin/procmail como el MDA por defecto, como se especifica en el fichero de configuración de sendmail. En lo que respecta a los sitios con servidor de correo centralizado, los clientes POP (Post Office Protocol), también se consideran MDA. Un MUA es el programa que un usuario ejecuta para leer el correo entrante o para enviar mensajes a otros.

 

4.5 Terminales y modems.

4.5.1 Aspectos hardware de terminales: tipos y señales de control.

Los terminales remotos utilizados para máquinas LINUX han sido históricamente disposivos serie, ASCII, sólo de caracteres, que pueden conectarse a un puerto serie tty, generamente denominado COM1 o COM2.

Estos puertos de comunicaciones asíncronas no pueden soportar terminales gráficos sin el soporte de rutinas de dispositivo especiales, pero muchos tipos de terminales ASCII pueden conectarse a máquinas LINUX si la base de datos terminfo incluye una descripción del terminal en cuestión. Además a estos puertos pueden conectarse modems externos, de modo que usuarios remotos con modems pueden conectarse al sistema LINUX. En cualquier caso, no se requieren rutinas de dispositivo ni software adicional.

 

4.5.2 Configuración local de terminales.

Cuando conectas un terminal al Servidor Linux, debes proporcionar un medio de comunicación entre ambos. Si se encuentran cerca el uno del otro puedes conectarlos mediante una red local o mediante un cable al puerto serie.

Antes de conectar nuevos terminales al sistema, debes conocer de cuantos puertos serie dispone y cuántos están ya conectados. La información se encuentra en tres archivos donde Linux tiene configurado si un puerto serie está activo, cuáles son las características del puerto y del terminal conecto a este puerto y si se conoce el tipo de terminal que puede estar conecto al puerto. Estos archivos son /etc/inittab, /etc/gettydefs y /etc/ttytype.

Una vez activados los puertos que vas a utilizar, necesitas indicar los tipos de terminales que conectarás a dichos puertos. Estas definiciones se encuentran en el archivo /etc/ttytype.

Esta archivo contiene entradas con los siguientes datos:

ansi console

ansi tty01

ansi tty02

ansi tty03

ansi tty04

ansi tty05

ansi tty06

ansi tty07

ansi tty08

ansi tty09

ansi tty10

ansi tty11

ansi tty12

unknown tty1a

unknown tty2a

dialup ttyp0

dialup ttyp1

dialup ttyp2

dialup ttyp3

dialup ttyp4

dialup ttyp5

dialup ttyp6

dialup ttyp7

 

El primer campo de cada línea describe el tipo de terminal y el segundo campo el nombre del puerto al que se va a conectar el terminal.

En este ejemplo, el dispositivo de la consola está definido como un terminal ANSI. Como mencionamos anteriormente, la designación ANSI implica que el tipo de ubicación y desplazamiento que van a seguir los caracteres sobre la pantalla siguen el estándar de las normas descritas por el American National Standards Institute. ANSI es conocida y aceptada ampliamente, esta designación seguramente es válida para tu equipo, pero si por alguna razón no lo fuera, consulta con tu proveedor para más detalles.

Los valores por defecto para tty1a y tty2a, indican que los terminales conectados a estos dispositivos son de un tipo desconocido (unknown). La designación unknown no significa que Linux no conozca nada del terminal, sino que el terminal tiene unas características muy limitadas.

Linux posse un fichero llamado /etc/termcap donde se describen las características de todas las terminales que conoce. Si no encuentras en el archivo termcap una definición para tu terminal o compatible, puedes utilizar la definición de terminal unknown o dumb.

      1. Instalación de terminales en el sistema.
      2. Después de haber instalado un terminal en tu sistema, supervisar su utilización o modificarla es relativamente sencillo. Conocido el número de teléfono del sistema, un login t un password, un usuario de Linux puede conectar culquier terminal con un módem e intentar acceder al sistema. Además, un conjunto de usuarios remotos con diferentes tipos de terminal pueden necesitar acceso desde el mismo puerto o puertos. La solución de esta situación dependerá de cómo se esté utilizando tu sistema y por quién.

        Si tus usuarios pueden configurar el tipo de terminal, tienes que proporcionarles una lista de todos los tipos de terminales válidos que hay en el sistema (serán los que aparezcan en /etc/termcap) e indicarles que activen su tipo de terminal una vez hecho el login de la siguiente forma:

        TERM=<código del terminal>; export TERM

      3. Instalación de modems en el sistema.

La mayoría de las personas, incluso muchos pequeños comercios que necesitan conectarse a Internet, lo hacen utilizando módems y líneas telefónicas. Un modem se conecta a un puerto serie (COM1, COM2, y demás) en el ordenador y después al conector de la línea telefónica. El equipo llama con el módem a tu proveedor de servcios de Internet o a la empresa que te proporciona la conexión a Internet.

Los dos protocolos más comunes para hacer una conexión a Internet (o para otra red TCP/IP) de acceso telefónico son el Protocolo Punto a Punto (PPP) y Protocolo de Internet de Línea Serie (SLIP). De los dos, PPP es el más popular y el más fiable. SLIP, sin embargo, lleva circulando mucho tiempo.

Para establecer una conexión remota PPP, necesitarás conocer alguna información del administrador de la red a la que estás conectando:

Antes de comenzar con cualquiera de los dos procedimientos de conexión telefónica, debes conectar físicamente el módem a tu ordenador y a la línea telefónica. Después de que el módem esté conectado reinicia Red Hat Linux para que éste pueda automáticamente detectar y configurar el módem.

Para configurar un módem y una conexión telefónica desde el escritorio GNOME, debes utilizar la Herramienta de Configuración de Acceso Telefónico. Para poder iniciarla, escoje Programas, Internet, Herramienta de Configuración de Acceso Telefónico desde el menú GNOME. Aparecerá un asistente de conexión para ayudarte en la configuración de la conexión telefónica PPP.

El procedimiento de instalación sería el siguiente:

  1. Desde la ventana Añadir Nueva conexión a Internet que aparece, haz clic en siguiente para continuar. Si no tienes ningún modem configurado se te preguntará si quieres configurar uno.
  2. Haz clic en Siguiente para configurar el módem. Una ventana emergente buscará el módem en tu ordenador. Si encuentra el módem, su localización se pondrá en la ventana de Introduzca un módem. De otro modo, deberás introducir la localización del módem de forma manual.
  3. Selecciona el módem que quieres de la lista de módems encontrados (probablemente, uno solo), haz clic en Guardar este módem, haz clic en Siguiente para continuar. Aparecerá una ventana, preguintando por el nombre de tu cuenta y el número de teléfono.
  4. Introduce el nombre e la cuenta (cuqlquier nombre para identificar la cuenta) y el número de teléfono del ISP al que deseas llamar. Haz clic en Siguiente pra continuar. La ventana te preguntará el nombre del cuenta y la contraseña. Aparecerá la ventana de Otras Opciones.
  5. Selecciona ISP normal (a no ser que tu ISP aparezca en la lista, en tal caso, sólo tienes que seleccionarlo). Haz clic en Siguiente para continuar. Aparecerá la ventana de Crear Cuenta.
  6. Si toda la información parece correcta, haz clic en Finalizar (sino, haz clic sobre el botón Atrás para cambiar cualquier información). El tipo de conexión completada aparecerá en la ventana de Conexiones a Internet.
  7. Para comprobar tu conexión selecciona tu nueva cuenta PPP y haz clic en el botón de Depurar. La ventana que aparece te muestra cómo se inicia el marcador de Internet y llama a tu ISP.

 

Para configurar una conexión telefónica PPP desde el escritorio KDE, utiliza la ventana kppp. Para abrir esta ventana, escoje Internet, Conexión a Internet desde el menú de KDE. Entonces haz clic en el botón de Configuración. Aparecerá una ventana tal y como se muestra en la figura.

  1. Desde la ventana de Configuración de kppp (Pestaña Conexiones), haz clic en el botón de Nueva. Aparecerá la ventana de nueva Conexión.
  2. Desde la pestaña Marcar, añade la información que te vaya pidiendo según se describió anteriormente. (Nombre de Conexión, Número de Teléfono, Autentificación, etc…)
  3. Haz clic en la pestaña Dirección IP. Las opciones son que el ISP utiliza direcciones IP asignadas por el Servidor. Si el ISP te dió una IP estática, entonces haz clic sobre el cuadro de Dirección IP estática y teclea la dirección y la máscara de red.
  4. Haz clic sobre la pestaña del Servidor de Nombres. Aquí es donde debes introducir el nombre de dominio y las direcciones IP del servidor DNS.
  5. Haz clic en OK. La nueva cuenta aparecerá en el cuadro de Configuración de Conexiones.
  6. Haz clic en la pestaña Dispositivos serie. Selecciona el dispositivo de módem que será utilizado para la conexión. Para el puerto COM1, selecciona /dev/ttyS0 o para COM2 selecciona /dev/ttyS1.
  7. Haz clic en OK para salir de la ventana de kpp.
  8. Desde la ventana principal de kppp (la cual debería estar todavía en tu pantalla), comprueba que tu nueva conexión aparece en la ventana de Conectar con. La primera vez que intentes la conexión, haz clic en el cuadro de Mostrar Ventana de Log. Teclea tu identificación y contraseña de la cuenta de tu ISP.
  9. Haz clic en Conectar. La ventana de Depuración del Script de Conexión te guiará a través de los procesos de inicialización del módem, marcado y realización de la conexión PPP.

4.5.5 Accesos remotos.

Un cortafuegos ("firewall") es una barrera física que evita que un incendio se extienda. Los cortafuegos informáticos, también son llamados servidores de seguridad, cumplen una función similar, los incendios que pretenden bloquear son los ataques de los cracker desde Internet. Si nuestro servidor se encuentra conectado de alguna forma a Internet, será necesario controlar quien accede remotamente a nuestro sistema, esto se hace instalando un cortafuegos o servidor de seguridad que es un dispositivo físico de hardware que se ubica entre la red privada e Internet, regulando y controlando el flujo de información.

Los dos tipos fundamentales son el servidor de seguridad de filtrado y el servidor de seguridad Proxy. A menudo se emplean los dos para proteger una red. Incluso un único dispositivo de hardware puede realizar ambas funciones.

Servidores de seguridad de filtrado.

Un servidor de seguridad de filtrado hace lo que su nombre indica: filtra el tráfico entre la red e Internet, bloqueando determinadas cosas que pueden poner en peligro tu red. Puedes limitar el acceso a y desde Internet a ordenadores espcíficos de tu red. También puedes restringir el tipo de comunicación, permitiendo o denegando selectivamente diversos servicios de Internet.

Normalmente, el enrutador (router) que conecta tu red a Internet actúa como servidor de seguridad de filtrado. Linux tiene la capacidad de conectar directamente a Internet y actuar incluso como un enrutador de Internet, permitiendo a otros ordenadores de tu red comunicar con Internet a través de tu servidor Linux.

Servidores de Seguridad Proxy.

Un servidor de seguridad Proxy no permite el tráfico directo de red. En lugar de eso, actúa como intermediario entre Internet y los ordenadores de tu red interna. El servidor de seguridad se ocupa de los diversos servicios de red en ligar de dejarlos pasar a través de ñel. En este sentido, es un "proxy" para los sistemas que emiten la solicitud.

Por ejemplo, supongamos que solicitas una página WEB desde un ordenador de tu red privada. En lugar de conectar directamente con el servidor WEB de Internet que suministra la página, tu ordenador conecta con un servidor Proxy en tu propia red. Este servidor reconoce la petición WEB a través del proxy y la pasa al servidor WEB de Internet en la forma común. El servidor WEB remoto la ve como una solicitud WEB normal procedente del servidor de seguridad (mo de tu ordenador), y suministra la página correspondiente. El servidor de seguridad remite la página a tu ordenador.

De esta forma, el servidor de seguridad "oculta" al servidor de Internet incluso hasta el hecho de que tu ordenador existe. Además, un servidor de seguridad proxy procesará generalmente todas las conexiones entrantes desde Internet (como tráfico WEB, descargas FTP y entregas de correo electrónico). Esto te sirve para minimizar la visibilidad que tiene el mundo exterior de tu red interna.

 

Ejercicios resueltos.