PVE 中 RouterOS + Mihomo 透明代理导致手机游戏断流

13次阅读
没有评论

一、问题背景

家庭网络运行在 PVE 虚拟化环境中,网络结构大致如下:

宽带/光猫
   │
   ▼
RouterOS CHR
   │
   ▼
Debian + Mihomo 透明代理
   │
   ▼
无线 AP / 手机

关键推断:FastTrack 与透明代理冲突

Mihomo 透明代理通常依赖以下机制之一:

  • TProxy
  • REDIRECT
  • TUN
  • mangle 标记
  • 策略路由
  • 连接跟踪

而 RouterOS FastTrack 会让已建立连接绕过部分常规处理流程。

对于普通网页访问,连接一般是 TCP,短时间内即使路径发生变化,也不一定明显。

但手机游戏大量使用 UDP,尤其依赖:

  • 持续 UDP 会话
  • NAT 映射
  • 连接标记
  • 策略路由
  • 稳定的出站路径

因此可能出现以下情况:

UDP 首包 → 经过 Mihomo
后续数据包 → 被 FastTrack
连接路径不一致 → 游戏断线

这也是为什么:

  • 看网页正常
  • 看视频正常
  • 下载正常
  • 但是游戏频繁掉线

通过 A/B 测试确认问题

临时关闭 FastTrack:

/ip firewall filter disable [find action=fasttrack-connection]

然后使用同一部手机、同一个游戏进行测试。

结果:

关闭 FastTrack 后,游戏恢复稳定

重新启用 FastTrack 后,问题再次出现。

这说明问题已经基本确认:

RouterOS FastTrack 与 Mihomo 透明代理的流量处理逻辑发生冲突。

最终解决方案

方案一:关闭 FastTrack

家庭网络流量不大时,最简单可靠的方法是永久关闭:

/ip firewall filter disable [find action=fasttrack-connection]

对于本例中的 CHR:

  • CPU 使用率原本为 0%
  • 内存充足
  • 连接数很少
  • 家庭宽带通常不会达到 FastTrack 才能解决的转发压力

所以关闭 FastTrack 后,性能损失通常可以忽略,但稳定性明显提升。

正文完
 0
评论(没有评论)