关于两台 routeros 用 wg 组网的奇怪现象,需要把 mtu 改成 1492 网络才正常,求大佬们来解释一下原理。

267 天前
 HOOC

路由 A:rb5009 routeros 7.14.2 电信双拨双公网 IP+一个 IPTV 的 pppoe 拨号 路由 B:软路由 routeros 7.14.2 无公网 IP

两台机器在同城同区,组了 wg ,需求是 B 路由下的设备想通过 A 路由的 IPTV 口看单播源的电视和两个局域网之间的文件传输,无特殊用途。

两端使用 routeros 默认 wg 的 mtu 1420 ,这种情况下 B 路由下的设备看 IPTV 出现频道不能播放或严重卡顿的现象,需要 b 路由在 mangle 下加一条 chang mss ,把出口为 wg 的 mss 改到 1380 ,看电视就正常了,这个配置我用了很长时间。

今天突然发现如果把 AB 两端路由 wg 的 mtu 改成 1492 或以上(试过改到 1500 ,再高就没试过了),b 路由的那条 mangle 规则可以直接禁用掉,看电视也是正常的,不会卡顿。

但如果两端 wg 的 mtu 改为 1491 或以下想要正常在 b 路由下看电视则必须在 b 路由把出口为 wg 的 mss 改到 mtu-40 才能正常播放。(比如 wg 的 mtu 为 1491 ,mss 就要改到 1451)

鉴于网上帖子基本都建议吧 wg 的 mtu 设置成 1420 、1412 甚至更低,请懂行的大佬科普一下我这种情况是什么回事,谢谢!

2189 次点击
所在节点    宽带症候群
12 条回复
1423
267 天前
这样跑 A 路由会不会因为上传太多被运营商找麻烦
geekvcn
267 天前
geekvcn
267 天前
geekvcn
267 天前
如果你的 MTU 超过你链路的 MTU ,就需要对数据包进行分片,也就是 MSS
morpheuszero2023
267 天前
没用过 WG ,不太懂。不过我试过调 Windows 的 MTU 。最简单的路由器拨号( MTU 1492 ),电脑连路由器 LAN 口自动获取 IP 上网。Windows 的以太网默认 MTU 是 1500 。只要把这个 1500 改低,游戏就会特别特别卡,有时候网络卡住有几秒钟,甚至掉线。
我是感觉改低某些 MTU 就会出问题,或许和对应的 MRU (接收数据包大小)有关?如果 MRU 同步 MTU 变低了,那确实可能出很多问题。
ovoo
267 天前
直接设置为 1280 ,浪费一点带宽,获得最佳适应能力。
据我观察,同类产品中
tailscale ,cloudflare warp 都是如此设置。
HOOC
267 天前
@1423 我是正常使用,a 端一个月总上传 600g 左右,不至于。


@geekvcn 按 mtu 计算器,我 wg 的最佳 mtu 为 1432 ,但目前看来我这边设置小于 1492 的 mtu ,都需要 change mss 到 mtu-40 ,网络才正常。


@morpheuszero2023 mtu 这东西一直很迷幻。


@ovoo 目前是就算我把 mtu 设置到 1280 ,b 路由下看 iptv 还是会卡顿,这时就需要把 wg 出口的 mss 改到 1280-40 即 1240 网络才正常,但直接把 mtu 改成 1492 的话就不需要 change mss 了。
terrancesiu
267 天前
我这样的,我的宽带是 1480 的 mtu ,wg 我就用了 1400 的 mtu ,然后 ipv4 的 tcpmss 改成 1360 ,ipv6 的 tcpmss 改成 1340 。所有的 wg 隧道遵循这个配置方案,一切都稳。
HOOC
266 天前
@terrancesiu 我现在改用 1492 了,少一条 mangle 。
life90
266 天前
这个值我记得只能是偶数,奇数也可以?
Andy1989
264 天前
我是用的默认 1420 配合下面 4 条命令。
/ip firewall mangle add action=change-mss chain=output new-mss=clamp-to-pmtu passthrough=no protocol=tcp tcp-flags=syn;
/ip firewall mangle add action=change-mss chain=forward new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn;
/ipv6/firewall/mangle/add action=change-mss chain=output new-mss=clamp-to-pmtu passthrough=no protocol=tcp tcp-flags=syn;
/ipv6/firewall/mangle/add action=change-mss chain=forward new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn;
Naples
254 天前
坐等大佬来破案……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1037205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX