Android 接入:私人 DNS

Android 9+ 直接使用系统「私人 DNS」接入,无需安装任何应用。

工作方式

  • 国内域名或 GEOIP CN 命中 → 返回真实 IP → 手机本地直连
  • 国外目标 → A 记录改写为网关 IP → 网关按当前国外出口转发
  • 广告域名 → 返回 NXDOMAIN → 在 DNS 层直接拦截
  • 无 SNI 私有协议 → 尝试通过近期 DNS 线索辅助还原目标

设置步骤

  1. 打开 设置 → 网络和互联网 → 私人 DNS
    • 部分品牌的路径是「设置 → 连接与共享 → 私人 DNS」
  2. 选择「指定的私人 DNS 服务提供商主机名」
  3. 填入网关域名,例如 gw.example.com
  4. 保存,无需重启

验证是否生效

使用已绑定的 5GPN 卡蜂窝数据:

  • 打开 ip.cn:国内目标应显示手机运营商出口
  • 打开 YouTube:应通过网关当前国外出口正常访问
  • Bot → 连通诊断:输入目标域名,检查策略与出口结果

使用广告拦截

安装完成后,广告拦截默认关闭。可以从以下任一入口开启:

  • Telegram Bot → 广告拦截 → 开启拦截
  • 内网 Web 面板 → 广告拦截 → 切换开关

首次开启会下载约 2 MB 的 anti-AD 规则。面板和 Bot 会展示成功次数、最近命中与高频域名;若某个 App 被误杀,把对应域名加入白名单即可。

已知取舍

  • 网关数据面为 IPv4-only:AAAA / HTTPS / SVCB 查询会返回 NODATA;仅发布 IPv6 的少量站点可能不可达
  • 客户端到网关的 UDP/443 会被拒绝,以促使 QUIC 回落 TCP
  • 无 SNI、无 HTTP Host,且无法通过 DNS 线索可靠关联的私有协议可能不兼容
  • App 自带 DoH / DoQ、直接访问 IP 的广告,以及与业务共用同一域名的原生广告,不受 DNS 规则控制

Wi-Fi 注意事项

Android 私人 DNS 是系统级设置,也会应用到 Wi-Fi。如果当前 Wi-Fi 无法访问网关的 853 端口,系统会提示私人 DNS 不可用。此时把私人 DNS 切回「自动」,回到 5GPN 蜂窝网络后再恢复指定主机名即可。