一、问题背景
家庭网络运行在 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 后,性能损失通常可以忽略,但稳定性明显提升。
正文完