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 写入网络基线。