Atmosphere DNS 重定向:3 步屏蔽任天堂遥测服务器的完整教程
2026/9/8 15:49:16 网站建设 项目流程

Atmosphere DNS 重定向:3 步屏蔽任天堂遥测服务器的完整教程

【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere

你的 Switch 连着 WiFi,却没登录任何账号,后台也在定期往任天堂服务器发数据。这些看不见的遥测请求,可以在解析环节就被掐断。Atmosphere 的 DNS 重定向功能(0.18.0 及以后版本)把目标域名指到本机地址,连接自然建立不起来。下面按实际操作顺序讲一遍:从写 hosts 文件,到确认屏蔽真的生效。

🔍 为什么需要挡住这些请求

不登录账号,Switch 也会定期上报设备与使用情况。 这些遥测请求发往receive-*.dg.srv.nintendo.net一类的域名。 系统设置里并没有开关能关掉它们,需要外部机制介入。 Atmosphere 从 0.18.0 起内置了这个机制,而且默认就是开启的。

它自带的默认规则只有两行:

# Nintendo telemetry servers 127.0.0.1 receive-%.dg.srv.nintendo.net receive-%.er.srv.nintendo.net

127.0.0.1是回环地址,意思是"本机自己"。 把域名指过去,相当于撕掉门牌改贴"此路不通",连接会立刻失败。

💡 DNS 重定向:一句话讲清它是什么

DNS 重定向做的事是:程序查询域名时(DNS 解析,就是把域名翻译成 IP 的过程),由 Atmosphere 拦截并改写结果。 匹配上规则的域名,会被指到你指定的 IP;没匹配的,照常解析。

用它你可以:

  • 不改任何系统设置,直接拦住遥测请求
  • 用一个通配符批量屏蔽一整族域名
  • 出厂就带内置默认规则,不用配置也能挡遥测
  • 开调试日志,逐条看到哪些请求被重定向了

⚙️ 动手前,先弄懂这套拦截机制

白话版机制,五句话:

  • 开机时,Atmosphere 读取一次 hosts 文件,之后每次解析都按它匹配
  • *是通配符,代表任意一串字符
  • %代替设备的环境标识,真机上恒为lp1
  • 同一条域名被多条规则匹配时,后写的规则生效
  • 内置默认规则相当于"拼在你的文件最前面",所以你的规则天然能覆盖它

✍️ 配 hosts 文件的完整流程

先确认 Atmosphere 会读哪个文件

Atmosphere 按下面的顺序查找,找到第一个存在的文件就停:

优先级场景文件路径
1emummc/atmosphere/hosts/emummc_%04lx.txt(按 emummc 编号命名)
2emummc/atmosphere/hosts/emummc.txt
3sysmmc/atmosphere/hosts/sysmmc.txt
4默认/atmosphere/hosts/default.txt

如果default.txt不存在,Atmosphere 会自动创建一个并写入默认规则。 所以最省事的起点,就是直接编辑default.txt

把规则写进 hosts 文件

语法很简单:一行 =IP+ 一个或多个域名,空格分隔。 想让某个域名"失联",就把它指到127.0.0.1

127.0.0.1 receive-%.dg.srv.nintendo.net receive-%.er.srv.nintendo.net 127.0.0.1 *.your-game-server.com

注意后写的规则优先,所以规则顺序直接决定最终结果。

打开调试日志(可选)

system_settings.ini放到 SD 卡根目录,可参考仓库里的模板 config_templates/system_settings.ini:

[atmosphere] enable_dns_mitm = u8!0x1 add_defaults_to_dns_hosts = u8!0x1 enable_dns_mitm_debug_log = u8!0x1
  • enable_dns_mitm:功能总开关,默认开启
  • add_defaults_to_dns_hosts:在你自定义规则之外,继续保留内置默认规则
  • enable_dns_mitm_debug_log:把每次解析请求都记到 SD 卡日志里

✅ 如何确认屏蔽已经生效

三条检查,各看一处:

  • 重启后打开/atmosphere/logs/dns_mitm_startup.log:能看到选中了哪个 hosts 文件、解析出的全部重定向
  • 开启调试日志后打开/atmosphere/logs/dns_mitm_debug.log:每次 GetHostByName 请求和每次重定向都有记录
  • 系统设置里联网测试显示已连接(基础网络不受影响),但需要访问任天堂服务器的操作(如账户验证)会失败

🚀 进阶:选择性屏蔽与例外放行

场景一:整族域名一起挡。一个通配符就够:127.0.0.1 *.nintendo.net

场景二:先大范围屏蔽,再放行个别域名。利用后写的规则优先,先写屏蔽,再写例外:

127.0.0.1 *.nintendo.net 0.0.0.0 api.accounts.nintendo.net

场景三:只挡遥测,其余放行。保持默认行为即可,且把add_defaults_to_dns_hosts打开。 这样系统更新后即使遥测域名变了,内置规则也会自动跟上。

还有个省事技巧:自制软件可以向sfdnsres会话发送 IPC 命令 65000(AtmosphereReloadHostsFile),让 Atmosphere 重新解析 hosts 文件,不用重启。

⚠️ 避坑清单:现象、原因与解法

现象:配完规则,任天堂服务器照样能连上。原因:enable_dns_mitm被设成了 0(功能关闭),或者你编辑了 Atmosphere 不会读的文件。 解法:核对system_settings.ini里的取值,再看dns_mitm_startup.log确认实际加载的是哪个文件。

现象:想临时关掉,删掉 hosts 文件却没反应。原因:功能默认开启,删文件并不会停掉内置的默认规则。 解法:设置enable_dns_mitm = u8!0x0后重启即可,hosts 文件可以原封不动。

现象:自己写的规则好像没生效。原因:同一条域名被多条规则匹配,后写的规则把你那条顶掉了。 解法:把想生效的规则挪到文件末尾,或者把匹配写得更精确。

现象:系统更新后,遥测又冒出来了。原因:任天堂换了遥测服务器域名,你手写的旧文件里没有新条目。 解法:保持add_defaults_to_dns_hosts开启,让内置规则替你覆盖新域名。

写在最后

hosts 文件决定域名指到哪,配置文件决定跑不跑,日志文件告诉你结果。 理清这三样,Atmosphere 的 DNS 重定向就完全在你手里了。 更多细节见官方功能文档 docs/features/dns_mitm.md 与更新日志 docs/changelog.md。

【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询