Usar Traceroute y MTR para Diagnosticar Problemas de Red
Introducción
Usar Traceroute y MTR para Diagnosticar Problemas de Red. Una parte importante de la administración de servidores es monitorear la conectividad de la red.
Hay algunas herramientas que son simples de usar, pero valiosas de saber. En este artículo, discutiremos cómo usar una herramienta llamada traceroute
para diagnosticar dónde puede estar ocurriendo un problema de red.
También veremos una utilidad llamada mtr
que combina gran parte de la funcionalidad de ping y traceroute en una interfaz.
Cómo Usar Traceroute?
Traceroute es una herramienta simple para mostrar el camino a un servidor remoto. Esto puede ser cualquier cosa, desde un sitio web que está intentando visitar, hasta una impresora en su red local.
El programa traceroute está instalado por defecto en casi todas las distribuciones de Linux, por lo que no debería necesitar instalarlo.
Para llamarlo, simplemente necesitamos proporcionar un sitio web o una dirección IP que nos gustaría explorar:
<>traceroute google.com
<>traceroute to google.com (173.194.38.137), 30 hops max, 60 byte packets 1 192.241.160.253 (192.241.160.253) 0.564 ms 0.539 ms 0.525 ms 2 192.241.164.241 (192.241.164.241) 0.487 ms 0.435 ms 0.461 ms 3 xe-3-0-6.ar2.nyc3.us.nlayer.net (69.31.95.133) 1.801 ms 1.802 ms 1.762 ms 4 144.223.28.73 (144.223.28.73) 0.583 ms 0.562 ms 0.550 ms 5 144.232.1.21 (144.232.1.21) 1.044 ms 1.048 ms 1.036 ms 6 74.125.49.212 (74.125.49.212) 0.494 ms 0.688 ms 0.643 ms 7 209.85.248.180 (209.85.248.180) 0.650 ms 209.85.248.178 (209.85.248.178) 0.621 ms 0.625 ms 8 72.14.236.208 (72.14.236.208) 0.618 ms 72.14.236.206 (72.14.236.206) 0.898 ms 72.14.236.208 (72.14.236.208) 0.872 ms 9 72.14.239.93 (72.14.239.93) 7.478 ms 7.989 ms 7.466 ms 10 72.14.232.73 (72.14.232.73) 20.002 ms 19.969 ms 19.975 ms 11 209.85.248.228 (209.85.248.228) 30.490 ms 72.14.238.106 (72.14.238.106) 34.463 ms 209.85.248.228 (209.85.248.228) 30.707 ms 12 216.239.46.54 (216.239.46.54) 42.502 ms 42.507 ms 42.487 ms 13 216.239.46.159 (216.239.46.159) 76.578 ms 74.585 ms 74.617 ms 14 209.85.250.126 (209.85.250.126) 80.625 ms 80.584 ms 78.514 ms 15 72.14.238.131 (72.14.238.131) 80.287 ms 80.560 ms 78.842 ms 16 209.85.250.228 (209.85.250.228) 171.997 ms 173.668 ms 170.068 ms 17 66.249.94.93 (66.249.94.93) 238.133 ms 235.851 ms 235.479 ms 18 72.14.233.79 (72.14.233.79) 233.639 ms 239.147 ms 233.707 ms 19 sin04s01-in-f9.1e100.net (173.194.38.137) 236.241 ms 235.608 ms 236.843 ms
Cómo Leer la Salida de Traceroute?
La primera línea nos dice las condiciones bajo las cuales traceroute opera:
<>traceroute to google.com (173.194.38.137), 30 hops max, 60 byte packets
Proporciona el host especificado, la dirección IP que el DNS devuelve para ese dominio, el número máximo de saltos a verificar y el tamaño del paquete que se utilizará.
El número máximo de saltos se puede ajustar con el indicador -m
. Si el host al que está tratando de enrutar está a más de 30 saltos de distancia, es posible que deba especificar un valor mayor aquí. El valor máximo que puede establecer es 255.
<>traceroute -m 255 obiwan.scrye.net
Puede ajustar el tamaño del paquete que se envía a cada salto dando el entero después del nombre de host:
traceroute google.com 70
traceroute to google.com (173.194.38.128), 30 hops max, 70 byte packets
1 192.241.160.254 (192.241.160.254) 0.364 ms 0.330 ms 0.319 ms
2 192.241.164.237 (192.241.164.237) 0.284 ms 0.343 ms 0.321 ms
Después de la primera línea, cada línea posterior representa un "salto", o host intermedio por el que debe pasar su tráfico para llegar a la computadora representada por el host que usted especificó.
Cada línea tiene el siguiente formato:
<>hop_number host_name (IP_address) packet_round_trip_times
Aquí hay un ejemplo de un salto que podría ver:
<>3 nyk-b6-link.telia.net (62.115.35.101) 0.311 ms 0.302 ms 0.293 ms
Esto es lo que significa cada campo:
-
hop_number. Recuento secuencial del número de grados de separación que el host recibe de su computadora. El tráfico de los hosts con números más altos tiene que pasar por más computadoras para ser enrutado.
-
host_name. Este campo contiene el resultado de una búsqueda DNS inversa en la dirección IP del host, si está disponible. Si no se devuelve información de la consulta DNS inversa, se proporciona la dirección IP en sí.
-
IP_address. Este campo contiene la dirección IP para este salto de red.
-
paquete round trip_times : el resto de la línea proporciona los tiempos de ida y vuelta de un paquete al host y viceversa. De forma predeterminada, se envían tres paquetes a cada host y cada intento se agrega al final de la línea.
-
Si desea cambiar el número de paquetes que se prueban con cada host, puede especificar un número con la opción
-q
, como este:traceroute -q1 google.com
-
Si desea renunciar a la búsqueda DNS inversa para acelerar la traza, puede pasar el indicador -n
:
<>traceroute -n google.com
<>traceroute to google.com (74.125.235.7), 30 hops max, 60 byte packets 1 192.241.160.253 0.626 ms 0.598 ms 0.588 ms 2 192.241.164.241 2.821 ms 2.743 ms 2.819 ms 3 69.31.95.133 1.470 ms 1.473 ms 1.525 ms
Si su traceroute se disuelve en algunos asteriscos (*), hay un problema con la ruta al host.
<> 15 209.85.248.220 (209.85.248.220) 121.809 ms 72.14.239.12 (72.14.239.12) 76.941 ms 209.85.248.220 (209.85.248.220) 78.946 ms 16 72.14.239.247 (72.14.239.247) 101.001 ms 92.478 ms 92.448 ms 17 * * 209.85.250.124 (209.85.250.124) 175.083 ms 18 * * * 19 * * *
¿Qué Significa una Ruta Emitida?
Si su intento de traceroute se detiene en un salto o nodo en particular y no puede encontrar una ruta al host, tiene un problema.
Mientras que el salto donde la ruta no puede regresar puede ser la ubicación del problema de red, no siempre es tan fácil de diagnosticar.
Debido al hecho de que cada ping representa un paquete de ida y vuelta, y la situación donde los paquetes a menudo usan rutas diferentes en cualquier dirección, puede indicar un problema en una ruta completamente diferente, posiblemente más cercana.
También puede ser el caso de que el problema esté con el salto directamente después del último salto que veas. Es difícil diagnosticar la ubicación exacta del problema a menos que pueda obtener un traceroute de retorno de ese salto específico. Esto generalmente no es posible fuera de su propia red.
<h2Cómo Usar MTR?Una alternativa dinámica al programa traceroute es mtr
. Combinando la funcionalidad de ping y traceroute, mtr le permite sondear constantemente un servidor remoto y ver cómo la latencia y el rendimiento cambian con el tiempo.
A diferencia de Traceroute, mtr no está instalado por defecto en la mayoría de los sistemas. Puedes obtenerlo escribiendo los siguientes comandos.
Ubuntu / Debian:
<>sudo apt-get install mtr
CentOS / Fedora:
<>yum install mtr
Arco:
<>pacman -S mtr
Una vez que esté instalado, puede llamarlo escribiendo:
<>mtr google.com
<> My traceroute [v0.80] traceroute (0.0.0.0) Tue Oct 22 20:39:42 2013 Resolver: Received error response 2. (server failure)er of fields q uit Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 192.241.160.253 0.0% 371 0.4 0.6 0.1 14.3 1.0 2. 192.241.164.241 0.0% 371 7.4 2.5 0.1 37.5 4.8 3. xe-3-0-6.ar2.nyc3.us. 2.7% 371 3.6 2.6 1.1 5.5 1.1 4. sl-gw50-nyc-.sprintli 0.0% 371 0.7 5.0 0.1 82.3 13.1
Si bien la salida puede parecer similar, la gran ventaja sobre traceroute es que la salida se actualiza constantemente. Esto le permite acumular tendencias y promedios, y también le permite ver cómo el rendimiento de la red varía con el tiempo.
Si ejecutó un traceroute, existe la posibilidad de que los paquetes que se enviaron a cada salto pasen sin incidentes, incluso en una situación en la que la ruta sufre una pérdida intermitente de paquetes. La utilidad mtr le permite controlar esta situación mediante la recopilación de datos en un intervalo de tiempo más amplio.
También es posible ejecutar mtr con la opción --report
, que devuelve los resultados del envío de 10 paquetes a cada salto.
<>mtr --report google.com
<>HOST: traceroute Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.241.160.254 0.0% 10 1.5 0.9 0.4 1.5 0.4 2.|-- 192.241.164.237 0.0% 10 0.6 0.9 0.4 2.7 0.7 3.|-- nyk-b6-link.telia.net 0.0% 10 0.5 0.5 0.2 0.7 0.2 4.|-- nyk-bb2-link.telia.net 0.0% 10 67.5 18.5 0.8 87.3 31.8
Esto puede ser útil cuando no necesariamente quiere medir en tiempo real, pero desea un rango de datos mayor que el que brinda traceroute.
Conclusión
Con Traceroute y MTR, puede tener una idea de qué servidores están dirigidos a un dominio o dirección específicos que causan problemas. Esto puede ser útil al resolver problemas en una red interna, y también al tratar de proporcionar información a miembros de soporte o ISP cuando tiene problemas de red.
Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-use-traceroute-and-mtr-to-diagnose-network-issues