首页/网络/网络排障速查/MSS 钳制:在中间设备上根治 MTU 问题
连通性与链路检测54 条

MSS 钳制:在中间设备上根治 MTU 问题

与其给每台主机降 MTU,不如在网关/防火墙上对经过的 TCP SYN 做 MSS 钳制,让双方以安全值协商——这是跨网段大包问题的标准解法。

网络排障速查网络更新于 2026-10-12

Linux 网关(iptables/nft)

Linux 网关(iptables/nft)
sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# nftables 写法:
# nft add rule ip mangle forward tcp flags syn tcp option maxseg size set rt mtu

网络设备侧(三厂)

网络设备侧(三厂)
Cisco:   interface g0/1 → ip tcp adjust-mss 1400
华为:    interface GE0/0/1 → tcp adjust-mss 1400
H3C:     interface GE1/0/1 → tcp mss 1400
MSS 钳制只作用于 TCP;UDP 大包与 ICMP 仍需依赖正确的 PMTUD 或应用侧分片策略。

易错点

  • clamp-mss-to-pmtu 依赖本机已知的 MTU,隧道接口值配错会连带钳错
  • 只钳单向(部分设备只管一个方向)仍可能出现大包问题

数据来源与参考

  • RFC 879:TCP Maximum Segment Size
  • iptables 手册:TCPMSS 目标
  • 厂商 MSS 调整文档

相关工具

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