MTU 不一致排查:能连通却传不动大包

通过禁止分片探测、路径 MTU 与隧道开销分析,定位 VPN、容器网络和云网络中的黑洞问题。

文章目录 · 4 节

MTU 不一致常表现为小请求正常、TLS 握手或大响应超时。路径中的设备若丢弃过大的包,同时 ICMP Fragmentation Needed 又被过滤,就会形成 PMTU 黑洞。

探测可用包长

ip link show
tracepath target.example.com
ping -M do -s 1472 target.example.com

IPv4 的 ICMP 负载 1472 加上 20 字节 IP 头和 8 字节 ICMP 头,正好对应 MTU 1500。逐步减小 -s,可估算路径上限。

检查隧道与容器

ip -d link show
ip route get 10.0.0.10
tcpdump -ni any 'icmp or tcp[tcpflags] & tcp-syn != 0'

VXLAN、WireGuard、IPsec 等封装会占用额外字节。检查节点物理接口、CNI、Pod veth 与 VPN 的 MTU 是否按封装开销逐层扣减。

常见误区

  • 只用普通 ping 判断链路正常
  • 全局降低所有服务器 MTU,却未找到真正瓶颈
  • 防火墙屏蔽全部 ICMP,破坏路径 MTU 发现
  • 修改 CNI 参数后没有滚动重建旧 Pod

收尾清单

修复后测试 ICMP、TCP 大响应和 TLS 场景,并从链路两端抓包确认不再重传。把隧道开销和标准 MTU 写入网络基线。