Skip to content

MTU 最佳参数调优与防断流实战指南 ​

很多用户在日常使用代理节点或 VPN 时,经常会遇到以下“诡异”现象:

  • 测速显示带宽非常充裕,延迟也很低;
  • 但打开某些特定网页时一直转圈,甚至卡在 TLS 握手阶段;
  • 远程 SSH 连接经常无故卡死断开;
  • 在 Telegram 或微信发送小文字秒发,但发送稍大的图片或视频时直接卡住报失败。

这一系列故障的幕后元凶,往往就是 MTU(Maximum Transmission Unit,最大传输单元)配置不当 导致的数据包分片(Packet Fragmentation)与静默丢弃(Path MTU Black Hole)。

本文介绍常用的 MTU 诊断与优化方法。


一、什么是 MTU?为什么代理会导致数据包分片? ​

  • MTU 定义:以太网接口在一次传输中能够承载的最大 IP 数据包字节数,标准以太网默认通常为 1500 字节。
  • 代理隧道协议头开销:当你的数据包通过 Shadowsocks、Trojan、WireGuard 或 Hysteria2 传输时,代理客户端必须在原始数据包外包裹一层额外的加密头、认证标签和传输层包头(开销通常在 40~80 字节左右)。
【标准以太网传输链路 (MTU = 1500)】
[原始数据包 (1460 字节)] + [标准 TCP/IP 报头 (40 字节)] = 1500 字节 (刚好放行)

【加入代理隧道后 (若 MTU 依然设为 1500)】
[原始数据包 (1460 字节)] + [TCP 头 (40)] + [代理加密隧道头 (60 字节)] = 1560 字节 ──► 超过 1500!
                                                                          │
                                                                          ▼
                                             [中间运营商路由器因为设置了 DF (不分片)]
                                                                          │
                                                                          ▼
                                                      ❌ 数据包被直接静默丢弃!导致连接卡死断流!

二、如何测试出你本地宽带的最佳 MTU 值? ​

在 Windows 或 macOS 命令行中使用 ping 命令,可以精准探测出不分片的最大载荷:

1. Windows 端测试命令 ​

以测试国内网关或海外目标为例,运行以下命令(-f 表示禁止分片,-l 表示指定数据包大小):

powershell
ping 1.1.1.1 -f -l 1472
  • 如果提示:Packet needs to be fragmented but DF set.(需要拆分数据包但是设置了 DF),说明数值过大,需要减小测试值(如 1460、1450、1440);
  • 逐步递减测试,直到找到刚好能够连通且不报分片的临界值(假设为 1432);
  • 最终最佳 MTU = 临界测试值 + 28(ICMP/IP 报头):例如 1432 + 28 = 1460。

三、各场景推荐 MTU 设置黄金参考值 ​

代理与网络环境推荐 MTU 数值调优说明
家庭千兆宽带 (PPPoE 拨号)1420预留了 PPPoE (8字节) 与代理隧道协议头空间,绝大多数场景的黄金通用值
移动 4G / 5G 手机热点1360蜂窝移动网络基站开销较大,调至 1360 可彻底消除手机端断流
WireGuard 内核隧道1420 或 1280WireGuard 开销固定为 60/80 字节,设为 1420 表现最佳;若遇 IPv6 设为 1280
Hysteria2 (QUIC 协议)1350适配 UDP 报文的最小公分母,避免跨国运营商对大 UDP 分片限制

四、如何在客户端中修改 MTU? ​

  1. 在 TUN 模式配置中指定: 在 Clash / Mihomo 配置文件中的 tun 模块,明确添加 mtu: 1420:
    yaml
    tun:
      enable: true
      stack: gvisor
      mtu: 1420
      auto-route: true
  2. 在专属客户端中:本站推荐的 9 大主力品牌专属客户端,在出厂编译时已经将默认 MTU 调优为自适应的最佳安全区间(1400~1420),普通用户无需进行任何修改即可享受不卡顿、不断流的高速体验。