在 RouterOS 中配置 MSS Clamping

终于解决了这个困扰了我半年的问题,记录一下过程和解决方法

环境

  • 出口线路: 北京联通
  • 出口设备: RB5009UPr+S+
  • 协议: IPv4 & IPv6

现象

  • 手机访问阿里系应用有问题,如支付宝、淘宝、盒马,加载很久,也可能很久也加载不出来
  • 开代理科学上网后正常,但按理说大多请求应该还是走的 Direct 规则
  • 怀疑是 IPv6 的问题,于是起了 SmartDNS 的 force-AAAA-SOA yes,BAN 掉了所有的 v6 解析后,有所改善!

坑就在这儿了,又是向着错误的方向优化了一下,神奇的好了

因为这个问题在 IPv6 上的确比 IPv4 上更常见、更严重

解决

无意同事聊起过这个问题,前几天吃饭的时候灵光一闪,想起来这个 PMTU 黑洞的问题

配了一下竟然好了!

1
2
3
4
5
6
7
8
9
/ip/firewall/mangle
add action=change-mss chain=forward comment="IPv4 MSS clamp to PMTU" \
new-mss=clamp-to-pmtu out-interface="<你的PPPoE出口>" passthrough=yes \
protocol=tcp tcp-flags=syn

/ipv6/firewall/mangle
add action=change-mss chain=forward comment="IPv6 MSS clamp to PMTU" \
new-mss=clamp-to-pmtu out-interface="<你的PPPoE出口>" passthrough=yes \
protocol=tcp tcp-flags=syn

参考