1

Network Applications
Capítulo 1 Introducción a las redes TCP/IP
Conceptos clave
•
•

•
•
•
•

•

La mayoría de los serv...
2

Network Applications
El servidor
Los vendedores y los servicios de red efectivos comparten las siguientes característic...
3

Network Applications
coincidencia que la cantidad de información pueda codificarse en un byte de memoria)
y tradicional...
4

Network Applications

En el protocoloTCP/IP, un socket se define como la combinación de una dirección IP y
el número de...
5

Network Applications
convino que el puerto 80 era el apropiado para el servidor de red? Los servicios de
Internet tradi...
6

Network Applications
Cuando un puerto es utilizado por un socket se le conoce como puerto abierto. El
comando netstat s...
7

Network Applications
tcp
0
ESTABLISHED
tcp
0
ESTABLISHED
...
tcp
0
ESTABLISHED
tcp
0
TIME_WAIT
tcp
0
TIME_WAIT
...
tcp
...
8

Network Applications
Dirección
IP

Función
sobre la dirección de bucle local ocurre internamente, no se expone a la
red...
9

Network Applications
timed
525/udp
timeserver
prospero-np
1525/tcp
privileged
prospero-np
1525/udp
[elvis@station elvis...
10

Network Applications
Estimated Time: 10 mins.
Especificaciones
1. Crear el archivo ~/lab11.1/ipaddr que contenga su di...
11

Network Applications
de impresión se conocen como trabajos de impresión. Una vez se ha sometido el trabajo
a la cola, ...
12

Network Applications
•
•

Una serie de filtros que transforman archivos de entrada en formatos apropiados
para cualqui...
13

Network Applications
Opción Efecto
-o

Lista todos los trabajos importantes

-p

Lista todas las colas de impresión y ...
14

Network Applications
Opción

Efecto

-#

Imprime # copias

-p

Representa archivos de texto con un encabezado que cont...
15

Network Applications
Los comandos de Front End alternativos: lp y cancel
En Unix, en los días precedentes a CUPS, se i...
16

Network Applications
Ejercicios en línea
Lab Exercise
Objetivo: Administrar trabajos de impresión efectivamente.
Estim...
17

Network Applications
En Linux, la mayoría de las impresoras esperan recibir texto ASCII o gráficas mediante
el formato...
18

Network Applications
Loading NimbusRomNo9L-Regu font from
/usr/share/fonts/default/Type1/n021003l.pfb... 2410668 10543...
19

Network Applications
cdj850 cdj890 cdj970 cfax cgm24 cgm8 cgmmono cljet5pr coslw2p coslwxl
cp50 declj250 dfaxlow dfaxh...
20

Network Applications
Ver gráficas PostScript con Ghostview
A pesar de su poder, el comando gs de la interfaz de usuari...
21

Network Applications
Las flechas en la esquina inferior izquierda permiten al documento navegar una página
o 10 página...
22

Network Applications
impriman inmediatamente. Puede utilizar la opción -o para especificar una salida del
archivo Post...
23

Network Applications
El comando mpage puede utilizarse para extraer páginas desde la mitad de un
documento PostScript ...
24

Network Applications

Ejercicios en línea
Lab Exercise
Objetivo: Practicar la salida para impresión.
Tiempo estimado: ...
25

Network Applications
3. Utilice el comando ps2pdf para convertir el archivo getconf89.ps en un
documento PDF titulado ...
26

Network Applications
Uso del correo electrónico
Es discutible que el servicio más popular ofrecido por Internet es el ...
27

Network Applications

El MTA (Agente de transporte de correo)
El MTA suele operar en el segundo plano, realizando el t...
28

Network Applications
permite a los usuarios escribir respuestas o nuevos mensajes y pasar estos mensajes al
MTA local ...
29

Network Applications
almacenamiento temporal dedicado a elvis (muy probable en el archivo
sendmail./var/spool/mail/elv...
30

Network Applications
correo electrónico saliente. Se asume que los usuarios tienen acceso a su correo
electrónico desd...
31

Network Applications
Todos los casos anteriores asumen que el usuario está enviando correo electrónico desde
su máquin...
32

Network Applications
Uso de mail para leer correo
El comando mail puede también utilizarse para leer la correspondenci...
33

Network Applications
elvis@localhost... Connecting to [127.0.0.1] via relay...
220 station.example.com ESMTP Sendmail ...
34

Network Applications
usuarios tienen correo en espera en su depósito de correo, (obviamente, sus
nombres de cuentas al...
35

Network Applications
Haciendo "click derecho" en un mensaje, un menú emergente ofrece una variedad de
acciones, tales ...
36

Network Applications
Figure 1. Filtros de correo electrónico Evolution

Los mensajes se pueden seleccionar al combinar...
37

Network Applications
Figure 1. Especificación de fuentes de las cuentas de correo de Evolution

Las primeras dos selec...
38

Network Applications
Aunque la configuración de un sistema con la información IP de configuración
apropiada requiere p...
39

Network Applications
En Linux (y Unix), cada dispositivo de red se representa como una interfaz de red, (por
una vez, ...
40

Network Applications
El comando ifconfig presenta una estrofa de información de la configuración IP y las
estadísticas...
41

Network Applications
[blondie@station blondie]$ /sbin/route -n
Kernel IP routing table
Destination
Gateway
Genmask
Use...
42

Network Applications
Si el equipo sólo se está comunicando con pocas máquinas o si un administrador desea
crear un ata...
43

Network Applications
El comando ping sirve para confirmar la conectividad IP entre dos equipos. El primer
argumento pa...
44

Network Applications
9 bb2-ash-P13-0.atdn.net (66.185.152.50) 29.322 ms 26.192 ms 25.901 ms
10 pop2-ash-P1-0.atdn.net ...
45

Network Applications
En este ejemplo, el servidor de nombres que respondió tiene una dirección IP de
192.168.0.254.
Ej...
46

Network Applications
64 bytes from 109.125.90.1: icmp_seq=1 ttl=255 time=2.92 ms
64 bytes from 109.125.90.1: icmp_seq=...
47

Network Applications
[madonna@station madonna]$ host www.redhat.com
www.redhat.com has address 66.187.232.50
[madonna@...
48

Network Applications
Conceptos clave
•
•

•

El cliente HTTP de terminal Elinks, invocado como el comando links se pue...
49

Network Applications
[elvis@station elvis]$ links http://www.redhat.com

Figure 1. El navegador de texto Elinks

Cuand...
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
10 network applications
Upcoming SlideShare
Loading in …5
×

10 network applications

173 views

Published on

RHA030-6.1

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
173
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

10 network applications

  1. 1. 1 Network Applications Capítulo 1 Introducción a las redes TCP/IP Conceptos clave • • • • • • • La mayoría de los servicios de redes de Linux están diseñados en torno a una relación de cliente servidor. Las aplicaciones de servidor de red generalmente están diseñadas para permanecer "siempre en ejecución" iniciándose automáticamente cuando el sistema arranca y apagándose solamente cuando el sistema lo hace. Por lo general, sólo el usuario root puede administrar procesos del servidor. Las aplicaciones de cliente de red suelen ejecutarse únicamente cuando están en uso y las puede iniciar cualquier usuario. La mayoría de los servidores de red Linux y clientes se comunican mediante el protocoloTCP/IP. La dirección TCP/IP tanto del proceso del cliente como del proceso del servidor consta de una dirección IP y de un puerto. Los servidores de red suelen utilizar puertos asignados denominados puertos "bien conocidos" como se catalogan en el archivo /etc/services. Los clientes de red suelen utilizar puertos privilegiados de modo aleatorio. A menudo, los puertos bien conocidos residen en el rango de puertos privilegiados por debajo del puerto número 1024. El comando hostname puede utilizarse para examinar la dirección IP actual de la máquina, mientras que el comando netstat -tuna se puede utilizar para examinar todos los puertos abiertos. Clientes, servidores y protocolo TCP/IP Iniciaremos nuestro cuaderno sobre las aplicaciones de redes con la introducción a los conceptos de clientes y servidores y los aspectos básicos del protocolo TCP/IP. Hablaremos del protocolo TCP/IP como si fuera el único protocolo disponible en Internet. Este no es el caso pero es el protocolo más utilizado y los conceptos necesarios para entender se amplían (o reducen) de forma natural a los otros protocolos. La mayoría de las aplicaciones de redes actuales están diseñadas en torno a la relación cliente-servidor. El cliente de red suele ser una aplicación que actúa en nombre de una persona que está tratando de realizar alguna tarea en particular tal como navegar en una URL o ejecutar el comando rdate para preguntar la hora actual a un servidor de tiempo. El servidor de red suele ser una aplicación que ofrece servicios, tales como entregar el contenido de las páginas web o dar la hora actual. El diseño de (aplicaciones que actúan como) clientes de red y (aplicaciones que actúan como) servidores de red difiere dramáticamente. Con el fin de apreciar las diferencias, los compararemos con los agentes en una relación cliente-servidor, un cliente comprando una barra de caramelo a un vendedor.
  2. 2. 2 Network Applications El servidor Los vendedores y los servicios de red efectivos comparten las siguientes características. Los servidores están altamente disponibles Así como un vendedor siempre debe utilizar la registradora, incluso cuando no hay clientes, los procesos que ejecutan servicios de red necesitan estar ejecutándose, listos para suplir los servicios cuando se soliciten. Por lo general, los procesos que ejecutan servicios de red se inician en el momento de arranque y continúan ejecutándose hasta que la máquina sea apagada. En Linux (y Unix) dichos procesos se conocen como demonios. Por lo general, sólo el usuario root puede iniciar o cerrar procesos que funcionan como servidores de red. Los servidores tienen sitios bien conocidos Además de estar disponibles cuando un cliente necesita el servicio, los vendedores se están dónde saben que los clientes los pueden encontrar. Así como los clientes pueden buscar la ubicación de vendedores de caramelos desconocidos, en los directorios telefónicos y encontrarlos por dirección postal, los clientes de red pueden ubicar servidores de redes desconocidas mediante un hostname, el cual se convierte en la dirección IP utilizada para tener acceso al servicio. El cliente Por el contrario, el cliente de la tienda de caramelos no necesita estar ni altamente disponible ni ser muy conocido. Un cliente no se estará en una tienda de caramelos todo el día por si decide comprar un caramelo. Del mismo modo, los clientes no necesitan permanecer en sitios bien conocidos. Nuestro cliente no se queda todo el día en casa por si alguien pasa a venderle una barra de caramelo. Los procesos que ejecutan clientes de red son iniciados por usuarios normales y por lo general se ejecutan todo el tiempo necesario para completar una tarea. Cuando alguien hace un receso para ir a almorzar, cierra su navegador de red. Además, las aplicaciones de cliente no necesitan tener direcciones fijas, pueden moverse de un lugar a otro. Más adelante veremos esto detalladamente. Direcciones TCP/IP Todo proceso que participa en una conversación TCP/IP debe tener una Dirección IP, así como cada participante en una conversación debe tener un número telefónico. Además, todo proceso en una conversación TCP/IP debe tener un número de puerto, cuya analogía más cercana podría ser una extensión telefónica asociada a un número de teléfono. Los computadores en una red se identificans con una dirección IP. La dirección IP viene en forma de cuatro números enteros, cada uno en un rango de 0 a 255 (no es una
  3. 3. 3 Network Applications coincidencia que la cantidad de información pueda codificarse en un byte de memoria) y tradicionalmente separados por puntos así como 192.168.0.3. Esta representación suele conocerse de modo informal como un quad punteado. Los procesos en computadores se identifican con unnúmero de puerto, el cual es un entero entre 1 y 65535 (no es una coincidencia que la cantidad de información se codifique en 2 bytes de memoria). Cada vez que un proceso quiere participar en una conversación TCP/IP con otro proceso, el kernel debe asignarle primero un número de puerto. El protocolo TCP/IP permite dos procesos, para localizarse entre sí, cada uno se identifica con una dirección IP y un número de puerto. La dirección IP sirve para localizar la máquina en la que el proceso se está ejecutando (esta es la "parte del protocolo IP") y el número de puerto se utiliza para localizar el proceso correcto en la máquina (esta es la parte "TCP"). Sockets Con el fin de ilustrar una transacción típica TCP/IP, examinaremos la conversación entre el navegador de red mozilla de un estudiante fictisio ejecutándo en la máquina station3.example.com, lo que se traduce en una dirección IP 123.45.67.89 y el servidor de red httpd ejecutando en academy.redhat.com, lo que se traduce en una dirección IP de 66.187.232.51. El proceso suele parecerse a lo siguiente. 1. Cuando la máquina academy.redhat.com arranca, se inicia el proceso httpd. Primero asigna un socket, ejecuta bind al puerto 80 y comienza a listen conexiones. 2. En algún momento más tarde, quizás minutos o días, el proceso mozilla se inicia en la máquina station3.example.com. También asigna un socket y solicita connect al puerto 80 de la máquina 66.187.232.51. Puesto que no pidió un número de puerto particular, el kernel provee uno aleatorio, digamos 12345. Como le solicita la conexión, provee su propia dirección IP y el número de puerto (asignado de modo aleatorio) al servidor. 3. El servidor selecciona la conexión accept. El socket establecido se identifica ahora con dirección IP y número de puerto del cliente y del servidor. Una vez se establece el socket, los procesos mozilla y httpd pueden leer información con read y escribir a un archivo con write de un modo tan sencillo como leer y escribir desde un archivo, (recuerde ..."todo es un archivo", incluyendo las conexiones de red! Para fines más prácticos, un socket es sólo otro descriptor de archivo). Los verbos resaltados en esta sección bind (unir), listen (escuchar), connect (conectar), accept (aceptar), e inclusoread (leer) y write (escribir) son términos bien definidos en Linux (y Unix). También son los nombres de llamadas al sistema de programación que realizan cada paso. Figure 1. Un socket TCP/IP entre un navegador de red Mozilla y un servidor Apache
  4. 4. 4 Network Applications En el protocoloTCP/IP, un socket se define como la combinación de una dirección IP y el número de puerto del servidor y cliente. Por ejemplo, ¿qué sucedería si nuestro estudiante estuviera ejecutando múltiples versiones de Mozilla, cada uno haciendo solicitudes de academy.redhat.com? o ¿qué sucedería si múltiples usuarios estuvieran usando la máquina station3.example.com simultáneamente todas accediendo academy.redhat.com? ¿De qué forma mantendría en orden un servidor de red qué conversación estaba teniendo con cuál cliente? A cada proceso de cliente se le asignaría un número de puerto distinto y por lo tanto conversa con el demonio httpd mediante un socket diferente. Figure 2. Múltiples sockets TCP/IP Más acerca de puertos Servicios bien conocidos y el archivo /etc/services En nuestro ejemplo, mencionamos que el proceso httpd solicitó bind al puerto 80, y en retorno, el proceso mozilla solicitó connect al puerto 80 del servidor. ¿Cómo se
  5. 5. 5 Network Applications convino que el puerto 80 era el apropiado para el servidor de red? Los servicios de Internet tradicionales tales como el servidor de red o el servidor ftp o el servidor smtp (de correo electrónico), se conocen como servicios bien conocidos. En máquinas de Linux y (Unix), el catálogo de servicios bien conocidos, y los puertos asignados a ellos se mantienen en el archivo /etc/services. Observe que tanto el cliente como el servidor necesitan concordar con el número apropiado de puerto para que el archivo /etc/services sea tan importante en la máquina del cliente como en la del servidor. El sólo hecho de que un servicio se liste en el archivo /etc/services no significa que usted está ejecutando (o incluso siendo capaz de ejecutar) ese servicio bien conocido. Puertos privilegiados A diferencia de los clientes, los procesos que ejecutan servidores de red suelen solicitar el puerto al que quieren vincularse. Solamente un proceso puede vincularse a un puerto en un tiempo determinado (¿A qué se debe esto?) Los puertos menores de 1024 se conocen como puertos privilegiados y son tratados de modo especial por el kernel. Únicamente los procesos ejecutándose como el usuario root pueden enlazarse a puertos privilegiados, (esto ayuda a asegurar que si elvis tuviera una cuenta en la máquina academy.redhat.com, no podría iniciar una versión falsa de un servidor de red que podría distribuir información falsa). En un principio, los puertos bien conocidos y los puertos con privilegios pretendian coincidir pero en la práctica hay más puertos bien conocidos que privilegiados. Determinar los servicios actuales de red TCP/IP Uso de hostname para visualizar la dirección IP actual El comando hostname, sin argumentos, muestra el nombre del equipo de la máquina actual. Con la opción -i, la dirección IP de la máquina se visualiza en su lugar. [elvis@station elvis]$ hostname station.example.com [elvis@station elvis]$ hostname -i 172.16.62.9 ¿Qué sucede si hay múltiples direcciones IP? El diseño del comando hostname es un poco equívoco, porque las máquinas pueden tener fácilmente más de una dirección IP (una para cada red múltiple de tarjetas de interfaz, por ejemplo). En dichas situaciones, no hay razón para que cualquier dirección IP tenga prioridad sobre las otras. No obstante, por razones históricas, el kernel mantiene el rastro de un parámetro conocido como su nombre del equipo y el comando hostname -i presenta la dirección IP asociada con éste. Uso del comando netstat para ver los puertos abiertos
  6. 6. 6 Network Applications Cuando un puerto es utilizado por un socket se le conoce como puerto abierto. El comando netstat sirve para ver una variedad de información de redes incluyendo los puertos abiertos. Infortunadamente, cuando un comando es llamado sin ninguna opción la salida del comando netstat se inunda de información poco interesante, sockets locales "Unix" utilizados para comunicarse entre procesos en la misma máquina. Sin embargo, cuando se llama con las siguientes opciones se ve información más interesante. Table 1. Opciones para el comando netstat Opción Efecto -t Presenta los sockets TCP -u Presenta los sockets UDP -n Presenta la dirección IP en lugar del hostname -a Presenta todos los sockets incluso aquellos en estado LISTEN Muchas más opciones están disponibles, para mayor información acuda a la página de manual netstat(8). Las siguientes opciones se escogieron, no solo porque cuando se combinan producen una salida interesante, sino porque también son fáciles de recordar: por ejemplo, "tuna" (atún). Cuando se invoca con las siguientes opciones, la salida de netstat es similar a la siguiente. [elvis@station elvis]$ netstat -tuna Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:32768 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:777 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 127.0.0.1:32769 ESTABLISHED
  7. 7. 7 Network Applications tcp 0 ESTABLISHED tcp 0 ESTABLISHED ... tcp 0 ESTABLISHED tcp 0 TIME_WAIT tcp 0 TIME_WAIT ... tcp 0 ESTABLISHED tcp 0 ESTABLISHED udp 0 udp 0 ... 0 172.16.62.9:32903 172.16.62.8:6001 0 172.16.62.9:32848 172.16.62.8:6001 0 172.16.62.9:33325 172.16.62.8:6001 0 127.0.0.1:33953 127.0.0.1:631 0 127.0.0.1:33952 127.0.0.1:631 314 127.0.0.1:32769 127.0.0.1:631 0 172.16.62.9:34387 172.16.62.8:22 0 0.0.0.0:32768 0 0.0.0.0:177 0.0.0.0:* 0.0.0.0:* De las muchas líneas, podemos retirar aquellas asociadas con el protocolo udp y concentrarnos en las columnas 4, 5 y 6 de las filas asociadas con tcp. Table 2. Columnas relevantes desde la salida de netstat Columna Título Función 1 Protocolo El protocolo del socket. Nos referiremos a los sockets tcp. 4 Dirección local La dirección IP y el número de puerto de la mitad local del socket. 5 Dirección extranjera La dirección IP y el número del puerto de la mitad remota del socket. 6 Estado El estado de la conexión TCP. Nos referiremos a los estados más interesantes LISTEN y ESTABLECIDO. Direcciones especiales IP Las siguientes direcciones IP pueden hallarse en la columna de dirección local de la salida anterior. Dirección IP Función 172.16.62.9 La dirección IP externa de la máquina tal como la reportó el comando hostname -i. 127.0.0.1 La dirección bucle local. Cada máquina que utiliza las redes TCP/IP es compatible con la dirección de bucle local o loopback. Las conexiones a la máquina o desde la máquina desde esta dirección siempre se retroalimentan a la máquina local para que la comunicación pueda ocurrir entre dos procesos en la misma máquina. La conversación que se presenta
  8. 8. 8 Network Applications Dirección IP Función sobre la dirección de bucle local ocurre internamente, no se expone a la red. 0.0.0.0 Esta dirección especial IP sirve para referirse a "todas" las direcciones IP disponibles. Cuando un proceso se enlaza a un determinado puerto, puede elegir entre utilizar únicamente una dirección particular externa, sólo la dirección de bucle local o todas las direcciones IP disponibles. Sockets de escucha Los sockets de escucha son conexiones pertenecientes a un servidor antes de que los clientes se presenten. Por ejemplo, al final del primer paso de nuestra conexión TCP/IP de muestra anterior, el proceso httpd tendría una conexión abierta en el estado de escucha. Observe en la salida anterior que para las conexiones de escucha, sólo se define la mitad de la dirección. Conexiones establecidas Como su nombre lo implica, los sockets establecidos tienen un proceso de cliente y un proceso de servidor con comunicación establecida. Uniendo esfuerzos Ahora podemos reunir algunas de las partes para analizar unas pocas líneas extraídas de la salida anterior. tcp LISTEN 0 0 0.0.0.0:80 0.0.0.0:* Este socket está conectado a todas las interfaces en el puerto 80 en el estado de ESCUCHA. Aparentemente esta máquina también tiene un servidor de red httpd escuchando activamente conexiones de clientes. tcp LISTEN tcp LISTEN 0 0 127.0.0.1:631 0.0.0.0:* 0 0 127.0.0.1:25 0.0.0.0:* Estos dos sockets están escuchando conexiones, pero sólo en la dirección de bucle local. Deben pertenecer a servicios que esperan recibir conexiones desde otros procesos en la máquina local pero no desde la red. Para determinar a qué servicios pertenecen estos puertos ejecutamos un grep desde el archivo /etc/services. [elvis@station elvis]$ grep 25 /etc/services smtp 25/tcp mail smtp 25/udp mail timed 525/tcp timeserver
  9. 9. 9 Network Applications timed 525/udp timeserver prospero-np 1525/tcp privileged prospero-np 1525/udp [elvis@station elvis]$ grep 631 /etc/services ipp 631/tcp Protocol ipp 631/ucp Protocol # Prospero non- # Internet Printing # Internet Printing Aparentemente, cualquier proceso que haya solicitado el puerto 25 está escuchando clientes de correo electrónico. Probablemente es el demonio sendmail. El proceso de escucha en el puerto 631 está escuchando clientes de impresión. Probablemente es el demonio de impresión cupsd. Ambos servicios se tratarán más adelante en este cuaderno. tcp 0 ESTABLISHED 314 127.0.0.1:32769 127.0.0.1:631 Esta línea refleja una conexión establecida entre dos procesos ambos en la máquina local (observe la dirección IP de bucle local para los dos). El primero está conectado al puerto 32769 (probablemente un puerto cliente asignado de modo aleatorio) y el segundo al puerto 631. Algunos procesos en la máquina local deben estar comunicándose con el demonio cupsd. tcp 0 ESTABLISHED 0 172.16.62.9:34387 172.16.62.8:22 Nuestra línea extraída representa una conexión establecida entre lo que aparentemente es un cliente en nuestra máquina local, conectado al servicio enlazado al puerto 22 en nuestra máquina remota. De nuevo, trataremos de llamar a grep para buscar el servicio bien conocido asociado con el puerto 22. [elvis@station elvis]$ grep 22 /etc/services ssh 22/tcp Protocol ssh 22/udp Protocol imap3 220/tcp Access imap3 220/udp ... # SSH Remote Login # SSH Remote Login # Interactive Mail # Protocol v3 Aparentemente, esta línea representa una conexión activa entre un cliente ssh en la máquina local y un demonio sshd en una máquina con una dirección IP de172.16.62.8. Ejercicios en línea Lab Exercise Objetivo: Familiarizarse con la configuración y actividad TCP/IP.
  10. 10. 10 Network Applications Estimated Time: 10 mins. Especificaciones 1. Crear el archivo ~/lab11.1/ipaddr que contenga su dirección IP de máquina como lo reporta el comando hostname como su única palabra. 2. Crear el archivo ~/lab11.1/listening_ports que contenga una lista de todos los puertos menores que 1024 en su máquina actual, abiertos en el estado de escucha, un puerto por línea. Question 1 1. El archivo ~/lab11.1/ipaddr que contiene su dirección IP actual de la máquina (como lo reportó el comando hostname) como su única palabra. 2. El archivo ~/lab11.1/listening_ports que incluye un listado de todos los puertos menores de 1024 en su máquina actual, abiertos en el estado de escucha, un puerto por línea. Capítulo 2 Impresión Linux Conceptos clave • • • • • • Linux de Red Hat Enterprise utiliza el sistema de impresión CUPS para administrar impresoras. El sistema de impresión CUPS está diseñado en torno al concepto de cola de impresión, el cual combina un directorio de almacenamiento temporal, un filtro y un dispositivo de impresión. Los comandos gnome-print-manager y lpstat pueden utilizarse para navegar colas de impresión disponibles. Los comandos lpr, lpq y lprm se utilizan para someter ("solicitar") trabajos de impresión, averiguar por trabajos importantes y quitar trabajos de impresión pendientes, respectivamente. Todos examinarán la variable de entorno PRINTER para determinar la cola de impresión por defecto. Los comandos lp y cancel se comportan de un modo similar a los comandos lpr y lprm. Muchas aplicaciones imprimen por entubamiento a stdin de una línea de comando personalizable lpr. Introducción a CUPS Linux de Red Hat Enterprise utiliza el Sistema de Impresión Común de Unix (CUPS) para administrar impresoras. En lugar de interactuar con la impresora directamente, los usuarios someten las solicitudes de impresión a las colas de impresión que son manejadas por el demonio cupsd. Las solicitudes de impresión pendientes en una cola
  11. 11. 11 Network Applications de impresión se conocen como trabajos de impresión. Una vez se ha sometido el trabajo a la cola, los usuarios pueden retornar rápidamente a cualquiera de las tareas que estaban haciendo. Si la impresora está ocupada con otro documento o no tiene papel, o no está disponible en la red, el demonio cupsd controlará la situación y enviará (o reenviará) el trabajo de impresión a la impresora cuando quede disponible. El demonio cupsd utiliza el Protocolo de Impresión de Internet (IPP), el cual es una extensión directa del protocolo HTTP, diseñado para permitir administración de cola de impresión, a la manera de un sistema operativo independiente. Como resultado, la administración de CUPS tiene mucho en común con la administración del servidor de red. La siguiente gráfica identifica los elementos que participan en la impresión Linux; dichos elementos se tratan en detalle más adelante. Figure 1. Infraestructura de impresión Linux.- Colas de impresión Una cola de impresión es una combinación de los siguientes elementos. • Un directorio de almacenamiento temporal donde se pueden almacenar los trabajos pendientes.
  12. 12. 12 Network Applications • • Una serie de filtros que transforman archivos de entrada en formatos apropiados para cualquier dispositivo secundario conectado a la cola. Un dispositivo secundario, tal como una impresora conectada localmente o una cola de impresión definida en una máquina remota. A continuación, se listan algunos de los dispositivos secundarios admitidos por CUPS. o impresoras de puerto paralelo conectadas localmente o impresoras localmente conectadas através de un USB o impresoras de red utilizando la interfaz LPD o impresoras de red utilizando interfaz de JetDirect o Colas de impresión IPP en máquinas remotas o Colas de impresión LPD en máquinas remotas o Servicios de impresión de red (Microsoft) SMB La tarea fundamental que enfrenta el administrador al configurar Linux de Red Hat Enterprise para que utilice una impresora particular o un servicio de red de impresión, es definir y nombrar correctamente la cola de impresión para el recurso. Esto generalmente implica identificar cuáles de los dispositivos secundarios anteriores se utilizan para acceder al dispositivo, elegir un filtro apropiado para el dispositivo, llamar y activar la cola de impresión. En este curso asumiremos que ya se ha hecho todo el trabajo difícil y que las colas de impresión disponibles para su sistema ya se han definido. Navegar las colas de impresión disponibles: gnome-print-manager y lpstat Las colas de impresión están disponibles ya sea porque se han definido en la máquina local o descubierto mediante la habilidad de CUPS para navegar la red local para impresoras publicadas. En el entorno gráfico, gnome-print-manager puede utilizarse para identificar las colas de impresión y controlar los trabajos de impresión sometidos a ellas. El control de impresión puede iniciarse ya sea desde la línea de comandos o al elegir Herramientas del Sistema: Administrador de Impresión desde el menú de aplicaciones GNOME. Figure 1. El administrador de impresión GNOME Cuando el entorno gráfico no está disponible, o incluso cuando lo está, el comando lpstat se puede utilizar para escanear las colas de impresión disponibles desde la línea de comando. La siguiente línea de comandos sirve para clasificar el comando lpstat. Table 1. Opciones para el comando lpstat Opción Efecto -a Lista estado de aceptación de todas las colas de impresión.
  13. 13. 13 Network Applications Opción Efecto -o Lista todos los trabajos importantes -p Lista todas las colas de impresión y si están inactivas u ocupadas. -s Lista el estatus de la impresora, incluída la cola por defecto y el dispositivo secundario asociado con cada cola. Para mayor información, vea la página de manual lpstat(1). A continuación, elvis descubre que su cola de impresión de sistema por defecto, se llama simplemente "printer" y que tiene varias colas de impresión disponibles, que parecen referirse a la cola de impresión IPP en un servidor de impresora local. [elvis@station elvis]$ lpstat -s system default destination: printer device for acct2_ire: ipp://printsrv.example.com:631/printers/acct2_ire device for acct_ire: ipp://printsrv.example.com:631/printers/acct_ire device for ba: ipp://printsrv.example.com:631/printers/ba device for checks: ipp://printsrv.example.com:631/printers/checks device for coms: ipp://printsrv.example.com:631/printers/coms device for exec: ipp://printsrv.example.com:631/printers/exec ... Someter y administrar trabajos: lpr, lpq y lprm CUPS utiliza los comandos de UNIX tradicionales para interactuar con el sistema de impresión: lpr somete archivos e información que van a imprimirse, lpq examina el estatus de trabajos de impresión importantes y lprm quita trabajos de impresión pendientes en la cola. Todos los tres comandos utilizan las siguientes técnicas para especificar qué cola de impresión utilizar en el orden especificado. 1. Si se halla la opción -P, su argumento se utiliza para especificar la cola de impresión. 2. Si no se utiliza -P para definir la cola de impresión por defecto, entonces se utiliza la variable de entorno PRINTER, si existe. 3. De otra manera, se utiliza el sistema de cola de impresión por defecto. Someter trabajos con lpr Los trabajos pueden someterse con el comando lpr. Todos los argumentos son interpretados como archivos para someter. Si no se especifican argumentos en su lugar se lee la entrada estándar. Las siguientes opciones sirven para clasificar el comando lpr. Table 1. Opciones del comando lpr Opción Efecto -P Uso de la cola de impresión impresora. impresora
  14. 14. 14 Network Applications Opción Efecto -# Imprime # copias -p Representa archivos de texto con un encabezado que contiene el nombre del archivo, nombre del trabajo y el sello de fecha. -r Borra los archivos de impresión nombrados después de imprimir. A manera de ejemplo, a continuación, blondie utiliza el comando lpr para imprimir el archivo README mediante la cola de impresiónsales. [blondie@station blondie]$ lpr -P sales README Control de trabajos con lpq El comando lpq lista los trabajos pendientes en una cola. En el siguiente ejemplo, blondie somete la salida del comando df para la impresora legal y luego examina el contenido de la cola. [blondie@station blondie]$ df | lpr -P legal [blondie@station blondie]$ lpq -P legal legal is ready and printing Rank Owner Job File(s) active elvis 1 services 1st blondie 5 (stdin) Total Size 20480 bytes 1024 bytes Eliminación de trabajos con lprm Blondie sospecha que algo anda mal con la impresora legal y decide iniciar utilizando la impresora sales como su impresora por defecto. Primero configura la variable de entorno PRINTER para reflejar sus nuevas preferencias, luego utiliza el comando lprm para quitar su trabajo de la cola legal. [blondie@station blondie]$ export PRINTER=sales [blondie@station blondie]$ lpq sales is ready no entries [blondie@station blondie]$ lpq -P legal legal is ready and printing Rank Owner Job File(s) active elvis 1 services 1st blondie 5 (stdin) [blondie@station blondie]$ lprm 5 [blondie@station blondie]$ lpq -P legal legal is ready and printing Rank Owner Job File(s) active bowe 1 services [blondie@station blondie]$ df | lpr Total Size 20480 bytes 1024 bytes Total Size 20480 bytes Observe que en el primer comando lpq y el último comando lpr, la variable de entorno PRINTER implícitamente especificó la cola de impresión sales.
  15. 15. 15 Network Applications Los comandos de Front End alternativos: lp y cancel En Unix, en los días precedentes a CUPS, se implementaron dos ejecuciones paralelas de la infraestructura de impresión. La primera utilizó los tres comandos presentados anteriormente es decir lpr, lpq, y lprm. La segunda utilizó lp, lpstat y cancel para tareas análogas. Ya hemos visto que lpstat es compatible y es la herramienta preferida para descubrir colas de impresión. Los comandos lp y cancel también están disponibles como variaciones leves de los comandos lpr y lprm. Para mayor información, consulte la página de manual lp(1). Impresión dentro de aplicaciones Linux Con frecuencia las aplicaciones Linux suelen imprimir entubando la información directamente a la entrada estándar del comando lpr. Por lo general, las aplicaciones permiten a los usuarios personalizar la línea de comando lpr, para que, por ejemplo, se pueda especificar una cola de impresión diferente a la cola de impresión por defecto. En la siguiente toma de pantalla del diálogo de impresión de la aplicación Evolution, el campo Printer inicialmente sólo contenía un lpr, pero blondie añadió la opción -P sales para que la salida de evolution vaya a la impresora sales. Figure 1. Diálogo de impresión de Evolution La interfaz de red CUPS Por último, seríamos negligentes si abandonáramos el tema de CUPS sin mencionar la interfaz de red nativa que el demonio cupsd brinda. Como se mencionó, la mayoría de los clientes interactúan con el demonio cupsd mediante el protocolo IPP, el cual es una extensión del protocolo HTTP. Debido a su parecido, el demonio cupsd se comporta en muchas formas como el demonio de web, incluyendo el servidor de las páginas de administración de estilo CGI. Con el fin de ver las páginas de administración de CUPS, apunte un navegador de red hacia la dirección de la máquina local, pero sobreescriba el puerto 80 por defecto con el puerto de servicio bien conocido de los demonios de CUPS, 631. http://localhost:631 El demonio cupsd retornará con una"página de inicio" de CUPS desde donde pueden verse las impresoras y los trabajos de impresión y existe dsiponible una copiosa documentación en línea. Figure 1. La página de inicio de administración de CUPS
  16. 16. 16 Network Applications Ejercicios en línea Lab Exercise Objetivo: Administrar trabajos de impresión efectivamente. Estimated Time: 10 mins. Configuración Su estación debería configurarse con una cola de impresión llamada rha_faux. Esta cola de impresión se anexa a la impresora virtual en ejecución en el servidor del aula de clase. Usted puede ver la primera página de cualquier trabajo de impresión enviado a la impresora en el classroom server. Si el comando lpstat -s no menciona una cola de impresión llamada rha_faux o si no puede acceder a la página web del servidor del aula de clase, consúltele a su instructor. Especificaciones 1. Imprima el archivo /etc/services mediante la cola de impresión rha_faux y observe su salida. http://rha-server/cgi-bin/rha/printer. 2. Imprima el archivo /usr/share/backgrounds/tiles/floral.png mediante la cola de impresión rha_faux y observe su salida. http://rha-server/cgibin/rha/printer. 3. Desde su navegador de red, imprima la página actual directamente a la cola de impresión rha_faux. Question 1 1. Tres trabajos de impresión sometidos a la cola de impresión rha_faux. Capítulo 3 Administración de archivos de impresión Conceptos clave • • • • • El formato de impresión primario en Linux es PostScript. gs y ggv ven con anticipación los documentos PostScript. enscript convierte archivo de texto en PostScript decorado. ps2pdf y pdf2ps convierten de PostScript a PDF y viceversa. mpage pueden reordenar las páginas individuales de un documento PostScript. PostScript
  17. 17. 17 Network Applications En Linux, la mayoría de las impresoras esperan recibir texto ASCII o gráficas mediante el formato PostScript. A diferencia de la mayoría de los formatos gráficos, PostScript es un lenguaje de guiones de gran alcance, el cual se ha adaptado a la tarea de traducir gráficas en la página impresa. La sofisticación del lenguaje PostScript le permite realizar trabajos complejos, pero debe utilizar un intérprete para entregar archivos PostScript como imágenes. Muchas impresoras ejecutan intérpretes PostScript originales y se conocen como impresoras PostScript. Cada vez que una impresora PostScript recibe un archivo de texto que comienza con los caracteres %!PS, el resto del archivo se interpreta como un guión PostScript, en lugar imprimirse como un texto ASCII directamente (observe la semejanza con el mecanismo de scripts de Unix#!/bin/bash). En Linux (y Unix) una aplicación llamada Ghostscript o simplemente gs ejecuta un intérprete PostScript. La ejecución de un PostScript es una tarea importante y aunque las aplicaciones en Linux pueden utilizarse para ver o manipular archivos PostScript casi todos utilizan Ghostscript como el dispositivo secundario para realizar la traducción real de PostScript en formatos gráficos más accesibles [1]. Entrega de gráficos PostScript con GhostScript Cuando se invoca como el comando gs, el intérprete Ghostscript puede utilizarse para traducir archivos PostScript directamente en la pantalla. Por ejemplo, en el siguiente diálogo, al navegador de red mozilla se le pide imprimir la página web actual no a una cola de impresión, sino a un archivo PostScript titulado output.ps. Figure 1. Impresión a un archivo PostScript Como lo ilustra el comando head, un archivo PostScript es un archivo de texto sencillo que comienza con el "mágico" PostSript%!PS. [elvis@station elvis]$ head output.ps %!PS-Adobe-3.0 %%BoundingBox: 18 18 558 720 %%Creator: Mozilla PostScript module (Galeon/2003022516) %%DocumentData: Clean8Bit %%DocumentPaperSizes: Letter ... La siguiente línea de comandos puede utilizarse para ver el archivo con el intérprete Ghostscript. [elvis@station elvis]$ gs output.ps GNU Ghostscript 7.05 (2002-04-22) Copyright (C) 2002 artofcode LLC, Benicia, CA. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details.
  18. 18. 18 Network Applications Loading NimbusRomNo9L-Regu font from /usr/share/fonts/default/Type1/n021003l.pfb... 2410668 1054394 1642520 347466 0 done. Loading NimbusSanL-Regu font from /usr/share/fonts/default/Type1/n019003l.pfb... 2785628 1380272 1662616 358654 0 done. ... Loading StandardSymL font from /usr/share/fonts/default/Type1/s050000l.pfb... 4371596 2780842 1722904 370909 0 done. >>showpage, press <return> to continue<< GS> El intérprete gs devuelve muchas líneas de tipos de fuente que carga, pero al final traduce la imagen en una ventana X por separado. En la línea de comandos, el usuario es abandonado en un intérprete de comandos interactivo Ghostscript GS> . Si el archivo PostScript contiene páginas múltiples, un simple ENTER en el intérprete de comandos Ghostscript visualizará la próxima página. Para aquellos que hablen PostScript, el intérprete puede utilizarse para entregar gráficas de modo interactivo. Para aquellos que tengan menos conocimientos, un simple quit (o CONTROL-D) hará salir al intérprete gs. GS>quit [elvis@station elvis]$ Traducción de PostScript a formatos alternos Por defecto, el intérprete gs traduce los archivos PostScript a una ventana dentro del entorno X. Sin embargo, como lo ilusta la salida de los dispositivos disponibles del comando gs --help, el comando ejecutable gs puede representar un gran número de formatos gráficos. [elvis@station elvis]$ gs --help GNU Ghostscript 7.05 (2002-04-22) Copyright (C) 2002 artofcode LLC, Benicia, CA. All rights reserved. Usage: gs [switches] [file1.ps file2.ps ...] Most frequently used switches: (you can use # in place of =) -dNOPAUSE no pause after page | -q `quiet', fewer messages -g<width>x<height> page size in pixels | -r<res> pixels/inch resolution -sDEVICE=<devname> select device | -dBATCH exit after last file -sOutputFile=<file> select output file: - for stdout, |command for pipe, embed %d or %ld for page # Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF Available devices: x11 x11alpha x11cmyk x11gray2 x11gray4 x11mono bmpmono bmpgray bmpsep1 bmpsep8 bmp16 bmp256 bmp16m bmp32b deskjet djet500 laserjet ljetplus ljet2p ljet3 ljet3d ljet4 ljet4d lj5mono lj5gray cdeskjet cdjcolor cdjmono cdj550 pj pjxl pjxl300 uniprint ijs omni bj10e bj200 bjc600 bjc800 faxg3 faxg32d faxg4 pcxmono pcxgray pcx16 pcx256 pcx24b pcxcmyk pbm pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw pkm pkmraw pksm pksmraw tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack tiff12nc tiff24nc psmono psgray psrgb bit bitrgb bitcmyk pngmono pnggray png16 png256 png16m jpeg jpeggray pdfwrite pswrite epswrite pxlmono pxlcolor bbox dmprt cdj880 ap3250 appledmp atx23 atx24 atx38 bmpa16 bmpa16m bmpa256 bmpa32b bmpamono bmpasep1 bmpasep8 ccr cdj1600 cdj500 cdj670
  19. 19. 19 Network Applications cdj850 cdj890 cdj970 cfax cgm24 cgm8 cgmmono cljet5pr coslw2p coslwxl cp50 declj250 dfaxlow dfaxhigh djet500c dl2100 dnj650c eps9high eps9mid epson epsonc escp fs600 hl1250 hl7x0 ibmpro imagen inferno iwhi iwlo iwlq jetp3852 la50 la70 la75 la75plus lbp8 lj250 lj3100sw lj4dith ln03 lp2563 lp8000 lq850 lxm5700m m8510 mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8 mgrmono miff24 necp6 oce9050 oki182 okiibm paintjet photoex pjetxl plan9bm sgirgb r4081 sj48 st800 stcolor sunhmono t4693d2 t4693d4 t4693d8 tek4696 xes x11cmyk2 x11cmyk4 x11cmyk8 x11rg16x x11rg32x ljet4pjl lj4dithp dj505j picty180 pr201 pr150 pr1000 pr1000_4 jj100 bj10v bj10vh mag16 mag256 mj700v2c mj500c mj6000c mj8000c fmpr fmlbp ml600 lbp310 lbp320 lips2p bjc880j lips4 lips4v escpage lp2000 npdl md50Mono md50Eco md1xMono DJ630 DJ6xx DJ6xxP DJ8xx DJ9xx DJ9xxVIP AP21xx pcl3 md2k md5k stp lxm3200 lx5000 lex7000 lex5700 lex3200 lex2050 gdi epl5800 epl2050 epl2050p alc8500 alc2000 cups cljet5 cljet5c nullpage ... Mientras algunos de estos "dispositivos" de salida tales como jpeg y png256, se refieren a los formatos estándar para archivos gráficos, muchos de los dispositivos se refieren a formatos gráficos de impresoras sin PostScript o fax. La utilidad gs puede utilizarse en modo de lote para convertir un gran número de archivos PostScript en otro formato o filtrar un documento para impresión en una impresora sin PostScript. El siguiente cuadro resume algunos de las opciones de Ghostscripts más utilizadas. Table 1. Opciones comunes para Ghostscript Opción Efecto -dNOPAUSE No hace pausa y espera un RETURN después de traducir cada página. -dBATCH Sale automáticamente después de traducir la última página. -q Opera "calmadamente" (no presenta un mensaje por cada página traducida). -sDEVICE=devname Utiliza el formato de salida devname Almacena la salida en el archivo filename. Si %d se incluye en el nombre de archivo, se remplazará con el número de página sOutputFile=filename del documento multi-página. -rresolución Utiliza una resolución de resolución DPI (puntos por pulgada). A manera de ejemplo, la siguiente línea de comandos convertiría el documento PostScript output.ps en imágenes múltiples PNG llamadas output.pagenum.PNG. [elvis@station elvis]$ gs -dNOPAUSE -dBATCH -q -sDEVICE=png256 sOutputFile=outp ut.%d.png output.ps [elvis@station elvis]$ file output.* output.1.png: PNG image data, 612 x 792, 8-bit colormap, noninterlaced output.2.png: PNG image data, 612 x 792, 8-bit colormap, noninterlaced output.ps: PostScript document text conforming at level 3.0
  20. 20. 20 Network Applications Ver gráficas PostScript con Ghostview A pesar de su poder, el comando gs de la interfaz de usuario aún se puede mejorar. En lugar de utilizar directamente gs muchos usuarios prefieren utilizar la aplicación Ghostview de GNOME, ggv, la cual ofrece un dispositivo frontal para Ghostscript más fácil de usar. [elvis@station elvis]$ ggv output.ps Figure 1. Visor PostScript del Ghostview de GNOME La aplicación Ghostview de GNOME ofrece principalmente las siguientes características. 1. Escala dinámica: La imagen puede hacerse a escala para ajustar la anchura y altura de la ventana o un porcentaje arbitrario. 2. Paginación: Al utilizar un panel lateral se puede navegar fácilmente un documento multi-páginas y seleccionar páginas individuales para extraer dentro de un archivo PostScript independiente o imprimir mediante el menú File como se ilustra a continuación. Figure 2. Extracción de páginas mediante el visor PostScript Ghoscript de GNOME En teoría, la aplicación Ghostview también sirve para ver archivos PDF. En la práctica, ggv ocasionalmente tiene problemas interpretando documentos PDF. Pronto veremos una aplicación más estable para visualizar los PDF. Algunos documentos PostScript multi-páginas pueden también confundir a ggv. En casos en que ggv tiene problemas para traducir un documento PostScript, el traductor de PostScript gs puede utilizarse directamente. Ver documentos PDF con xpdf La aplicación xpdf es un simple visor de documentos PDF que sirve para ver, imprimir o convertir documentos PDF en PostScript. Figure 1. El visualizador de documentos PDF xpdf
  21. 21. 21 Network Applications Las flechas en la esquina inferior izquierda permiten al documento navegar una página o 10 páginas al mismo tiempo. El botón del icono de impresora abre el siguiente diálogo, el cual permite al usuario especificar una línea de comando lpr o un destino de archivo PostScript. Figure 2. Impresión desde xpdf Otras alternativas para ver documentos PDF incluyen los comandos gs y ggv. Conversión de documentos PDF La utilidad gs puede utilizarse para convertir documentos PDF en cualquiera de los formatos de salida listados anteriormente. Puesto que la sintaxis del comando gs puede ser tan engorrosa, algunas utilidades frontales de línea de comando más sencillas están disponibles para convertir PostScript en PDF: ps2pdf y amigos. La sintaxis del comando ps2pdf es trivial, donde el primer argumento es la salida del nombre de archivo PostScript (o un “-” para implicar la entrada estándar) y el segundo argumento es la salida del nombre de archivo de salida PDF (o un “-” para implicar la salida estándar). A manera de ejemplo rápido, elvis ahora utiliza el comando ps2pdf para convertir su archivo output.ps en formato PDF, el cual es de calidad comparable, pero mucho más compacto. [elvis@station elvis]$ ps2pdf output.ps output.pdf [elvis@station elvis]$ file output.* output.1.png: PNG image data, 612 x 792, 8-bit colormap, noninterlaced output.2.png: PNG image data, 612 x 792, 8-bit colormap, noninterlaced output.pdf: PDF document, version 1.2 output.ps: PostScript document text conforming at level 3.0 [elvis@station elvis]$ ls -s output.p* 80 output.pdf 1400 output.ps El comando pdf2ps también existe para realizar la operación inversa. Representación del texto para impresión con enscript La utilidad enscript convierte archivos de texto en PostScript, a menudo representando el texto con sintaxis resaltada (pretty printing), un encabezado o impresión de múltiples páginas de texto por página impresa. De un modo un poco torpe, el comando enscript envía un archivo de texto directamente al comando predeterminado lpr, dando como resultado que los archivos enscript se
  22. 22. 22 Network Applications impriman inmediatamente. Puede utilizar la opción -o para especificar una salida del archivo PostScript en su lugar. Algunas de las opciones más comunes se encuentran en el siguiente cuadro. Table 1. Opciones más comunes para enscript Opción Efecto -o filename Generar salida del archivo filename. -2, -columns=num Formatear texto en 2 (o num) columnas. -a páginas Solamente imprime páginas páginas. páginas pueden ser de la forma comienzo-fin, la palabra impar o par. Utiliza el encabezado de texto como un encabezado de página. Un -b encabezado formato elaborado es provisto para especificar nombre de archivo, número de página, etc. -d impresora Envia salida a la cola de impresiónimpresora. -E [lang] Representa el texto con sintaxis resaltada apropiada para el lenguaje de programación lang. Utiliza --help-pretty-print para listar los idiomas soportados. -G Representa páginas con un encabezado elegante. -r Rota la página 90 grados. -W lang Genera salida en idioma lang, que puede ser de PostScript, html, superposición o rtf. Existen muchas más opciones. Para mayor información, consulte la página de manual enscript(1). A manera de ejemplo, la siguiente línea de comandos traduciría el archivo de encabezado C malloc.h como PostScript con 2 columnas por página, rotado y representado con un encabezado elegante y una sintaxis resaltada. [elvis@station elvis]$ enscript -r2 -E -G -o malloc.ps /usr/include/malloc.h [ 2 pages * 1 copy ] left in malloc.ps [elvis@station elvis]$ ggv malloc.ps Figure 1. Archivo de texto representado en PostScript con enscript Reordenamiento de PostScript con mpage
  23. 23. 23 Network Applications El comando mpage puede utilizarse para extraer páginas desde la mitad de un documento PostScript multi-páginas o reformatear el documento a imprimir con múltiples páginas por hoja. El mpage acepta PostScript o texto como entrada. El texto se traduciría en PostScript antes de administrar. Los argumentos se consideran archivos de entrada con la salida dirigida a la salida estándar. Table 1. Opciones de mpage Opción Efecto -o filename Generar salida del archivo filename. -1, -2, -4, -8 Imprimir un número especificado de páginas por hoja impresa (4 por defecto). -j primero[último][%intervalo] Sólo imprime un rango especificado de páginas incluyendo sólo los intervalo de páginas, si se especifican. -l Cambia el modo de formato horizontal a vertical. -o Cambia a imprimir borde alrededor de cada página (por defecto está activo). -P [impresora] Envía salida PostScript a la cola de impresión impresora. -G Representa páginas con un encabezado elegante. -r Rota la página 90 grados. -G Representa páginas con un encabezado elegante. -W lang Genera salida en idioma lang, que puede ser de PostScript, html, superposición o rtf. La siguiente línea convierte el archivo PDF RHEL3FamOverWPPdf.pdf en un archivo PostScript e imprime cuatro páginas por hoja. [elvis@station elvis]$ pdf2ps RHEL3FamOverWPPdf.pdf - | mpage > rhel3.ps [elvis@station elvis]$ ggv rhel3.ps Figure 1. Un documento PDF convertido en PostScript (4 Up)
  24. 24. 24 Network Applications Ejercicios en línea Lab Exercise Objetivo: Practicar la salida para impresión. Tiempo estimado: 20 minutos. Especificaciones 1. Utilice el comando enscript para generar un documento PostScript del archivo /usr/share/doc/bash-*/loadables/getconf.c nombre getconf.ps con dos páginas por hoja impresa. Opcionalmente, haga que el comando enscript "pretty print" el texto (agregando sintaxis resaltada). 2. Utilice el comando mpage para extraer las páginas 8 y 9 del archivo getconf.ps creado anteriormente, almacénelas en un nuevo documento llamado getconf89.ps. (Por defecto el comando mpage imprimirá 4 hojas por páginas de salida, confundiendo el conteo de páginas. Incluya la opción apropiada para que sólo una página de entrada sea impresa por página de salida).
  25. 25. 25 Network Applications 3. Utilice el comando ps2pdf para convertir el archivo getconf89.ps en un documento PDF titulado getconf89.pdf. Compare los tamaños de los dos documentos. 4. Cree un script de shell corto llamado ~/bin/ps2jpeg, el cual al ser llamado con un sólo argumento especificando un archivo PostScript, utiliza el comando gs para convertir el archivo en un documento JPEG llamado output.jpg. Question 1 No hay elemento para calificar este ejercicio. 1. Un documento de múltiples páginas PostScript getconf.ps que contiene el texto del archivo /usr/share/doc/bash-*/loadables/getconf.c, impreso en 2 páginas por página de salida. 2. Un documento PostScript de dos páginas getconf89.ps que contiene las páginas 8 y 9 extraídas del documento getconf.ps. 3. El documento PDFgetconf89.pdf, el cual es el contenido del documento PostScript getconf89.ps convertido en formato PDF. 4. Un script titulado ~/bin/ps2jpeg que cuando se invoca con un documento PostScript como su único argumento, convertirá el documento en una imagen JPEG llamada output.jpg. Capítulo 4 Sinopsis del correo electrónico Conceptos clave • • • • • La administración del correo electrónico implica dos agentes. Un agente de usuario de correo (MUA, en inglés Mail User Agent), el cual se utiliza para presentar correo recién enviado a un usuario y escribir nuevas respuestas al usuario y un agente de transporte de correo (MTA, en inglés Mail Transport Agent), el cual administra la tarea de segundo plano de intercambiar correo electrónico con otras máquinas remotas. Dependiendo de los detalles de acceso a Internet de un computador, el trabajo de recepción de correo electrónico se puede delegar a un servidor de buzón, lo que permitiría luego que el usuario tuviera acceso a su correo electrónico enviado mediante los protocolos POP o IMAP. De nuevo dependiendo de los detalles de acceso a Internet de un computador, la tarea de entregar correo electrónico se puede delegar a un servidor remoto saliente SMTP. Por lo general, el correo local entregado pero no leído se almacena temporalmente en el archivo /var/spool/mail/$USER, en donde USER es el nombre de usuario del destinatario. Uno de los MUA más sencillos es el comando mail.
  26. 26. 26 Network Applications Uso del correo electrónico Es discutible que el servicio más popular ofrecido por Internet es el correo electrónico. El correo electrónico es un concepto sencillo: Alicia escribe un archivo de texto y especifica enviarlo a Bob. Cuando Bob revisa su correo, el archivo de texto estará esperando por él, etiquetado como enviado por Alice. Sin embargo, en la práctica, el sistema de envío de correo electrónico debe ofrecer soluciones a algunos problemas bastante complicados. El software que Alice y Bob utilizan debe resolver los siguientes problemas. 1. La aplicación de correo electrónico de Alice de alguna manera determina cuál es el computador de Bob. 2. Una vez determinada, la aplicación de Alice debe conectarse a la máquina de Bob y transferir el mensaje. Si la máquina de Bob no puede ser contactada, la aplicación de Alice debe almacenar temporalmente el mensaje pendiente y tener alguna estrategia para tratar de contactar la máquina de Bob más tarde. 3. Como destinatario, la aplicación de correo electrónico de Bob debe tener alta capacidad, por lo tanto cada vez que alguien (Alicia u otra persona) quiera enviarle un mensaje de correo electrónico a Bob, su aplicación estará disponible para recibirlo. En algunos casos, el recipiente de correo utiliza una máquina que no tiene una conexión permanente de Internet o está detrás de un cortafuegos, lo que luego complicará las cosas. En esta lección, trataremos varios procedimientos que ofrecen soluciones a estos problemas. La solución fácil La solución más sencilla es la apropiada para los usuarios de computadores con conexiones deinternet bien conocidas y permanentes. En el momento en que muchos protocolos definían cómo enviar correo electrónico, ésta fue la solución estándar. Dicha solución implica dos aplicaciones separadas cuyos roles se identifican por TLA (acrónimos de tres letras). La primera aplicación se conoce como MTA Agente de Transporte de Correo y la segunda se conoce como MUA, o Agente de correo de usuario. Figure 1. Envío de correo electrónico en computadores con conexiones de intenet permanentes y bien conocidas
  27. 27. 27 Network Applications El MTA (Agente de transporte de correo) El MTA suele operar en el segundo plano, realizando el trabajo de una oficina postal. El MTA recibe correo electrónico para ser envíado desde programas en la máquina local, determina desde la dirección del destinatario la máquina apropiada que debe contactar e intenta conectarse a un MTA complementario ejecutando en la máquina de destinatarios, quienes deben estar escuchando el puerto 25. Si el remitente de MTA no puede contactar el receptor de MTA, el correo se almacena temporalmente en la máquina del remitente y el MTA de remitente intenta de nuevo más tarde. El MTA también se enlaza al puerto local 25, donde recibe conexiones de otros MTA. Cuando éste recibe correo desde un MTA remoto destinado a un usuario en una máquina local, recibe el correo y lo almacena en un directorio de almacenamiento temporal conocido como el buzón de entrada del usuario. En Linux (y Unix), el buzón predeterminado del usuario es /var/spool/mail/username para que el correo en espera del usuario elvis se instale en el archivo /var/spool/mail/elvis. El MTA por defecto de Red Hat Enterprise Linux es un demonio llamado sendmail. El MUA (Agente de usuario de correo) El MUA es la aplicación en la que la mayoría de la gente piensa cuando se refiere a correo electrónico. El MUA recupera correo enviado desde un almacenamiento temporal (buzón de entrada) y lo presenta al usuario como "correo nuevo". El MUA
  28. 28. 28 Network Applications permite a los usuarios escribir respuestas o nuevos mensajes y pasar estos mensajes al MTA local para envío. Red Hat Enterprise Linux se distribuye con una amplia selección de MUAs, varios de los cuales se describirán en ésta y en la siguiente lección. Servidores de buzón Aunque la solución anterior es simple, requiere que primero, todos los usuarios estén recibiendo correo electrónico en una máquina conectada constantemente a Internet y segundo, que la máquina tenga un nombre de equipo bien conocido y accesible a otros. Muchos usuarios que por ejemplo, utilizan una conexión de "marcado" o de "alta velocidad" desde un ISP (Proveedor de Servicios Internet) o que estén utilizando máquinas detrás de un cortafuegos de una institución, no están en esta situación. Otra solución se ha desarrollado para servir a la gente en este caso: los servidores de buzón. Figure 1. Servidores de buzón En el diagrama anterior, asumimos que elvis está utilizando una conexión de Internet de "alta velocidad" para la cual se ha suscrito a la compañía "ISP.Net". Cuando se conecta al Internet, su máquina ISP le emite a su máquina una dirección IP, pero elvis no puede predecir la dirección IP que recibirá. El nombre del equipo, al cual se le asignó el ISP a la dirección IP, es probablemente poco atractivo por ejemplo, dhcp-191-93.isx.isp.net, por lo tanto si elvis garantizara la recepción de la misma dirección IP cada vez, no desearía publicar su nombre de equipo como su dirección de correo electrónico. En su lugar, elvis aprovecha una "cuenta de correo electrónico" que le ofrece su ISP. Es muy probable que su cuenta exista en una máquina Linux o Unix del ISP conectada permanentemente a Internet y se le asigne un nombre de host como por ejemplo pop.isp.net. El ISP ha clasificado todo el correo electrónico destinado a direcciones de forma user@isp.net para ser enviado al MTA de esta máquina. Cuando el MTA ejecutándose en pop.isp.net recibe correo para elvis, lo almacena en un directorio de
  29. 29. 29 Network Applications almacenamiento temporal dedicado a elvis (muy probable en el archivo sendmail./var/spool/mail/elvis) y el correo electrónico se considera como entregado. Dado que la máquina de ISP pop.isp.net tiene una conexión de Internet permanente y bien conocida, es mejor candidata para recibir correo electrónico que la máquina de elvis en casa. Cuando elvis está en casa, aún necesita tener acceso a su correo electrónico que está en su buzón de entrada en pop.isp.net. Este acceso suele estar provisto en forma de un servidor POP (Protocolo de servidor de correo) o servidor de IMAP (Protocolo de Servicio de Correo por Internet). Servidores POP Los servidores POP realizan un servicio muy sencillo. Permiten a los usuarios acceder al directorio de almacenamiento temporal de un sólo usuario y transfieren su contenido a su MUA local. Los servidores POP suelen enlazarse al puerto 110 y requieren que cualquier cliente se autentique mediante un par de nombres de usuario-contraseña. La mayoría de los MUAs modernos actúan como clientes POP y pueden configurarse para recuperar correo de un servidor especificado. Si un servidor de buzón ejecuta el servicio POP, suele implicar que el servidor de buzón no intenta almacenar de modo permanente, sino temporalmente hasta que el usuario "lo baje "a su máquina local. Servidores IMAP Los servidores IMAP suelen ofrecer a los clientes administración de buzones de manera más sofisticada. Los usuarios IMAP pueden mantener varias carpetas en el servidor de buzón no sólo su buzón de entrada individual. En general, un servidor IMAP implica que un correo electrónico del usuario sea almacenado de forma permanente en el servidor de buzón y los usuarios ocasionalmente se conecten con un MUA desde una máquina remota para "navegar" su correo. Los servidores IMAP suelen encontrarse en entornos institucionales y corporativos. Los demonios IMAP se enlazan al puerto 143. Envío de correo Puesto que la máquina de elvis mantiene una conexión de Internet casi continua, elvis aún desea utilizar su MUA local para enviar correo. Si el MUA local no puede conectarse temporalmente a la máquina del destinatario, el MUA almacenará el correo temporalmente de modo local y tratará de enviarlo más tarde. Configuración predeterminada de Red Hat Enterprise Linux Por defecto, Red Hat Enterprise Linux está configurado de modo apropiado para esta situación. El MTA local se inicia, pero no aceptará conexiones a través del puerto 25 (excepto desde la dirección de bucle local, 127.0.0.1). Sirve simplemente para entregar
  30. 30. 30 Network Applications correo electrónico saliente. Se asume que los usuarios tienen acceso a su correo electrónico desde un servidor POP o IMAP. La configuración predeterminada puede cambiarse, pero la configuración necesaria va más allá del alcance de este curso. Servidores de correo saliente Para máquinas que sólo tienen conexiones a Internet transitorias, el intentar entregar correo electrónico mediante el MTA local puede no ser apropiado. En su lugar, los usuarios de conexiones de "marcado" y similares suelen utilizar lo que se conoce como un SMTP (Protocolo sencillo de transferencia de correo) o servidor de correo saliente. Muchos ISP e instituciones ofrecen servidores SMTP salientes, a menudo con nombres como smtp.isp.net. Figure 1. Servidor de correo saliente El MTA en el servidor SMTP desea aceptar correo de máquinas "locales", a pesar de que no es el destinatario final para el correo electrónico. En su lugar, el servidor SMTP transmite el correo y lo reenvía a su destino. Si se presenta algún problema, el almacenamiento temporal y el reenvío de correo pendiente es ahora responsabilidad del servidor SMTP. Muchos MUAs permiten a los usuarios especificar un equipo remoto para que actúe como el servidor SMTP del usuario (contrario a reenviar correo al MTA local para envío). [1] Entrega local
  31. 31. 31 Network Applications Todos los casos anteriores asumen que el usuario está enviando correo electrónico desde su máquina a un destinatario en una máquina remota. Linux (y Unix) también permite a los usuarios en una máquina local enviar correo electrónico entre sí, donde el correo electrónico se dirige únicamente al nombre de usuario tal como blondie. Para entrega local no se requiere ninguno de los servidores locales POP o SMTP porque el correo electrónico se entrega al instante por el MTA local. El MUA mail Quizás el MUA más sencillo es un comando llamado simplemente mail. El comando mail data de los primeros días de Unix y por lo tanto depende altamente del MTA local. El comando mail no puede ser configurado para acceder al correo desde un servidor POP o IMAP, ni puede ser configurado para utilizar un servidor SMTP para correo saliente. En su lugar, puede esperar correo que sea enviado al directorio de almacenamiento temporal y pasa al MTA de correo local para envío. No obstante, en situaciones tales como envío de correo a usuarios locales, el comando mail puede ser bastante eficaz. Envío de correo electrónico con mail El comando mail puede utilizarse para enviar correo a destinatarios especificados como argumentos en la opción de la línea de comandos. El cuerpo del mensaje se lee desde la entrada estándar (la cual puede leerse desde una tubería, un archivo redirigido o desde un teclado directamente, en donde CONTROL-D ("EOF") se utiliza para indicar el fin del mensaje). Las opciones de línea de comandos en el cuadro siguiente pueden utilizarse para especificar una línea de asunto, destinatario a, "Cc:", etc. Table 1. Opciones de línea de comandos para el comando mail Opción Efecto -v Modo verboso. Imprime la comunicación entre el comando mail y el MTA local (o remoto). -s Especifica una línea de asunto. asunto -c addrs Envía copia a las direcciones especificadas. -b addrs Envía copias ciegas a direcciones especificadas. A manera de ejemplo, a continuación, elvis envía por correo el contenido del archivo lyrics.txt a blondie. [elvis@station elvis]$ mail -s "here they are" blondie < lyrics.txt
  32. 32. 32 Network Applications Uso de mail para leer correo El comando mail puede también utilizarse para leer la correspondencia de un almacenamiento temporal de correo de usuario local. Sin embargo, la interfaz es primitiva y por lo general se utilizan en su lugar otros MUAS. Para mayor información vaya a la página de correo mail. Actualmente, el comando mail se considera como una forma rápida y eficaz de enviar correo. En el siguiente ejemplo, blondie está utilizando el comando mail sin argumentos para ver el correo en su buzón y luego borrar el mensaje y salir. [blondie@station blondie]$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/blondie": 1 message 1 new >N 1 elvis@redhat.com Thu Nov 13 00:08 16/653 "here they are" & RETURN Message 1: From elvis@station.example.com Thu Nov 13 00:08:45 2003 Date: Thu, 13 Nov 2003 00:08:44 -0500 From: elvis@station.example.com To: blondie@station.example.com Subject: here they are 100 bottles of ink on the wall. 100 bottles of ink. Take one down, Pass it around. & d & q Ejemplos Envío de correo Una forma fácil y rápida de enviar archivo de texto a otro usuario es con mail [julius@station julius]$ mail -s "here's the file" nero < somefile También es fácil con mail enviar la salida de un comando a otro usuario. [julius@station julius]$ find . -name "*.old" | mail -s "find output" nero Protocolo sencillo de transporte de correo Mediante un simple comando de correo con la opción verbosa, un usuario puede observar el proceso por el que pasa sendmail para entregar un mensaje. [julius@station julius]$ mail -v -s hello elvis@localhost this is only a test .
  33. 33. 33 Network Applications elvis@localhost... Connecting to [127.0.0.1] via relay... 220 station.example.com ESMTP Sendmail 8.12.8/8.12.8; Sat, 12 Apr 2003 13:08:30 -0400 >>> EHLO station.example.com 250-station.example.com Hello localhost.localdomain [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-DELIVERBY 250 HELP >>> MAIL From:julius@station.example.com SIZE=60 250 2.1.0 julius@station.example.com... Sender ok >>> RCPT To:elvis@station.example.com >>> DATA 250 2.1.5 elvis@station.example.com... Recipient ok 354 Enter mail, end with "." on a line by itself >>> . 250 2.0.0 h3CH8U3j002250 Message accepted for delivery elvis@localhost... Sent (h3CH8U3j002250 Message accepted for delivery) Closing connection to [127.0.0.1] >>> QUIT 221 2.0.0 station.example.com closing connection Ejercicios en línea Lab Exercise Objetivo: Enviar correo electrónico a usuarios locales. Estimated Time: 10 mins. Especificaciones 1. Utilice el comando mail para enviar por correo el contenido del archivo /proc/cpuinfo a sus cuentas primaria y alterna (i.e, los usuarios nombredeusuario_a y nombredeusuario_b, donde nombre de usuario es el nombre de su cuenta primaria. 2. Cree el archivo ~/you_have_mail que contiene una lista ordenada de todos los usuarios en su sistema local que actualmente tienen correo en sus "buzones de entrada" (i.e. su directorio de almacenamiento temporal entregado pero no leído aún). Debe incluir usuarios de "sistema" en su lista y listar un usuario por línea. Question 1 1. Sus cuentas alternas primera y segunda tienen el contenido del archivo /proc/cpuinfo en su depósito de correo entregado. 2. El archivo ~/you_have_mail debería contener una lista ordenada de como los
  34. 34. 34 Network Applications usuarios tienen correo en espera en su depósito de correo, (obviamente, sus nombres de cuentas alternas primera y segunda deben incluirse en esta lista). Capítulo 5 El MUA Evolution Conceptos clave • • • • El MUA evolution ofrece un entorno sofisticado para la administración de correo electrónico. La ventana de composición permite la composición de mensajes ya sea en texto sin formato o en formato HTML e incluye un corrector ortográfico y soporte para anexos. El correo electrónico de entrada puede procesarse automáticamente mediante un filtrado sofisticado. evolution permite enviar correo desde el depósito de correo local y servidores POP o IMAP. Evolution Quizás el MUA más sofisticado que se distribuye con Red Hat Enterprise Linux es evolution. El agente de usuario de correo es apenas un componente del administrador de la información personal de evolution. En esta sección, presentamos algunas de las características clave de la aplicación evolution e identificamos cómo configurar evolution para recibir correo electrónico desde varias fuentes y cómo enviar correo mediante el servidor local MTA o el servidor remoto SMTP. De hecho, Evolution es mucho más que un MUA. En la toma de pantalla siguiente verá que también tiene herramientas para administrar contactos, calendario de eventos y listas de tareas. Lo invitamos a experimentar con estos elementos cuando el tiempo se lo permita, pero la lección se enfocará en el uso de evolution para envío y recepción de correo. Navegar correo electrónico Figure 1. El agente usuario de correo Evolution Desde la pantalla principal, el correo se puede clasificar en una jerarquía de carpetas navegables mediante el recuadro en la parte superior izquierda. En la parte superior derecha del recuadro, se presenta un resumen de mensajes almacenados en la carpeta actual seleccionada. En el recuadro de la parte inferior derecha se visualiza el contenido del actual mensaje.
  35. 35. 35 Network Applications Haciendo "click derecho" en un mensaje, un menú emergente ofrece una variedad de acciones, tales como almacenar el mensaje como archivo de texto, responder a un mensaje o reenviar el mensaje, "marcando" el mensaje con una bandera particular, "etiquetando" el mensaje en un color determinado o identificando el mensaje como correo basura. Un mensaje se puede archivar en otra carpeta con sólo arrastrar el mensaje al sitio de la carpeta deseada en el panel a mano izquierda. Al elegir "Agregar remitente a agenda de direcciones" se pueden crear nuevos contactos fácilmente. Por último, los filtros se pueden crear al tratar correos electrónicos con características similares al actual mensaje. Escribir correo electrónico La ventana de composición se utiliza para crear un nuevo mensaje, responder o reenviar un mensaje. Figure 1. La ventana de composición de correo electrónico Evolution Como se puede ver en la toma de pantalla, la ventana de composición proporciona un editor sencillo para componer texto y anexar archivos. Si se desea, los mensajes se pueden formatear como "HTML", para permitir a los usuarios incorporar enlaces, imágenes, y elementos sencillos HTML en el mensaje. Como es texto escrito, las palabras no identificadas por el corrector ortográfico son subrayadas y con un click derecho, se sugieren remplazos que pueden buscarse en el diccionario o palabras que pueden agregarse al diccionario personal del usuario. Al seleccionar el menú Security, los usuarios pueden elegir entre firmar o encriptar su mensaje mediante un protocolo de clave pública encriptada. Uso de Filtros Evolution La aplicación evolution soporta muchas características que permiten administrar grandes cantidades de correo electrónico. Una de las herramientas primarias son los filtros de correo electrónico. Como se ve a continuación, los filtros se componen de una selección de criterios coincidentes que serán aplicados al correo electrónico recibido. Si un mensaje coincide con los criterios entonces se pueden poner en práctica una norma o un grupo de normas.
  36. 36. 36 Network Applications Figure 1. Filtros de correo electrónico Evolution Los mensajes se pueden seleccionar al combinar algunos de estos criterios. • • • • • • • • El remitente o el destinatario del mensaje contiene un texto especificado. La línea de asunto u otra línea de encabezado especificada, contiene un texto especificado. El cuerpo del mensaje contiene texto especificado. La fecha en la que se envió o se recibió el mensaje o después del tiempo especificado. El mensaje se ha etiquetado o marcado para "seguimiento". El mensaje parece haber sido enviado desde una lista de correo especificada. El mensaje coincide con una expresión regular especificada. El mensaje cuando es entubado a un comando de shell arbitrario, devuelve un valor de retorno especificado. Cuando coincide, el mensaje puede estar sujeto a alguna combinación de los siguientes destinos. • • • • El mensaje puede ser copiado o movido automáticamente a una carpeta especificada. Se puede asignar al mensaje una bandera particular, una puntuación o una etiqueta. Puede reproducirse una campana de terminal o algún sonido personalizado. El mensaje puede entubarse a una shell de comando arbitraria. Configuración de cuentas en Evolution Evolution permite a los usuarios administrar múltiples cuentas, donde una cuenta representa un origen particular de correo electrónico, un destino particular para correo electrónico, una identidad particular de un remitente entre otras opciones. Las cuentas se pueden crear, borrar, habilitar, inhabilitar o modificar mediante el siguiente diálogo, el cual se obtiene seleccionando Herramientas: Configuración... y eligiendo el "Panel de cuentas de correo". Figure 1. Administración de cuentas Evolution Especificación de la fuente del correo electrónico Evolution, permite recuperar correspondencia desde varias fuentes como se puede apreciar en el siguiente diálogo.
  37. 37. 37 Network Applications Figure 1. Especificación de fuentes de las cuentas de correo de Evolution Las primeras dos selecciones especifican que el correo se debería recuperar desde los servidores POP o IMAP. Para cada uno, el diálogo permite especificar el nombre de servidor, el nombre de cuenta y la contraseña. Si el servidor de POP o IMAP soporta codificación, el encapsulado SSL puede especificarse. También se ofrecen otros esquemas de autenticación (diferentes a un par de nombre de usuario-contraseña), si el servidor los soporta. El resto de las opciones permiten a evolution sacar correo directamente del depósito de correo MTA o compartir carpetas con otros MTA como por ejemplo, mutt, pine y elm. Especificar una técnica de entrega de correo electrónico Para cada cuentase pueden especificar una de dos técnicas de entrega. Figure 1. Especificar una técnica de entrega de cuenta de correo electrónico de Evolution Si se debe utilizar un host SMTP, debe especificarse el nombre del host. Además se pueden establecer soporte para conexiones encriptadas o autenticación de usuario si la máquina SMTP es compatible o lo requiere. La otra alternativa es hacer que evolution entregue correo simplemente pasándolo al MTA local ("enviar correo"), en cuyo caso no hay ninguna otra configuración. Capítulo 6 Aplicaciones de diagnósticos de red Conceptos clave • • • • • /sbin/ifconfig presenta la configuración IP local. ping confirma la conectividad de red de bajo nivel entre hosts. host hace solicitudes directas de DNS. El comando netstat -tuna lista los servicios actuales activos de red y conexiones. /sbin/traceroute puede diagnosticar problemas de enrutado. Configuración requerida para el protocolo de internet El protocolo de Internet o más común el protocolo IP es el estándar adoptado para entregar información entre máquinas conectadas por una red. Para utilizar el protocolo IP, una máquina debe configurarse de la siguiente manera.
  38. 38. 38 Network Applications Aunque la configuración de un sistema con la información IP de configuración apropiada requiere privilegios de root, este cuaderno demuestra la forma de determinar la configuración de red de una máquina local e introduce utilidades que sirven para confirmar que la infraestructura de red de la máquina esté funcionando adecuadamente. Dirección IP Linux (y Unix) representa los dispositivos de red conectados a una máquina (tales como una tarjeta Ethernet, una tarjeta Token-Ring, un módem utilizado para conexiones de marcado, etc...) como una interfaz de red. Antes de que una interfaz pueda utilizarse para enviar o recibir tráfico, debe configurarse con una dirección IP que sirve como la identidad de la interfaz. Portal predeterminado La mecánica de un protocolo IP organiza máquinas en subredes o subnets en inglés. Todas las máquinas en una subred pueden intercambiar información directamente. Las subredes IP están a su vez ligadas a otras subredes por máquinas que actúan como routers. Un router tiene múltiples interfaces de red, por lo general cada uno participa en una subred distinta. Con el fin de comunicarse con un equipo en otra subred, los datos deben pasarse a un router, el cual (con la ayuda de otros routers) encamina la información a la subred apropiada y desde allí al host apropiado. Para comunicarse con las máquinas fuera de la subred local, su máquina debe conocer la identidad de un router cercano. El router utilizado para encaminar paquetes fuera de su subred local se conoce como un portal predeterminado. Nameserver Otras máquinas en internet a su vez se identifican por una dirección IP. La gente suele pensar en términos de nombres, por lo tanto el protocolo se ha desarrollado para asignar nombres a las direcciones IP. El protocolo se llama Servicio de Nombres de Dominio o más conocido como DNS. El protocolo DNS requiere que cada máquina tenga disponible uno o más servidores DNS (comúnmente llamados servidores de nombre), los cuales pueden servir tanto de base de datos para asignar un nombre a direcciones locales IP como también de punto de partida para determinar direcciones IP para nombres de dominio de los cuales el servidor no tiene conocimento directo. Determinar su(s) dirección(es) IP: /sbin/ifconfig En una lección anterior presentamos el comando hostname -i, el cual muestra la dirección IP en su equipo local. En realidad una "máquina" no tiene una dirección IP, las interfaces de red sí. Esta lección tratará el tema de direcciones IP de interfaces de red en mayor detalle.
  39. 39. 39 Network Applications En Linux (y Unix), cada dispositivo de red se representa como una interfaz de red, (por una vez, ¡encontramos algo que no es un archivo!). Linux nombra interfaces de acuerdo con el tipo de dispositivo que representa. El siguiente cuadro lista algunos de los nombres más utilizados en Linux. Table 1. Interfaces de red Linux Interfaz Dispositivo ethn Tarjeta Ethernet trn Tarjeta de Token-Ring fddin Tarjeta de fibra óptica pppn Conexión de marcado a través de módem lo Dispositivo de bucle local En cada caso, n se remplaza por un número entero para cada instancia de un dispositivo determinado conectado a una máquina. Confirmar la configuración de la interfaz de red El comando ifconfig muestra la configuración de interfaces de red activas. Puesto que el comando suele ser utilizado por root para configurar interfaces, éste vive dentro del directorio /sbin, el cual está fuera de la RUTA predeterminada para los usuarios estándar. No obstante, los usuarios estándar pueden usar el comando para ver información de configuración de interfaz, utilizando una referencia absoluta como en el ejemplo a continuación. [blondie@station blondie]$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:00:86:4D:F0:0C inet addr:192.168.0.51 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1716503 errors:0 dropped:0 overruns:2 frame:0 TX packets:2146415 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:193489123 (184.5 Mb) TX bytes:1299754457 (1239.5 Mb) Interrupt:11 Base address:0xd400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:206054 errors:0 dropped:0 overruns:0 frame:0 TX packets:206054 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:22911068 (21.8 Mb) TX bytes:22911068 (21.8 Mb) A la interfaz eth0 se le asigna una dirección IP de 192.168.0.254.
  40. 40. 40 Network Applications El comando ifconfig presenta una estrofa de información de la configuración IP y las estadísticas de uso para cada interfaz de red activa. En la mayoría de los casos, los usuarios esperarían ver dos estrofas. Una estrofa con la configuración para una tarjeta Ethernet y otra con la configuración para el dispositivo virtual de bucle local. La línea importante es la segunda línea, la cual visualiza la dirección IP asignada a la interfaz. Si la línea que contiene la dirección IP falta o si la dirección no parece razonable para su configuración de red local, podrá tener problemas para acceder la red. Determinar su portal por defecto: /sbin/route Como se mencionó al comienzo de la lección, para la comunicación con equipos en sus subredes locales se utilizan procedimientos diferentes a la comunicación con hosts en una subnet separada. El kernel de Linux, al igual que otras kernels, define las máquinas que deberían considerarse locales y la gateway que debería usarse para ayudar a comunicarse con aquellas que no lo son. Este cuadro se llama cuadro de enrutamiento. Si usted es un usuario estándar, el comando route se puede utilizar para ver el cuadro de enrutamiento del sistema. Si es un usuario root, el comando puede también utilizarse para manipular el cuadro. Al igual que el comando ifconfig, el comando route vive en el directorio /sbin, por lo tanto los usuarios estándar deben invocarlo mediante una referencia absoluta. [blondie@station blondie]$ /sbin/route Kernel IP routing table Destination Gateway Genmask Use Iface 192.168.0.0 * 255.255.255.0 0 eth0 127.0.0.0 * 255.0.0.0 0 lo default server1.example 0.0.0.0 0 eth0 Flags Metric Ref U 0 0 U 0 0 UG 0 0 Un cuadro de ruta estándar visualiza dos tipos de entrada. El primer tipo define qué subredes se deben considerar como locales. En general, debería haber una línea que especifique una subred para cada interfaz activa. En la salida anterior, la primera línea define la subnet asociada con la interfaz de Ethernet (con una dirección IP de 192.168.0.51) y la segunda línea define la subred asociada con la interfaz de bucle local (con una dirección IP de 127.0.0.1). El segundo tipo de entrada que sirve para definir gateways es el más importante para nuestra discusión. Dichas entradas de gateway se pueden distinguir porque el host está definido en la segunda columna ("Gateway") y la cuarta columna ("Banderas") contiene una "G". Cada cuadro de ruta debe contener una entrada para la gateway "por defecto" y la segunda columna debe contener el nombre del host del gateway. La misma información se puede ver mediante la dirección IP en lugar de nombres del host utilizando /sbin/route -n.
  41. 41. 41 Network Applications [blondie@station blondie]$ /sbin/route -n Kernel IP routing table Destination Gateway Genmask Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 0 lo 0.0.0.0 192.168.0.254 0.0.0.0 0 eth0 Flags Metric Ref U 0 0 U 0 0 UG 0 0 Aquí, blondie determina que su máquina está utilizando el host 192.168.0.254 como su gateway predeterminado. La bandera "G" indica que esta línea se utiliza para definir una gateway, no una subred local. Determinar su(s) nombre de usuario(s) El Servicio de Nombres de Dominio permite a los usuarios referirse a los computadores de la red mediante nombres de host en lugar de direcciones IP. A diferencia de los otros dos aspectos de configuración de red, un servidor de nombre es hasta cierto punto opcional. Con el fin de comunicarse con otras máquinas su equipo debe tener una dirección IP. Si desea comunicarse con máquinas fuera de la subred, usted debe tener una gateway por defecto. Sin embargo, si los usuarios quieren referirse a cada máquina por dirección IP en lugar de nombre de máquina, su equipo puede comunicarse mediante el protocolo IP sin consultar el servidor de nombres. No obstante, en la práctica los servidores de nombres parecen ser más necesarios (se le facilita más memorizar academy.redhat.com o 66.187.232.51?). Convertir un nombre de host en una dirección IP suele conocerse como resolver una dirección y la biblioteca que ejecuta el servicio de nombre se llama la biblioteca resolv. Cuando la biblioteca intenta resolver una dirección suele haber dos recursos disponibles. Configuración DNS estática: /etc/hosts El primer recurso es un archivo de texto sencillo llamado archivo /etc/hosts. Aunque sólo root puede editar el archivo cualquier usuario puede observarlo. [blondie@station blondie]$ cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost rha-server 192.168.0.254 server1.example.com server s 192.168.0.1 station1 station1.example.com www1 www1.example.com 192.168.0.51 station51 station51.example.com 192.168.129.201 z 160.168.170.24 rosemont.example.com dhcp-1116-114 r El formato del archivo es sencillo. El primer símbolo en la línea debería ser una dirección IP y los símbolos subsiguientes son nombres de hosts que deberían apuntar a la dirección IP. El caracter estándar de comentario de Unix (“#”) también es compatible.
  42. 42. 42 Network Applications Si el equipo sólo se está comunicando con pocas máquinas o si un administrador desea crear un atajo de nombres de host (tal como “s”) o si deseara anular el servidor de nombre local, las entradas pueden agregarse al archivo /etc/hosts mediante un editor de texto sencillo. Claro está que esta técnica no escala bien. Usted no puede esperar que el archivo /etc/hosts le responda a todo. Configuración DNS dinámica: /etc/resolv.conf Cuando el /etc/hosts local no puede dar respuesta, la biblioteca resolv consulta un servidor de nombres. Para determinar qué máquina consultar que esté ejecutando un servidor de nombres, examina el archivo de configuración de la biblioteca de resolv, /etc/resolv.conf. [blondie@station blondie]$ cat /etc/resolv.conf ; generated by /sbin/dhclient-script search example.com nameserver 192.168.0.254 nameserver 207.175.42.153 El host 192.168.0.254 está actuando como el servidor de nombre primario. El host 207.175.42.153 está actuando como el servidor de nombres secundario. El archivo de configuración /etc/resolv.conf utiliza líneas que comienzan por la palabra clave servidor de nombres para especificar las direcciones IP de máquinas ejecutando servidores de nombre. Si se especifican varios servidores de nombres, se utilizará el primero por defecto. Si no está disponible se utilizará el segundo y así sucesivamente. Por consiguiente, el primer servidor de nombres listado suele llamarse servidor de nombres primario, el segundo servidor listado servidor de nombres secundario y así sucesivamente. Observe que el servidor de nombres no necesita estar cerca de la máquina. Cualquier equipo que esté ejecutando el servidor de nombres y le permita solicitarlo, puede usarse como servidor de nombres. En la práctica, el uso de un servidor de nombres local genera un mayor rendimiento. Utilidades de diagnóstico de red En las secciones anteriores, hemos esbozado las técnicas más directas para determinar su configuración de red IP local de la máquina. En esta sección, presentaremos las utilidades de diagnóstico que sirven para asegurar que las configuraciones están funcionando correctamente con su entorno de red local. Confirmación de conectividad IP: ping
  43. 43. 43 Network Applications El comando ping sirve para confirmar la conectividad IP entre dos equipos. El primer argumento para ping puede ser el nombre del equipo o la dirección IP de la máquina que usted desearía contactar. [blondie@station blondie]$ ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data. 64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=0.245 ms 64 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=0.180 ms 64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=0.186 ms CTRL-C --- 192.168.0.254 ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.180/0.203/0.245/0.033 ms El comando ping debería presentar una línea por segundo, incluyendo el número de secuencia y la información de temporización sobre la demora de ida y vuelta, la cual reporta el tiempo necesario para recibir una respuesta de la máquina remota. El comando ping continuará ejecutándose hasta cancelarse con la secuencia de control CONTROL-C. Si no hay respuesta para el comando ping, usted no podrá esperar que se presente ninguna comunicación de red de alto nivel. El culpable suele ser un cable Ethernet que se ha desconectado físicamente de la máquina o de la pared. Las inconsistencias en la tasa en la que las líneas se presentan o la discontinuidad en los números de secuencia son generalmente indicativos de una red congestionada o de una conexión ruidosa y se puede esperar un bajo rendimiento de red de protocolos de alto nivel. Examen de ruta: /usr/sbin/traceroute Cuando se conecte a una máquina fuera de su subred, su paquete pasa de router a router a medida que atraviesa varias subredes hasta que finalmente se envía a la subred que contiene la máquina destino. La ruta del paquete, cuando pasa de router a router puede trazarse con el comando /usr/sbin/traceroute. El comando traceroute suele llamarse con un argumento, el nombre del equipo o la dirección IP de la máquina destino. [blondie@station blondie]$ /usr/sbin/traceroute www.whitehouse.gov traceroute: Warning: www.whitehouse.gov has multiple addresses; using 12.129.72.144 traceroute to a1289.g.akamai.net (12.129.72.144), 30 hops max, 38 byte packets 1 2 3 4 5 6 7 8 server1 (192.168.0.254) 0.243 ms 0.162 ms 0.252 ms 10.44.160.1 (10.44.160.1) 8.563 ms 10.488 ms 7.642 ms srp2-0.rlghncg-rtr1.nc.rr.com (24.25.1.99) 7.382 ms 10.162 ms 0.874 ms srp4-0.rlghnca-rtr2.nc.rr.com (24.25.2.146) 10.008 ms 8.798 ms 15.931 ms srp13-0.rlghncrdc-rtr2.nc.rr.com (66.26.33.178) 4.259 ms 10.079 ms 10.031 ms son0-1-1.chrlncsa-rtr6.carolina.rr.com (24.93.64.81) 29.675 ms 9.950 ms 29.665 ms pop1-cha-P4-0.atdn.net (66.185.132.45) 10.087 ms 21.045 ms 8.202 ms bb2-cha-P2-0.atdn.net (66.185.132.42) 11.392 ms 20.371 ms 9.712 ms
  44. 44. 44 Network Applications 9 bb2-ash-P13-0.atdn.net (66.185.152.50) 29.322 ms 26.192 ms 25.901 ms 10 pop2-ash-P1-0.atdn.net (66.185.139.211) 26.506 ms 26.485 ms 26.208 ms 11 ATT.atdn.net (66.185.140.250) 26.704 ms 27.127 ms 21.004 ms 12 tbr1-p014001.wswdc.ip.att.net (12.123.9.82) 38.888 ms 22.006 ms 28.123 ms13 gbr6-p20.wswdc.ip.att.net (12.122.11.174) 29.880 ms 19.628 ms 31.080 ms 14 gar3-p370.wswdc.ip.att.net (12.123.9.69) 24.231 ms 29.829 ms 20.827 ms 15 mdf1-gsr12-2-pos-7-0.atl1.attens.net (12.122.255.154) 40.184 ms 50.815 ms 38.903 ms 16 mdf1-bi8k-2-eth-1-1.atl1.attens.net (12.129.64.246) 39.845 ms 39.803 ms 39.887 ms 17 12.129.72.144 (12.129.72.144) 39.856 ms 39.934 ms 39.898 ms Usted hallará con frecuencia que los paquetes toman rutas sorpresivas para ir de un lugar a otro. El número de routers que su paquete pasa suele conocerse como el número de saltos que ha hecho el paquete. El paquete anterior hizo 17 saltos para alcanzar su destino. Si su paquete no puede completar el primer salto, es probable que su gateway por defecto de su máquina no haya sido determinada correctamente. Si su traceroute termina entre la primera pareja o salta (sin alcanzar el destino final), el problema es un router local mal configurado y su administrador de red local probablemente ayude a resolver el problema. Si el comando traceroute se agota a más de cuatro o cinco saltos, es probable que el problema esté fuera de control de su administrador de red local. Realización de solicitudes DNS de modo manual: host El comando host se puede utilizar para realizar directamente solicitudes DNS. Con un argumento, el comando host sólo reportará la resolución DNS solicitada. [blondie@station rha030]$ host academy.redhat.com academy.redhat.com has address 66.187.232.51 Si la opción -a se incluye, el comando host presenta información detallada de la solicitud realizada y la respuesta recibida en el formato de "registro de recursos". Además, la línea final identificará el servidor de nombres que resolvió la solicitud y la cantidad de tiempo que se necesitó para ello. [elvis@station rha030]$ host -a academy.redhat.com Trying "academy.redhat.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53870 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0 ;; QUESTION SECTION: ;academy.redhat.com. IN ANY ;; ANSWER SECTION: academy.redhat.com. 284 IN A 66.187.232.51 ;; AUTHORITY SECTION: redhat.com. redhat.com. redhat.com. 584 584 584 IN IN IN NS NS NS ns1.redhat.com. ns2.redhat.com. ns3.redhat.com. Received 106 bytes from 192.168.0.254#53 in 30 ms
  45. 45. 45 Network Applications En este ejemplo, el servidor de nombres que respondió tiene una dirección IP de 192.168.0.254. Ejemplos Diagnóstico de dificultades de red La usuaria madonna está teniendo problemas para que su navegador de red mozilla se conecte al sitio www.yahoo.com y cree que la máquina local podría estar mal configurada. Procede a examinar sus configuraciones de red local y confirma que parecen funcionales. Siguiendo el consejo de iniciar con lo básico, madonna primero se asegura que la máquina tenga una dirección IP, examinando su configuración de interfaz de red local. [madonna@staton madonna]# /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:50:8B:0C:B1:D5 inet addr:109.125.90.86 Bcast:109.125.90.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:513364 errors:0 dropped:0 overruns:0 frame:0 TX packets:319118 errors:0 dropped:0 overruns:0 carrier:0 collisions:5068 txqueuelen:100 RX bytes:78770024 (75.1 Mb) TX bytes:356094835 (339.5 Mb) Interrupt:11 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:63432 errors:0 dropped:0 overruns:0 frame:0 TX packets:63432 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6124991 (5.8 Mb) TX bytes:6124991 (5.8 Mb) Convencida que su interfaz está activa y utilizando la dirección IP 109.125.90.86, examina su información de ruta para determinar su gateway por defecto. [madonna@station madonna]# /sbin/route -n Kernel IP routing table Destination Gateway Genmask Use Iface 109.125.90.0 * 255.255.255.0 0 eth0 127.0.0.0 * 255.0.0.0 0 lo 0.0.0.0 109.125.90.1 0.0.0.0 0 eth0 Flags Metric Ref U 0 0 U 0 0 UG 0 0 Luego utiliza el comando ping para confirmar si puede contactar la gateway. [madonna@station madonna]# ping 109.125.90.1 PING 109.125.90.1 (109.125.90.1) from 109.125.90.86 : 56(84) bytes of data.
  46. 46. 46 Network Applications 64 bytes from 109.125.90.1: icmp_seq=1 ttl=255 time=2.92 ms 64 bytes from 109.125.90.1: icmp_seq=2 ttl=255 time=2.65 ms CTRL-C --- 109.125.90.1 ping statistics --2 packets transmitted, 2 received, 0% loss, time 1004ms rtt min/avg/max/mdev = 2.652/2.788/2.924/0.136 ms Satisfecha, cancela el comando y luego examina su configuración DNS. [madonna@station madonna]# cat /etc/resolv.conf search example.com nameserver 109.125.90.75 nameserver 109.125.90.2 nameserver 66.218.71.63 Puesto que ella todavía no ha llamado el host externo de su subred local, intenta llamar a un servidor de nombres terciario. [madonna@station madonna]# ping 66.218.71.63 PING 66.218.71.63 (66.218.71.63) from 109.125.90.86 : 56(84) bytes of data. 64 bytes from 66.218.71.63: icmp_seq=3 ttl=54 time=11.2 ms 64 bytes from 66.218.71.63: icmp_seq=7 ttl=54 time=20.3 ms 64 bytes from 66.218.71.63: icmp_seq=11 ttl=54 time=27.7 ms CTRL-C --- 66.218.71.63 ping statistics --13 packets transmitted, 3 received, 76% loss, time 12045ms rtt min/avg/max/mdev = 11.275/19.766/27.702/6.717 ms Los resultados del comando ping son un poco problemáticos, porque la mayoría de sus paquetes se han quitado. En su lugar ella intenta determinar el camino recorrido por los paquetes a la máquina. [madonna@station madonna]# /usr/sbin/traceroute -n 66.218.71.63 traceroute to 66.218.71.63 (66.218.71.63), 30 hops max, 38 byte packets 1 209.125.90.1 3.473 ms 2.276 ms 2.281 ms 2 10.252.86.221 8.836 ms 15.761 ms 16.423 ms 3 216.217.3.193 11.293 ms 20.227 ms 15.257 ms 4 216.217.3.153 13.123 ms 10.306 ms 7.699 ms 5 63.215.192.173 10.835 ms 6.679 ms 6.881 ms 6 64.159.2.169 6.789 ms 7.117 ms 7.520 ms 7 64.152.69.30 12.358 ms 7.087 ms 6.877 ms 8 66.218.71.63 9.680 ms 11.787 ms 9.963 ms Puesto que traceroute retornó dicha solicitud de salida, madonna asume que cualquier problema observado con el comando ping anterior debió haber sido transitorio. Por último, ella confirma que su servidor de nombres es operacional al realizar unas pocas solicitudes de DNS con el comando host.
  47. 47. 47 Network Applications [madonna@station madonna]$ host www.redhat.com www.redhat.com has address 66.187.232.50 [madonna@station madonna]$ host hardware.redhat.com hardware.redhat.com is an alias for enterprise.redhat.com. enterprise.redhat.com has address 66.187.233.193 [madonna@station madonna]$ host www.yahoo.com www.yahoo.com is an alias for www.yahoo.akadns.net. www.yahoo.akadns.net has address 66.218.71.95 www.yahoo.akadns.net has address 66.218.70.48 ... Convencida de que todo parece estar bien, trata de nuevo el navegador de red mozilla y tiene éxito. Sea cualquiera el problema que estaba teniendo debe haberse relacionado con la congestión de red transitoria observada con el comando ping. Ejercicios en línea Lab Exercise Objetivo: Determinar la configuración de red local Tiempo estimado: 15 minutos. Especificaciones Crear los siguientes archivos, cada uno de los cuales debería contener su dirección IP como un "quad punteado". Archivo Contenido ~/net_ipaddr La dirección IP asignada a la interfaz eth0. ~/net_gw La dirección IP preseterminada de su gateway. ~/net_ns La dirección IP del servidor de nombres primario. Question 1 1. Los tres archivos presentados arriba, cada uno de los cuales contiene la dirección IP especificada como su única palabra. Capítulo 7 Terminal de red y clientes FTP
  48. 48. 48 Network Applications Conceptos clave • • • El cliente HTTP de terminal Elinks, invocado como el comando links se puede utilizar para navegar páginas web desde un entorno gráfico. La aplicación curl es una aplicación de protocolo múltiple no interactivo (incluyendo HTTP, HTTPS y FTP) que sirve para transferir archivos en modo de lote. La aplicación wget es una aplicación de protocolo múltiple no interactiva (incluyendo HTTP, HTTPS y FTP) que sirve para transferir de modo recursivo páginas web, buscando en todas las páginas las referencias de página web. ¿Por qué terminales basadas en clientes? Los usuarios probablemente están familizados con las aplicaciones gráficas tales como mozilla para navegar la red o nautilus para tener acceso a servidores FTP. Aparte de estas aplicaciones, Linux también ofrece una amplia colección de clientes basados en la línea de comandos. ¿Por qué alguien estaría tentado a utilizar clientes basados en líneas de comandos en lugar de apuntar y hacer click en las aplicaciones? • • • • La razón obvia: si no está ejecutando en un entorno gráfico X, estas son las únicas utilidades disponibles. Las utilidades se pueden escribir en scripts. Si tiene que extraer información de forma repetitiva del mismo sitio, debería considerar un script para que haga el trabajo repetitivo por usted. Las utilidades de la línea de comandos requieren menos recursos. Si está tratando de descargar un archivo largo en otras máquinas ocupadas, un proceso curl es mucho más atractivo que un proceso mozilla, porque el primero consume 4 megabytes mientras que el segundo consume 40 megabytes de memoria. La simplicidad tiende a motivar la estabilidad. Cuando se descargan archivos grandes, como por ejemplo, imágenes ISO de 700 megabytes, muchas de las aplicaciones pueden volverse inestables, (la lista de culpables incluye a Internet Explorer). Los clientes de línea de comandos como curl tienden a generar resultados más estables. Navegación de páginas web con Elinks El texto Elinks de cliente HTTP (navegador de red) está diseñado para traducir páginas web en una terminal, emulando la presentación de un navegador de red gráfico. En cuanto sea posible, los cuadros y formas se presentan en escala. Observe que en la siguiente visualización de la página de red asociada con Red Hat Network, los marcos y cuadros están traducidos correctamente. Inicio de Elinks Los Elinks se inician como el comando links especificando una URL para cargar como un argumento. Observe el siguiente ejemplo.
  49. 49. 49 Network Applications [elvis@station elvis]$ links http://www.redhat.com Figure 1. El navegador de texto Elinks Cuando utilice links, la pantalla está activa y los enlaces pueden navegarse mediante teclas de flechas o el ratón. Al utilizar la tecla ESC, se crea un menú que permite al usuario acceder a los diálogos de favoritos, historial y personalización. Aunque la opción -dump sirve para entregar una página en una salida estándar y la opción -source hará lo mismo al contenido "Crudo" de la URL (a menudo botando HTML), el soporte para interacciones de guiones es muy poco sofisticado comparado

×