问题

问题

最近,我又开始玩了马里奥赛车 DS,一款老款(2005 年)任天堂游戏,可在任天堂 DS 游戏机上使用,包括在线游戏。任天堂已经关闭了在线服务很长时间,但人们自愿创建替代品,其中最著名的可能是威姆菲,只需要在控制台上手动设置一个DNS服务器地址即可。

但事情并没有那么简单。因为这是一款老游戏,它只能连接到普通的、不受保护的开放 Wifi 网络或受 WEP“保护”的网络,这些网络现在几乎完全从家用路由器无线配置中消失,即使它们仍然可用,也不建议使用。为了能够让控制台访问互联网,仍有几个选项,其中包括:

  1. 无线共享手机的移动互联网
  2. 在计算机上使用 WEP/未加密的软 AP 作为家庭无线网络的路由器

这两个都是临时选项,游戏结束后都会关闭。

对于选项 1,我使用我的 Samsung A04s(One UI 6.0/Android 14)的无线 AP。

我通过运行 Ubuntu 23.10 和两个无线适配器的笔记本电脑实现了选项 2:

  • 家用Wifi端,一个Intel PCIe适配器(Intel Corporation Wi-Fi 6 AX201 160MHz)
  • 在软 AP 方面,一个旧的 Belkin USB 适配器(F5D7050 v3,rt73usb 驱动程序)

问题

问题是,虽然移动解决方案 (1) 效果很好,但解决方案 2 却失败了,我不知道原因。这很不幸,因为这本来是我最喜欢的,不需要耗尽手机的电池和数据计划(穷人的 5GB/月)。

我认为这与某些流量未通过有关,但在这两种情况下侦听连接(比较有效的和无效的),我没有注意到这方面有什么问题。最后有一些 UDP 流量,我怀疑这是控制台决定连接不好的地方,但它确实通过了。

错误信息非常严重,因为它说控制台无法访问互联网,所以我尝试连接另一台设备,这样我就可以毫无问题地上网。

问题

现在我很茫然,所以我来到这里,希望有比我更专业的人能给我指明正确的方向。

问题出在哪里?也许与连接时间过长有关?在这种情况下,我可以用我拥有的硬件建立无线网桥吗?

正如我在标题中提到的,这是两个 pcap 文件,一个用于成功案例 (1),一个用于失败案例 (2)。案例 1 已在监控模式下被监听,因为它不涉及我捕获的计算机。

附加信息

  • 作为无线路由器的计算机上的 nftables 规则(由网络管理器自动创建):
table ip nm-shared-wlx002275ae45ff {
    chain nat_postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        ip saddr 10.42.0.0/24 ip daddr != 10.42.0.0/24 masquerade
    }

    chain filter_forward {
        type filter hook forward priority filter; policy accept;
        ip daddr 10.42.0.0/24 oifname "wlx002275ae45ff" ct state { established, related } accept
        ip saddr 10.42.0.0/24 iifname "wlx002275ae45ff" accept
        iifname "wlx002275ae45ff" oifname "wlx002275ae45ff" accept
        iifname "wlx002275ae45ff" reject
        oifname "wlx002275ae45ff" reject
    }
}

答案1

我找到了问题的根源:我的旧 Belkin 适配器在 AP 模式下表现不佳。我切换了无线适配器的角色,让 Belkin 负责家用 Wifi 端,让集成的 Intel 适配器负责 AP,一切正常。

话虽如此,这迫使我连接到 2.4 GHz 频段的网络,因为这是 Belkin 的全部功能,但由于英特尔适配器能够同时在 AP 模式和托管模式下工作(即同时扮演两个角色,尽管这有点棘手),我最终就是这么做的……

相关内容