Al administrar y gestionar sistemas Linux es necesario contar con las mejores herramientas para sacar el máximo provecho, no solo al código libre, sino a la forma como obtenemos la información de cada sistema y de sus componentes ya sea hardware, procesos o servicios. Un aspecto fundamental en cualquier sistema y organización sin duda será la gestión de la red ya que si esta falla o presenta algún tipo de anomalía causará un impacto negativo en la forma en cómo se distribuyen los roles e impedirá que efectuemos cientos de tareas de forma natural y correcta.
Para ayudarnos en este proceso de gestión de redes, contamos con un comando llamado MTR (My Trace Route). Este comando es una herramienta de diagnóstico de redes basada en línea de comandos que funciona de forma sencilla y puede ser usada en sistemas como Linux, Windows o macOS. Los comandos en Linux son la base esencial de su uso y por eso es importante conocerlos.
El comando mtr combina la funcionalidad de los ya conocidos y prácticos comandos traceroute y ping solo que aquí se combinan en una sola herramienta. Idéntico al funcionamiento de traceroute, el comando mtr imprime información sobre la ruta que toman los paquetes desde el host en el que se ejecuta mtr a un host de destino que podemos especificar para de este modo llevar un control sobre todos los pasos que implica esta acción, como routers, paquetes enviados, los tiempos de respuesta de todos los saltos de red, etc,. De este modo se podrá tener un control centralizado para detectar errores en caso de que existan.
Ahora vamos a ver cómo usar este importante comando en Linux.
Ahora, durante este proceso, el comando mtr genera ciertas estadísticas útiles sobre cada equipo las cuales son actualizadas en tiempo real por defecto. El comando mtr está preinstalado en la mayoría de las distribuciones de Linux y ahora vamos a ver su funcionamiento.
1. Instalar comando MTR en Linux
En caso de que no contemos con mtr instalado, podremos instalarlo ejecutando el siguiente comando en base a la distribución que usemos. Allí ingresamos la letra S para confirmar la descarga e instalación de mtr.
sudo apt install mtr sudo yum install mtr sudo dnf install mtr
2. Usar comando MTR en Linux
Una vez instalado podremos iniciar a usar mtr en Linux para algunas tareas que explicaremos a continuación.
Una forma simple para usar el comando mtr es indicar el nombre de un dominio o la dirección IP de cualquier equipo remoto como argumento, de esta forma el comando mtr mostrará un informe de traceroute actualizado en tiempo real el cual puede ser detenido pulsando la tecla q o la combinación de teclas siguientes:
Ctrl + C
mtr solvetic.com
Será posible forzar para que el comando mtr muestre direcciones IP numéricas en lugar de nombres de host (FQDN, nombres de dominio totalmente calificados), a través del parámetro -n así:
mtr -n www.solvetic.com
Si deseamos que el comando mtr despliegue tanto los nombres de host como los números de IP, debemos usar el indicador -b así:
mtr -b www.solvetic.com
Si deseamos limitar el número de pings a un valor específico y salir del comando mtr después de ejecutar dichos pings, debemos usar el parámetro -c, podemos observar en la columna Snt, una vez que se alcanza el número indicado de pings, que la actualización en vivo se detiene y el programa sale de su ejecución:
mtr -c3 www.solvetic.com
Otra de las opciones es configurar el comando mtr en modo de informe a través del indicador -r, la cual es una opción útil para generar estadísticas sobre la calidad de la red analizada. Podremos combinar esta opción junto con el parámetro -c para especificar el número de pings a ejecutar, debido a que estas estadísticas se imprimen en salida estándar, tendremos la opción de redirigirlas a un archivo para su posterior análisis:
mtr -r -c 4 solvetic.com >mtr-report
Podremos comprobar el reporte usando el comando "ls" y luego ver su contenido usando "cat":
Allí mismo podremos añadir el parámetro -w para habilitar el modo de informe amplio para una salida más completa así:
mtr -rw -c 4 solvetic.com >mtr-report
Otra de las alternativas a usar es la capacidad de volver a organizar los campos de salida de la forma deseada gracias al parámetro -o:
mtr -o "LSDR NBAW JMXI" 8.8.8.8
Las opciones para organizar son:
El intervalo por defecto en mtr para las solicitudes ICMP ECHO es de un segundo, esto será posible editar cambiando el intervalo entre las solicitudes ICMP ECHO modificando el valor usando el parámetro -i así:
mtr -i 2 solvetic.com
También será posible usar paquetes TCP SYN o datagramas UDP en lugar de las solicitudes ICMP ECHO predeterminadas gracias a alguna de las siguientes opciones:
mtr --tcp solvetic.com mtr --udp solvetic.com
Para especificar la cantidad máxima de saltos, cuyo valor predeterminado es 30, para analizar entre el sistema local y la máquina remota, usaremos el indicador "-m":
mtr -m 10 8.8.8.8
Otra de las alternativas a usar es establecer el tamaño del paquete usado en la medida de bytes tomando el parámetro -s así:
mtr -r -s PACKETSIZE -c 4 solvetic.com >mtr-report
Algunas alternativas adicionales para usar con mtr son:
Con el comando mtr podremos tener un control más simple sobre el estado de nuestra red y comprobar de una forma mucho más central sus diferentes aspectos enfocados en su optimización.