How to Trace Network Routes and MTU Using tracepath in Linux

When you are attempting to diagnose a severely lagging network connection on a Linux server, simply knowing that the destination server is reachable (via the ping command) is rarely enough. A network packet might pass through a dozen different routers on its journey, and any one of those hops could be the source of the severe latency. Furthermore, some routers drop massive packets, forcing your server to fragment its data. To map the exact path your data is taking and discover the Maximum Transmission Unit (MTU) of the route, you must use the tracepath command.

How to Trace a Network Route

The tracepath utility is similar to the legacy traceroute command, but it is vastly superior because it does not require administrative sudo privileges to run, and it specifically maps MTU boundaries.

To trace the path from your Linux server to a remote website (like Google), simply run:

tracepath google.com

The terminal will output a numbered list. Each line represents a physical “hop” (usually a router) that your network packet passed through to reach the final destination.

 1:  192.168.1.1       0.551ms pmtu 1500
 2:  10.0.0.1          1.240ms
 3:  72.14.232.1      14.301ms
 4:  google.com       18.450ms reached

By analyzing the milliseconds (ms) column, you can pinpoint exactly where the latency spike occurs. If hop 1 and hop 2 both take 1ms, but hop 3 suddenly takes 400ms, you know exactly which specific router on the internet is causing your lag.

Understanding Path MTU Discovery

The second, and arguably more critical, function of tracepath is identifying the Path MTU. A standard Ethernet packet is 1500 bytes. If your server tries to send a 1500-byte packet, but router #3 along the path is configured with an MTU of 1400 bytes, that router will violently smash your packet into two smaller pieces before forwarding it, severely slowing down your transfer speeds.

Look closely at the output of the tracepath command. If the MTU drops at any point during the journey, the command will explicitly state it (e.g., pmtu 1400). If you see this, you can massively speed up your server’s network performance by manually configuring your server’s network interface to never send packets larger than 1400 bytes, completely preventing the fragmentation penalty.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.