Accesibilidad en LANs e Internet
Transcripción
Accesibilidad en LANs e Internet
5 Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2006/2007 Accesibilidad en LANs e Internet PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET Introducción En esta práctica se estudiarán algunas de las herramientas que los sistemas operativos Linux y Windows ofrecen para examinar características y estado de la red, configuración de la propia máquina, así como el uso de algunas de ellas como ayuda para resolver problemas que se detecten en el acceso a la red. En el desarrollo de la práctica se introducen las herramientas desde un punto de vista funcional: qué aplicaciones utilizar, qué parámetros requieren, cuál es su significado y cuál es la función principal de las mismas. La relación de órdenes que se estudiarán es: ● ● ● ● ● ● ipconfig/ifconfig ping traceroute/tracert netstat arp nslookup PARTE I. Linux La orden ifconfig La orden ifconfig permite configurar y obtener información sobre la configuración de red. Utilizando esta orden con las opciones adecuadas podemos configurar todo el software de TCP/IP. En nuestro caso el software ya está instalado, así que nos limitaremos a inspeccionar la información mediante ifconfig. Si ejecutamos ifconfig seguido del nombre de un interfaz (eth0 en nuestro caso) obtendremos información sobre la configuración de la interfaz Ethernet número 0 del sistema. Si se ejecuta sin parámetros, presenta las características de todas las interfaces que se hayan configurado. A modo de ejemplo, la consulta de la configuración de la interfaz Ethernet eth0 sería: #/sbin/ifconfig eth0 eth0 Link encap:Ethernet Hwaddr 00:04:75:C8:F0:86 inet addr:158.42.180.60 Bcast:158.42.181.255 Mask:255.255.254.0 inet6 addr: fe80::204:75ff:fec8:f086/10 Scope:Link UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4316000 errors:3 dropped:0 overruns:1 frame:3 TX packets:31299 errors:0 dropped:0 overruns:0 carrier:0 collisions:34 txqueuelen:100 RX bytes:3313701041 (3160.1 Mb) TX bytes:11503484 (10.9 Mb) Interrupt:5 Base address:0xa800 2 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET La primera línea muestra el nombre de la interfaz (Eth0), el tipo de tecnología (Ethernet) y la dirección física del adaptador (HwAddr) que como vemos viene en formato hexadecimal y se corresponde con los 48 bits del estándar IEEE 802.2. En la segunda línea se muestra la dirección IP asociada al interfaz (inet addr), la dirección de difusión limitada en la red en que se encuentra (Bcast), y la máscara de red (Mask) que, como sabemos, servirá para determinar en qué red IP nos encontramos. La tercera línea muestra la dirección IPv6 equivalente. Ejercicio: En base a los valores de direcciones y máscara observados, ¿cuántos bits de la dirección IP corresponden al prefijo de red? ¿Cuál es la dirección de red del laboratorio? ¿Cuántos ordenadores se podran conectar como máximo? Con “UP BROADCAST RUNNING MULTICAST” se informa de que la interfaz está funcionando en modo difusión y multicast. Los campos MTU y Metric informan sobre los valores actuales de la MTU (Unidad Máxima de Transferencia) y de la métrica para una interfaz dada. Algunos sistemas operativos usan el valor metric para calcular el coste de una ruta. Linux no usa este valor por el momento, pero lo define por razones de compatibilidad. Las líneas RX packets y TX packets dan información sobre de los paquetes recibidos o transmitidos sin errores, del número de errores ocurridos (errors), y de estos, cuantos se debieron a la llegada de una trama defectuosa (frame). Además, se muestra cuántos paquetes han sido descartados por memoria insuficiente (dropped), y cuántos se han perdido por desbordamiento (overruns). El desbordamiento ocurre cuando la recepción de paquetes es demasiado rápida y el sistema operativo es incapaz de dar servicio al paquete anterior antes de la llegada del nuevo paquete. El número de errores detectados en las trama recibidas será típicamente muy bajo en el caso de una red por cable, y puede llegar a ser muy elevado en una red inalámbrica (si >10% la comunicación puede verse ralentizada significativamente). Si el error es del tipo carrier es porque ha habido algún problema con la transmisión de la señal. Ejercicio: Ejecuta la orden ifconfig eth0 y, basándote en la descripción anterior, analiza la información obtenida. La orden ping Mediante la orden ping (que se ejecuta desde una ventana DOS) se obtiene una estimación del tiempo de ida y vuelta de un paquete, desde la estación origen a una estación destino que se especifica. Para ello se almacena el instante de tiempo en el que se envía el paquete y cuando llega la respuesta al valor almacenado se le resta del tiempo actual. El funcionamiento de la orden ping se basa en el uso de mensajes ICMP de tipo 0 (Echo reply) y 8 (Echo request). La aplicación funciona de modo que efectúa Echo request hasta ser interrumpida (<CTRL+C>). 3 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET Otras utilidades de la orden ping son: – – Averiguar si un destino está operativo, conectado a la red y sus protocolos TCP/IP en funcionamiento, incluido el servicio Echo. Conocer la fiabilidad de la ruta entre origen y destino (calculando el porcentaje de paquetes que obtienen respuesta). Ejemplo: $ ping www.uji.es PING www.uji.es (150.128.98.62) 56(84) bytes of data. 64 bytes from www.uji.es (150.128.98.62): icmp_seq=1 ttl=115 64 bytes from www.uji.es (150.128.98.62): icmp_seq=2 ttl=115 64 bytes from www.uji.es (150.128.98.62): icmp_seq=3 ttl=115 64 bytes from www.uji.es (150.128.98.62): icmp_seq=4 ttl=115 64 bytes from www.uji.es (150.128.98.62): icmp_seq=5 ttl=115 time=66.8 time=68.8 time=70.7 time=68.6 time=70.7 --- www.uji.es ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 4002ms rtt min/avg/max/mdev = 66.886/69.172/70.760/1.469 ms La orden ping admite un serie de opciones, algunas de las más útiles se muestran a continuación: ping [-c count] [-i interval] [-s packetsize] [-t ttl] destination Opciones básicas: -c count Cantidad de solicitudes de eco a enviar. -s packetsize Tamaño del búfer de envíos. -t ttl Tiempo de vida. Ejercicio: Haz un ping a las direcciones siguientes: zoltar.redes.upv.es (servidor dentro del Laboratorio de Redes), www.upv.es (servidor web de la UPV), www.uv.es (servidor web de la Universidad de Valencia), www.elpais.es (servidor web comercial), www.berkeley.edu (servidor web de la Universidad de California en Berkeley). Interrumpe las series de peticiones cuando creas conveniente (pulsando <CTRL+C>). Anota los resultados en la tabla siguiente: Paquetes Enviados Recibidos Perdidos Tiempo de ida y vuelta (ms) Mínimo Máximo Medio zoltar. redes.upv.es www.uv.es ftp.rediris.es www.elpais.es www.berkeley.edu Los resultados que se obtienen mediante la orden ping son, a veces, difíciles de interpretar. El usuario obtiene poca información de por qué el tiempo de ida y vuelta es mayor en unos destinos que en otros. Incluso cuando no hay respuesta al ping, no es 4 ms ms ms ms ms PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET posible conocer cuál es el problema: la máquina destino está fuera de servicio, no existe una ruta desde el origen al destino o la saturación de la red es tan alta que no se obtiene respuesta del destino en un tiempo razonable. También, en ocasiones por motivos de seguridad y para evitar dar información sobre los ordenadores conectados a la red, los administradores de las redes filtran los mensajes de ping en los cortafuegos o desactivan el servicio Echo en los propios ordenadores. Los sistemas Linux suelen tener el servicio activado por defecto. En el caso de Windows no. La orden traceroute La orden traceroute permite conocer el camino (secuencia de routers) que debe atravesar un paquete para llegar desde la estación origen a la estación destino. El funcionamiento se basa en gestionar adecuadamente un parámetro de la cabecera de los datagramas IP (el campo TTL o tiempo de vida) y en la información que aportan los mensajes ICMP que generan los routers cuando les llega un datagrama cuyo tiempo de vida se ha agotado. Por cada nuevo router atravesado por el datagrama se dice que hay un salto en la ruta. Podemos decir, que el programa traceroute calcula y describe el número de saltos de una ruta. Concretamente, el funcionamiento de traceroute es el siguiente: Se envía un datagrama IP a la máquina destino con TTL igual a 1. El primer router con el que se encuentre este datagrama decrementará el TTL y al obtener un cero lo descartará, enviando un mensaje ICMP de “tiempo excedido” al origen. Así se identifica el primer router en el camino. A continuación se envía un datagrama con TTL igual a 2 para encontrar la dirección del segundo router, y así sucesivamente. Cuando el datagrama tenga un valor de TTL suficiente para llegar a su destino necesitamos que también la máquina destino genere un mensaje alertando de esta circunstancia. Para ello traceroute puede utilizar dos tácticas distintas: 1) enviar mensajes ICMP de eco request (es la que usa Windows), o 2) enviar mensajes UDP a un puerto arbitrariamente grande y muy probablemente cerrado (es la que utiliza Linux por defecto, aunque algunas versiones de la traceroute permiten escoger una u otra mediante la opcion -I 1). Si el mensaje enviado fue de eco, una respuesta de eco es señal de que el mensaje llegó a su destino final. Si lo que enviado fue un datagrama UDP, al estar el puerto cerrado en el destino, el sistema responderá con un mensaje ICMP de puerto inalcanzable (tipo=3, código=3). Para averiguar cada nuevo salto, el programa traceroute envía tres datagramas y para cada uno de ellos calcula el valor del tiempo de ida y vuelta. Si en un tiempo máximo (configurable) no hay respuesta se indica en la salida mediante un asterisco. 1 Atención: en la versión de la aplicación que viene con la distribución Debian Etch el argumento I tiene un significado y en otras distribuciones como Suse 10 tiene otro diferente. Consulta el significado de la opción I de tu versión en el manual de la orden con man traceroute. 5 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET Algunas puntualizaciones: – – – No hay ninguna garantía de que la ruta que se ha utilizado una vez vaya a ser utilizada la siguiente (cuando estudiemos el protocolo IP veremos por qué). No hay ninguna garantía de que el camino seguido por el paquete de vuelta sea el mismo que ha seguido el paquete de ida. Esto implica que a partir del tiempo de ida y vuelta que ofrece traceroute puede no ser directo estimar el tiempo de ida o de vuelta por separado (si el tiempo que tarda el paquete en ir desde el origen hasta el router es de 1 segundo y el tiempo que tarda el paquete de vuelta es de 3 segundos, el valor que nos proporcionará traceroute será de 4 segundos) La dirección IP que se devuelve en el mensaje ICMP es la dirección de la interfaz entrante del router. Ejercicio: Ejecuta la orden traceroute para los siguientes destinos y anota el número de saltos (considera XX como el número de máquina de uno de tus compañeros). ptxolXX.disca.upv.es: herodes.redes.upv.es: zoltar.redes.upv.es: www.ua.es: www.net.berkeley.edu: Observa que para alcanzar una máquina que está dentro de la red de la UPV como herodes.redes.upv.es se atraviesan, en algunos casos, varios routers ¿Qué piensas que ha ocurrido con www.ua.es y con zoltar.redes.upv.es? Ejercicio: ¿Qué significado tiene que aparezcan siempre asteriscos de manera continuada? En estos casos, fíjate si el paquete ha llegado al menos hasta la red destino. ¿Tienen estos asteriscos el mismo significado que los que aparecen en routers intermedios? Ejercicio (sólo para distribuciones Debian): Vuelve a lanzarlo, esta vez con la opción -I y analiza los resultados. Explica cuál crees que puede ser la causa de las diferencias obtenidas respecto a las respuestas anteriores. Ejercicio: Desde el navegador accede a http://www.traceroute.org/#USA. En esta página puedes seleccionar diversos sitios web desde los que puedes lanzar un traceroute a una máquina destino cualquiera. Selecciona el sitio de la University of California, Berkeley y solicita un traceroute a tu máquina de prácticas. Compara el resultado con el del ejercicio anterior. ¿Se sigue el mismo recorrido desde la UPV a Berkeley y viceversa? Observarás que algunos routers tienen nombres similares en los dos casos pero con direcciones IP distintas, ¿a qué crees que es debido? 6 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET La orden netstat La orden netstat tiene un funcionamiento muy similar al descrito para Windows 2000. A continuación describiremos únicamente la opción de esta orden que permite consultar la tabla de encaminamiento, ya que esta parte no ha sido tratada en la versión anterior. Si ejecuta netstat usando el indicador -nr, puede ver la información de la tabla de encaminamiento del núcleo (existe la orden route que produce la misma salida, aunque tiene funcionalidad adicional para manipular la tabla de encaminamiento). Por ejemplo: # netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 158.42.0.0 0.0.0.0 255.255.0.0 U 1500 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo 0.0.0.0 158.42.1.10 0.0.0.0 UG 1500 0 0 eth0 La segunda columna de la salida (Gateway) informa los destinos del siguiente salto, ya sean routers o entregas directas (0.0.0.0). Este último caso comprende tanto las entregas en la propia red (interfaz eth0) como a la misma máquina (interfaz lo). La columna Iface indica a través de qué interfaz se realizan estas rutas. La tercera columna muestra el nivel de generalización de una ruta. Dada una dirección IP, el núcleo recorre la tabla registro a registro haciendo un AND lógico de la dirección IP y la mascara de nivel de generalización (Genmask) antes de compararla con el destino que muestra dicho registro (Destination). La ruta por defecto tiene máscara 0.0.0.0. La cuarta columna muestra varios indicadores que describen la ruta: G La ruta utiliza un router U La interfaz está activa H Esta interfaz permite el acceso a una sola máquina Las columnas MSS, Window y irtt indican los valores iniciales de algunos parámetros que se utilizan en las conexiones TCP que se establecen a través de esta ruta. Ejercicio:Utiliza la orden netstat –nr y rellena la tabla siguiente para las rutas relacionadas con la interfaz eth0: Destino Router (Gateway) 7 Máscara de red PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET Concretamente, para averiguar la ruta por la que hay que encaminar un datagrama se sigue el proceso siguiente: 1. Para cada línea de la tabla de encaminamiento, se realiza un AND lógico entre la dirección IP destino del datagrama y la máscara de red. IP compara el resultado con la Red destino y marca todas las rutas en las que se produce coincidencia. 2. De la lista de rutas coincidentes IP selecciona la ruta que tiene más bits en la máscara. Esta es la ruta más específica y se conoce como la ruta de máxima coincidencia. 3. Si hay varias rutas de máxima coincidencia, se usa la ruta con menor métrica. Si hay varias con la misma métrica se usa una cualquiera de entre ellas. Ejercicio: Visualiza la tabla de encaminamiento del ordenador en el que estás trabajando. Observa las diferencias en el resultado de emplear las órdenes netstat –r y netstat –nr. La orden arp Se ha visto durante el curso que el protocolo ARP permite traducir direcciones IP (usadas para referenciar una máquina en Internet e introducidas por el nivel de aplicación) a direcciones físicas, estas últimas necesarias para poder enviar tramas. La tabla arp del sistema guardará las asociaciones entre ambas direcciones para una conexión a red dada. La orden arp permite ver el contenido de dicha tabla. Ejercicio: Visualiza la tabla arp de tu ordenador mediante la orden arp -a. La orden nslookup Se ha visto durante el curso que la orden nslookup permite traducir nombres de dominio a direcciones IP. Ejercicio: Averigua la dirección IP de www.upv.es ¿Qué servidor de nombres te ha proporcionado la traducción? El directorio /proc/net El sistema de ficheros proc es una interface que permite el acceso a la información del sistema operativo en funcionamiento a través de un sistema de ficheros. Dentro del directorio /proc se pueden listar los ficheros y ver su contenido como en cualquier otro sistema de ficheros. Para ver información relacionada con la red descenderemos al subdirectorio /proc/net. Este directorio contiene una serie de ficheros con información sobre el estado de las conexiones TCP, las tablas de encaminamiento, las 8 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET tablas ARP del núcleo, etc. La mayoría de las herramientas de administración de redes utilizan estos ficheros para acceder a la información que precisan. Visualiza el contenido del fichero /proc/net/route y compáralo con el que has visto la tabla obtenida con netstat. Haz lo mismo con /proc/net/arp. Documentación de interés sobre Linux en red http://www.faqs.org/docs/linux_network/index.html 9 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET PARTE II. Windows En Windows encontramos órdenes muy similares a las que acabamos de estudiar para Linux, en particular: • • • ipconfig, equivale a la orden ifconfig de Linux tracert, equivale a la orden traceroute de Linux ping, netstat, arp y nslookup, equivalentes a sus homónimas de Linux. Por ello, sólo revisaremos algunas diferencias significativas entre los dos sistemas operativos. Estas órdenes en Windows deben ejecutarse desde la consola denominada “Símbolo del sistema” a la que se accede desde Menú inicio – Ejecutar – command(o cmd). La orden ipconfig La orden ipconfig proporciona información sobre la configuración de la red en nuestra máquina (para cada uno de los adaptadores de red instalados). Aunque no es usada por sí misma para configurar TCP/IP si que se usa para liberar o pedir una dirección IP al servidor DHCP. La sintaxis de la orden cambia respecto de Linux. Como en la mayoría de las órdenes de la consola, se puede consultar la ayuda (escueta) de una orden escribiéndo como argumento /?: C:\>ipconfig /? Configuración IP de Windows 2000 USO: ipconfig [/? | /all | /release [adapter] | /renew [adaptador] | /flushdns | /registerdns | /showclassid adaptador | /setclassid adaptador [classidtoset] ] adaptador Nombre completo o modelo con '*' y '?' Opciones /? Muestra este mensaje de ayuda. /all Muestra toda la información de configuración. /release Libera la dirección IP para el adaptador especificado. /renew Renueva la dirección IP para el adaptador especificado. /flushdns Purga la caché de resolución de DNS. /registerdns Actualiza todas las concesiones DHCP y vuelve a registrar los nombres DNS /displaydns Muestra el contenido de la caché de resolución de DNS. /showclassid Muestra todos los Id. de clase DHCP permitidos para el adaptador. /setclassid Modifica el Id. de clase DHCP. 10 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET Tecleando simplemente ipconfig obtenemos información sobre la dirección IP de la máquina, la máscara de la subred del laboratorio (donde se encuentra conectada), el router (o puerta de enlace) que conecta dicha subred con el resto de la red de la UPV y con el exterior (Internet). Si ejecutamos la orden ipconfig /all obtenemos información adicional, entre la cual destaca: La dirección física del adaptador de red, direcciones de los servidores DNS que se usarán para traducir nombres de dominio a direcciones IP, el servidor DHCP que nos ha asignado la dirección IP (y la mayoría de parámetros que aparecen en esta ventana), y la fecha en la que fue obtenida (caducará) la dirección IP actual. Estos dos últimos datos aplicables en el caso de que la información haya sido obtenida por DHCP. Las órdenes ipconfig /release e ipconfig /renew permitirán liberar y renovar la dirección IP obtenida mediante DHCP. Ejercicio: Según la información obtenida, los servidores DNS y DHCP, ¿están en la misma subred que el computador de prácticas? ¿Por qué? Ejercicio: Ejecuta la orden ipconfig y completa la información siguiente: Dirección física del adaptador: Ethernet: Dirección IP: Máscara de subred: Dirección IP del router (puerta de enlace): Servidor DNS: Servidor DHCP: La orden ping La orden ping de Windows es muy similar a la que hemos estudiado en Linux, aunque cambian los nombres de los parámetros y en algún caso la funcionalidad es un poco más reducida. Hay que ejecutarla desde un ventana DOS y la salida que muestra es prácticamente la misma que en el caso de Linux. Ejercicio: Ejecuta la orden ping -l 2000 -f www.uji.es. ¿Qué ocurre? ¿Por qué? Consulta el significado de los argumentos que hemos empleado. La orden tracert La orden tracert de Windows es muy similar a traceroute que hemos estudiado en Linux. Comprueba que puedes usarla. 11 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET La orden netstat La orden netstat es similar a la de Linux y ofrece diversa información sobre el estado y estadísticas de los protocolos de red. Con ella se pueden obtener datos sobre los principales sucesos Ethernet, IP, ICMP, UDP y TCP. Examinaremos algunos de ellos. El formato de la orden en Windows es el que se muestra a continuación: netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo] -a Muestra todas las conexiones y puertos escucha. -e Muestra estadísticas Ethernet. Se puede combinar con -s. -n Muestra números de puertos y direcciones en formato numérico. -p proto Muestra conexiones del protocolo especificado por proto; que puede ser tcp o udp. Si se usa con la opción -s para mostrar estadísticas por protocolo, proto puede ser TCP, UDP o IP. -r Muestra el contenido de la tabla de rutas. -s Muestra estadísticas por protocolo. En forma predeterminada, se muestran para TCP, UDP e IP; se puede utilizar la opción -p para especificar un subconjunto de lo predeterminado. Intervalo Vuelve a mostrar las estadísticas seleccionadas, haciendo pausas en el intervalo de segundos especificado entre cada muestra. Ejercicio: La orden netstat –e proporciona estadísticas sobre el número de bytes y tramas enviadas y recibidas por el adaptador Ethernet. Se detallan el número de tramas unicast (un solo destino), no unicast (múltiples destinos y difusiones), paquetes erróneos y descartados. Ejecuta esta orden y anota los resultados en la tabla siguiente: Recibidos Enviados Bytes Paquetes unicast Paquetes no unicast Descartados Errores Ejercicio: La orden netstat –sp IP produce estadísticas sobre el tráfico IP. Ejecuta esta orden y anota los resultados en la tabla siguiente: Cantidad Paquetes recibidos Errores de encabezado recibidos Errores de dirección recibidos Datagramas reenviados Protocolos desconocidos recibidos Paquetes recibidos descartados Paquetes recibidos procesados Solicitudes de salida Descartes de ruta 12 PRACTICA 5: ACCESIBILIDAD EN LANS E INTERNET Paquetes de salida descartados Paquetes de salida sin ruta Reensambles requeridos Reensambles correctos Reensambles fallidos Datagramas correctamente fragmentados Datagramas mal fragmentados Fragmentos creados Ejercicio: Análogamente la orden netstat –sp TCP produce estadísticas sobre el tráfico TCP (también se pueden solicitar estadísticas sobre los protocolos ICMP y UDP). Ejecuta esta orden y anota los resultados en la tabla siguiente: Cantidad Activos abiertos Pasivos abiertos Intentos de conexión erróneos Conexiones restablecidas Conexiones actuales Segmentos recibidos Segmentos enviados Segmentos retransmitidos La orden netstat sin argumentos ofrece información sobre las conexiones activas en nuestra máquina. Si se utiliza con la opción –a, además de la información anterior se indica también la relación de puertos TCP y UDP en los que hay alguna aplicación escuchando (dispuesta a aceptar conexiones TCP o datagramas UDP). 13