一些 Nintendo 3DS 用户一直在设置无线接入点,以欺骗他们的手持式控制台将 AP 视为官方的“Nintendo Zone”AP。这被称为“Homepass”设置。典型的 Linux Homepass AP 设置涉及在hostapd
具有 SSID“NZ@McD1”和伪造 MAC 地址的无线 NIC 上运行。然后,无线网络被 NAT 到连接到其家庭网络的第二个 NIC,允许传出网络流量。过去,用户能够使用密码加密此 AP 以防止未经授权的访问。最近的 3DS OS 更新改变了要求,使得 AP 必须没有加密。因此,Homepass 用户必须找到其他方法来限制 AP。
3DS Homepass 交换的数据包捕获显示以下内容的 DNS 查询:
conntest.nintendowifi.net
nppl.c.app.nintendowifi.net
npdl.cdn.nintendowifi.net
基于只需要访问少数域并且每次都是相同的域的事实,我认为应该这样限制 AP:
- 在 AP 上设置缓存 DNS,它仅解析
nintendowifi.net
域下的查询。这应该可以防止任何 IP-over-DNS。 - AP 接口上的任何传入数据包都应发往上述缓存 DNS,或发往上面列出的域之一。其他所有数据包都应丢弃。
这种设置是否可行?如果可以,最好的方法是什么?此外,在访问限制方面是否缺少什么?
答案1
我没有使用过 Nintendo Wireless 的经验(如果有人想给我购买一些 Nintendo 装备来测试它,我不介意积累经验!)。
但是,如果您尝试通过 hostapd 限制无线连接,我确实有这样的经验:
编辑 hostapd 文件并添加以下行:
macaddr_acl=1
accept_mac_file=/etc/hostapd/hostapd-mac.accept
如果您已将顶线设置为 0,请将其更改为 1。
接下来,创建文件/etc/hostapd/hostapd-mac.accept
,并将设备的 MAC 地址放在那里。
MAC 地址可以被伪造,但这应该可以阻止普通人连接。
为了增加安全性和解决您的实际问题,您确实需要确切知道您的 Nintendo 设备连接到哪些主机并对其进行限制,因为任何类型的开放互联网都容易被滥用 - 即使您阻止 DNS,我也始终可以通过 IP 连接到 VPN,然后通过隧道输出...
答案2
Nintendo 区域可以是未加密的,也可以是加密的。在 9.2 及之前的固件版本中,3DS 会连接到指定为未加密的 nzone ssid,即使已加密,这些 ssid 恰好包括 attwifi/NZ@McD1 等。在更高版本的固件中,这些接入点不再被视为有效的 nzone。
指定使用加密的 ssid 使用存储在 3DS 本身中的预设密码进行加密,因此任何试图欺骗它们的尝试都必须使用相同的密码进行。