[折腾] Sunshine 与 Moonlight 匹配莫名其妙的 Connection closed -2 报错问题

Author Avatar
空気浮遊 2月1日
  • 在其它设备中阅读本文章

因为一些莫名其妙的原因我不得不折腾这套莫名其妙的配置和解决莫名其妙的问题。

PID - 114966673

问题背景

我有一台电脑 A 和电脑 B。电脑 A 在子网 A。电脑 B 在子网 B。子网 A 与子网 B 完全能够互相访问,没有阻拦。

子网 A 使用的是网件 R7000 with 梅林固件。
子网 B 使用的是平平无奇的华硕路由器。

电脑 A 为 Sunshine 的服务端。
我现在想使用电脑 B 去连接电脑 A 的 Sunshine。当然,此时电脑 B 在子网 B。

输入了 PIN 之后电脑 A 表示成功,电脑 B 上的 moonlight 却没有任何响应,过一段时间后报错 Connection closed -2。

我研究了很多办法。

  • Sunshine 的安装脚本自动添加了防火墙规则,所以除非 Windows 本身的防火墙有问题那就不是 Windows 防火墙的问题。
  • 路由表没问题。因为输入 PIN 后电脑 A 也有响应。
  • 路由器固件问题?但网件的原版固件实在是太烂了。烂到家了。

那么理论上问题只可能出在路由器。但是是路由器的哪里呢?难道是 NAT 的问题?但 NAT 能有什么问题?

问题解决

我翻了一下 R7000 管理页面的 Switch Control(交换机设置)页面。我忽然发现里面多了两个华硕路由器没有的选项。

一个是 NAT 加速。
一个是 Spanning-Tree Protocol。

我把他们两个都关了之后,问题就消失了。

这个问题在所有版本的梅林固件中应该都会出现。

后记

我希望这个莫名其妙的解决方案能给遇到同样莫名其妙问题的人一些帮助。

虽然我觉得有可能遇到这种问题的人极少。