Comando tracepath de Linux con Ejemplos Prácticos

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a usar el comando Linux tracepath para rastrear el camino que siguen los paquetes desde el host local hasta un host remoto y para identificar cualquier problema de red en el camino. El laboratorio aborda el propósito del comando tracepath, cómo usarlo para rastrear el camino hacia un host remoto y cómo solucionar problemas de red usando el comando. Aprenderá a interpretar la salida del comando tracepath y a usarlo para identificar posibles problemas de red, como latencia alta, pérdida de paquetes o problemas de MTU.

Linux Commands Cheat Sheet


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ping("Network Testing") subgraph Lab Skills linux/netstat -.-> lab-422964{{"Comando tracepath de Linux con Ejemplos Prácticos"}} linux/ping -.-> lab-422964{{"Comando tracepath de Linux con Ejemplos Prácticos"}} end

Comprender el propósito del comando tracepath

En este paso, aprenderá sobre el propósito y el uso del comando tracepath en Linux. El comando tracepath es una herramienta de diagnóstico de red que se utiliza para rastrear el camino que siguen los paquetes desde el host local hasta un host remoto y para identificar cualquier salto intermedio o problema de red en el camino.

El comando tracepath es similar al comando traceroute, pero utiliza el mecanismo de descubrimiento de la unidad de transmisión máxima (PMTUD) para determinar la unidad de transmisión máxima (MTU) a lo largo del camino, lo que puede ayudar a identificar problemas de red relacionados con la fragmentación de paquetes.

Comencemos ejecutando el comando tracepath hacia un host remoto:

$ sudo tracepath google.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  142.250.209.174                                      10.843ms
 5:  142.250.209.174                                      10.518ms
     Resume: pmtu 1500 hops 5 back 5

Salida de ejemplo:

La salida muestra el camino que siguen los paquetes desde el host local hasta el host remoto google.com. Cada línea representa un salto en el camino, y la salida incluye la siguiente información:

  • El número de salto
  • La dirección IP del enrutador intermedio o dispositivo de red
  • El tiempo de ida y vuelta (RTT) para que el paquete llegue a ese salto y regrese al host local

El comando tracepath también informa de la unidad de transmisión máxima (MTU) a lo largo del camino, que en este caso es de 1500 bytes.

Al ejecutar el comando tracepath, puede identificar cualquier problema de red o cuello de botella en el camino, como latencia alta, pérdida de paquetes o problemas de MTU.

Rastrear el camino hacia un host remoto usando tracepath

En este paso, aprenderá a usar el comando tracepath para rastrear el camino hacia un host remoto y a identificar cualquier problema de red en el camino.

Comencemos rastreando el camino hacia un host remoto, como google.com:

$ sudo tracepath google.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  142.250.209.174                                      10.843ms
 5:  142.250.209.174                                      10.518ms
     Resume: pmtu 1500 hops 5 back 5

Salida de ejemplo:

La salida muestra el camino que siguen los paquetes desde el host local hasta el host remoto google.com. Cada línea representa un salto en el camino, y la salida incluye la siguiente información:

  • El número de salto
  • La dirección IP del enrutador intermedio o dispositivo de red
  • El tiempo de ida y vuelta (RTT) para que el paquete llegue a ese salto y regrese al host local

El comando tracepath también informa de la unidad de transmisión máxima (MTU) a lo largo del camino, que en este caso es de 1500 bytes.

También puede usar el comando tracepath para rastrear el camino hacia un host remoto diferente, como example.com:

$ sudo tracepath example.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  93.184.216.34                                        10.843ms
 5:  93.184.216.34                                        10.518ms
     Resume: pmtu 1500 hops 5 back 5

Al ejecutar el comando tracepath hacia diferentes hosts remotos, puede identificar cualquier problema de red o cuello de botella en el camino, como latencia alta, pérdida de paquetes o problemas de MTU.

Solucionar problemas de red con tracepath

En este paso, aprenderá a usar el comando tracepath para solucionar problemas de red.

Comencemos simulando un problema de red bloqueando la conexión a un host remoto usando el firewall iptables:

$ sudo iptables -A OUTPUT -d 8.8.8.8 -j DROP

Este comando bloqueará todo el tráfico saliente hacia la dirección IP 8.8.8.8, que es uno de los servidores DNS públicos de Google.

Ahora, intentemos rastrear el camino hacia 8.8.8.8 usando el comando tracepath:

$ sudo tracepath 8.8.8.8
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  no reply
 4:  no reply
 5:  no reply
     Resume: pmtu 1500 hops 5 back 2

Salida de ejemplo:

La salida muestra que el comando tracepath pudo rastrear el camino hasta el tercer salto, pero luego se encontró con un mensaje "no reply", lo que indica que la conexión fue bloqueada o el host remoto no respondió.

Para solucionar este problema, puede probar lo siguiente:

  1. Verifique las reglas del firewall para asegurarse de que la conexión se esté bloqueando como se esperaba:

    $ sudo iptables -L
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    DROP       all  --  anywhere             8.8.8.8
  2. Intente enviar un ping al host remoto para ver si la conexión está realmente bloqueada:

    $ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    ^C
    --- 8.8.8.8 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2023ms

    La salida muestra que la conexión está siendo bloqueada, como se indica por la pérdida del 100% de los paquetes.

  3. Quite la regla del firewall para restaurar la conexión:

    $ sudo iptables -D OUTPUT -d 8.8.8.8 -j DROP

Al usar el comando tracepath para identificar el punto donde la conexión está siendo bloqueada, puede solucionar rápidamente problemas de red e identificar la causa raíz.

Resumen

En este laboratorio, aprenderá sobre el propósito y el uso del comando tracepath en Linux, que es una herramienta de diagnóstico de red que se utiliza para rastrear el camino que siguen los paquetes desde el host local hasta un host remoto y para identificar cualquier salto intermedio o problema de red en el camino. También aprenderá a usar el comando tracepath para rastrear el camino hacia un host remoto y para solucionar problemas de red usando la salida del comando.

El comando tracepath es similar al comando traceroute, pero utiliza el mecanismo de descubrimiento de la unidad de transmisión máxima (PMTUD) para determinar la unidad de transmisión máxima (MTU) a lo largo del camino, lo que puede ayudar a identificar problemas de red relacionados con la fragmentación de paquetes. Al ejecutar el comando tracepath, puede identificar cualquier problema de red o cuello de botella en el camino, como latencia alta, pérdida de paquetes o problemas de MTU.

Linux Commands Cheat Sheet