2024年7月5日 星期五

routeros pmtu

 /ip firewall mangle
add action=change-mss chain=forward new-mss=clamp-to-pmtu out-interface=ether1 passthrough=yes \
    protocol=tcp tcp-flags=syn

 

 

info

成自己用 RouterOS 拨号之后,经常发现有的图片加载不出来,网上一顿冲浪之后发现可能是在 RouterOS 中没有正确配置 MTU 及 MSS,导致部分包被丢弃,也就是传说中的 PMTU 黑洞。

 

 

为什么用光猫或者硬路由拨号就没有这个问题

这是因为,多数家用路由器默认开启了一个叫 MSS Clamping 的功能。这是针对 PMTU 黑洞的一个 workaround,简单来说就是在 TCP 握手时,服务器会通过一个字段告知客户端它愿意接收的 TCP 包的最大尺寸,这样客户端就可以限制自己发送的包的大小,保证不会超出服务端要求的尺寸。

在 RouterOS 中配置 MSS Clamping

配置非常简单,分别对 IPv4 和 IPv6 的防火墙 Mangle 表添加如下配置即可。

# 将命令中 out-interface 参数的值替换成你的PPPoE接口的名字
/ip/firewall/mangle
add action=change-mss chain=forward comment="IPv4 MSS clamp to PMTU" \
new-mss=clamp-to-pmtu out-interface="China Telecom" 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="China Telecom" passthrough=yes \
protocol=tcp tcp-flags=syn
 
ps: 中國叫光貓,臺灣叫光纖。但是如果是電轉光,或是非routeros ,為 routeros x86 
又是另一種解釋
臺灣全光纖進, mtu 可以設定 8196 or 9000 初始效能比較快 

 

https://www.boris1993.com/routeros-mss-clamping.html

沒有留言: