![问题](https://linux22.com/image/1706341/%E9%97%AE%E9%A2%98.png)
最近,我又开始玩了马里奥赛车 DS,一款老款(2005 年)任天堂游戏,可在任天堂 DS 游戏机上使用,包括在线游戏。任天堂已经关闭了在线服务很长时间,但人们自愿创建替代品,其中最著名的可能是威姆菲,只需要在控制台上手动设置一个DNS服务器地址即可。
但事情并没有那么简单。因为这是一款老游戏,它只能连接到普通的、不受保护的开放 Wifi 网络或受 WEP“保护”的网络,这些网络现在几乎完全从家用路由器无线配置中消失,即使它们仍然可用,也不建议使用。为了能够让控制台访问互联网,仍有几个选项,其中包括:
- 无线共享手机的移动互联网
- 在计算机上使用 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 模式和托管模式下工作(即同时扮演两个角色,尽管这有点棘手),我最终就是这么做的……