Cómo diagnosticar problemas de red en Linux con Traceroute

Cómo diagnosticar problemas de red en Linux con Traceroute
Traceroute Linux Destacado

Traceroute es una sencilla utilidad de red que puede rastrear la ruta que sigue un paquete de Internet desde el origen hasta el host de destino. Este artículo le mostrará cómo puede utilizar Traceroute para comprobar el estado de la red de Linux y diagnosticar problemas emergentes.

¿Cómo funciona Traceroute?

Traceroute funciona enviando paquetes UDP con longitudes TTL cortas a cada puerta de enlace de Internet a lo largo del camino hacia un host remoto. Estas longitudes cortas de TTL obligan a estas puertas de enlace a informar una respuesta ICMP «TIME_EXCEEDED» junto con la dirección IP de su interfaz.

Estos dos factores se combinaron para permitir que traceroute creara una lista detallada de las máquinas por las que pasará su paquete cuando se conecte a un servidor externo. Por ejemplo, ejecutar un traceroute a «google.com» en mi red enumerará entre 9 y 10 puertas de enlace antes de llegar a los servidores de Google.

Una terminal que muestra una ruta de seguimiento básica para google.com.

¿Qué problemas de red puede solucionar Traceroute?

Traceroute es sólo una herramienta de sondeo de red y no optimiza ni soluciona ningún problema pendiente en su red. Traceroute sólo puede describir cómo se comportan las redes y los paquetes que viajan por ellas.

A pesar de eso, sigue siendo una herramienta importante para diagnosticar posibles problemas de red. Un buen ejemplo es cuando una puerta de enlace local no logra reenviar un paquete a su siguiente salto. Traceroute puede solucionar este problema resaltando cualquier enrutador dentro de su red central que no envíe una respuesta «TIME_EXCEEDED».

Un terminal que muestra un traceroute básico donde las puertas de enlace fallan constantemente al responder al programa.

Aparte de eso, también puedes usar traceroute para comprobar si hay problemas de latencia entre hosts. Esto puede resultar útil si desea ver si su red local necesita una VPN para garantizar una baja latencia constante al conectarse a una máquina remota.

Usando Traceroute en Linux

Abra una nueva terminal y escriba traceroute seguido de la dirección de la máquina a la que desea que se conecte su máquina. Podría ser un nombre de dominio o una dirección IP. Por ejemplo:

Presione Enter para comenzar a mapear la ruta hacia su host remoto.

Un terminal que muestra un traceroute básico a un VPS pequeño.

Envío de paquetes con TTL personalizado en Traceroute

Si bien usar traceroute por sí solo es suficiente para un uso básico, también puedes modificar el funcionamiento del programa usando banderas. Esto puede resultar útil, especialmente si está realizando una clasificación de su red.

Uno de los ajustes más comunes en traceroute es cambiar la cantidad de paquetes que envía a una puerta de enlace. Para hacer esto, use el indicador -q seguido de la cantidad de paquetes que desea enviar por solicitud:

También puede utilizar el indicador -N seguido de “1” para deshabilitar explícitamente las solicitudes de paquetes simultáneas. Esto es útil si tiene puertas de enlace que limitan la velocidad de los paquetes UDP con TTL corto.

Un terminal que muestra un traceroute con paquetes simultáneos deshabilitados.

Por último, también puede modificar el valor TTL predeterminado para traceroute. Para hacerlo, agregue el indicador -f seguido del TTL que desea para su primer paquete de sondeo.

Una terminal que muestra una ruta de seguimiento donde el programa omite las dos primeras puertas de enlace.

Cambiar el protocolo Traceroute en Linux

De forma predeterminada, traceroute en Linux usa UDP para enviar paquetes de sonda a puertas de enlace de red. Esto puede ser un problema si está investigando una puerta de enlace que bloquea activamente paquetes de traceroute.

Para solucionar este problema, puede utilizar el indicador -T para ejecutar traceroute utilizando paquetes TCP SYN simples.

Un terminal que muestra una ruta de seguimiento donde el programa usa el paquete TCP SYN en lugar de UDP.

Por otro lado, también puede forzar a traceroute a utilizar un paquete ICMP ECHO si la puerta de enlace de destino solo restringe UDP:

Traceroute también admite interfaces de red personalizadas. Aquí es donde traceroute utilizará una tarjeta de red diferente en su máquina para sondear la ruta de un paquete.

Para hacer eso, ejecute el programa con el indicador -i seguido del nombre del dispositivo de su interfaz.

Aparte de eso, puede utilizar el indicador -p para especificar el número de puerto inicial que traceroute utilizará para el sondeo UDP:

Por último, el indicador -p también cambia su comportamiento según el protocolo que esté utilizando. Al vincularlo con -I se establecerá el valor -p como el número de secuencia ICMP inicial en lugar del puerto de destino.

Un terminal que muestra una ruta de seguimiento que utiliza ICMP ECHO con un número de secuencia ICMP personalizado.

Aprender a utilizar traceroute es solo el primer paso para comprender cómo las computadoras se comunican entre sí a través de una red. Obtenga más información sobre las redes de computadoras analizando el contenido de un paquete TCP usando tcpdump.

Mientras tanto, también puede obtener más información sobre las capas OSI superiores, como DNS, utilizando la herramienta de excavación en Linux. un>

Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *