首页/系统/Linux 运维命令速查/ping 探测路径 MTU
网络命令82 条

ping 探测路径 MTU

用「不允许分片」的大包定位 MTU 问题:包发不出去提示 Message too long,逐步缩小 size 找到链路可用值。

Linux 运维命令速查系统更新于 2026-10-12
用途探测端到端可用 MTU
语法ping -M do -s 大小 目标
换算MTU = 大小 + 28(IP 头 20 + ICMP 头 8)

常用示例

常用示例
ping -M do -s 1472 8.8.8.8      # 验证 1500 的 MTU
ping -M do -s 1420 10.1.1.5     # VPN/隧道环境常见值
for s in 1472 1400 1350 1300; do ping -c1 -W1 -M do -s $s host >/dev/null 2>&1 && echo "OK 上限 $s" && break; done
隧道/PPPoE/VPN 链路 MTU 常小于 1500;表现为小包通、大包(HTTPS 握手)卡死,经典 MTU 黑洞。

易错点

  • -M do 只对 IPv4 有效,IPv6 用 ping -6(PMTUD 行为不同);macOS 对应 -D
  • size 是 ICMP 载荷不是整包;1472 对应 1500 MTU,很多人直接写 1500 会误判

数据来源与参考

  • man 8 ping(iputils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌