Linux tracepath 查看 Path MTU —— 不仅利用路由,还将 pmtu 用于故障排查

Linux・CLI・DevOpsカテゴリを表すパンダのイラスト Linux・CLI・DevOps

关于本文
本文是通过利用生成式 AI 的自动化生成流程创建的。在查阅了 iputils 的 tracepath 第一手资料后,针对 Linux 系统整理了不仅类似于 traceroute 的路由显示,还包括在何处查看 Path MTU(PMTU)的内容。

验证状态:📘 已确认 tracepath 官方规范・未进行实际通信验证
信息确认基准日:2026年10月5日

当遇到“可以通信,但较大体积的通信会在中途停止”、“通过 VPN 访问特定网站时不稳定”等情况时,除了路由之外,Path MTU也是一个重要的线索。

Linux 的 tracepath 在追踪到目标地址的路由的同时,还会显示在该路由上发现的 MTU 信息。

直接执行 tracepath

tracepath example.com

根据 iputils 的手册说明,tracepath 是一个在追踪到目标地址的网络路径的同时,调查该路径上 MTU 的工具。

它类似于 traceroute,但通常不需要超级用户(superuser)权限。

什么是 Path MTU

MTU 是单次能够发送的 IP 数据包大小的上限。

然而,即使你网卡(NIC)的 MTU 是 1500,也并不意味着通往目标地址的所有路径上都能通过 1500 字节的数据。

在中途,

  • VPN

  • 隧道

  • PPPoE

  • 云连接

  • 特殊网络设备

等情况可能会导致路径上的某个地方需要更小的 MTU。

从源到目标能够通过的最大尺寸被视为 Path MTU。

flowchart LR
    A["PC<br>MTU 1500"] --> B["Router<br>1500"]
    B --> C["VPN/Tunnel<br>1420"]
    C --> D["Internet<br>1500"]
    D --> E["Server"]
    C --> F["Path MTUは小さい区間の影響を受ける"]

查看输出中的 pmtu

输出会根据环境而有所不同,但在 tracepath 中,pmtu 的变化和最后的摘要将成为线索。

不要死记文章中固定的输出结果作为标准答案,而是要在自己的路径中,

  • 能看到多少跳(hop)

  • pmtu 是否在半途中发生变化

  • 最后显示的是什么值

来进行确认。

使用 -n 禁用名称解析

tracepath -n example.com

-n 可以避免在显示跳数时进行 DNS 名称解析,从而专注于通过数字地址进行确认。

这在排查“路由显示缓慢究竟是网络本身的问题,还是反向解析等名称 resolving 的问题”时也非常有用。

分别查看 IPv4 和 IPv6

tracepath -4 example.com
tracepath -6 example.com

在双栈环境中,IPv4 和 IPv6 的路由路径有时会有所不同。

即使是相同的主机名,

  • 在IPv4下稳定

  • 只有IPv6的路由不同

  • 只有一端无法到达

可以进行这样排查。

与traceroute有什么不同?

两者都可以观察路由,但tracepath的主要目的还包括路径MTU发现(Path MTU discovery)这是它的特点。

要查看的内容用tracepath查看
路由跳数
仅数字地址-n
固定IPv4-4
固定IPv6-6
路径上的MTUpmtu

如果只把它当成“traceroute的替代品”,就会忽视查看PMTU的价值。

尝试只更改一个地方

首先,

tracepath example.com

执行后,接下来将其更改为

tracepath -n example.com

。

我们看的不是路径本身,而是名称解析对显示和时间的影响。

此外,如果将 IPv4 和 IPv6 分开,就能逐一追踪更改。

切勿仅凭 tracepath 断定 PMTU 问题

即使 tracepath 显示较小的 PMTU,也不要仅凭这一点确定故障原因。

在实际工作中,应结合确认

  • 接口 MTU

  • VPN/Tunnel 设置

  • ICMP 相关过滤器

  • TCP MSS

  • 实际失败的通信大小

  • IPv4/IPv6 差异

  • FW/负载均衡器/CDN

等内容。

有时路径上的设备不响应,因此并非总能看到所有跃点。

常见的“仅小数据通信能通过”的症状

例如,

  • ping 可以通过

  • DNS 也能解析

  • 小的 HTTP 响应可以通过

  • 只有较大的上传或特定的 TLS 通信被阻止

遇到这种情况时,仅用简单的“能连接/不能连接”是无法解释的。

PMTU 和 MSS 是怀疑此类与大小相关的问题的线索之一。

权限方面的特点

iputils 的 tracepath 手册中说明,它虽然与 traceroute 类似,但通常不需要超级用户权限。

在排查故障时,无需一开始就假定需要 sudo 权限即可进行尝试,这一点非常便捷。

不过,根据发行版的不同,软件包配置和安装状态也会有所差异。

Daily-Code-Samples

我们准备了一个脚本,用于接收目标主机作为参数,并依次尝试普通显示与 -n 。

官方信息

文档信息

文章??
Linux tracepath 查看 Path MTU —— 不仅利用路由,还将 pmtu 用于故障排查
?布日期
更新日期
来源
https://papanda925.com/?p=17987&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制