移动端有没有 DNS 分流方案?

183 天前
 JiaNa
想要在手机上实现 DNS 分流,查到的资料都是在路由器上安装各种 DNS 分流软件,但手机一定会在路由器之外使用。

Clash 等翻墙客户端会同时查询所有 DNS ,让国内运营商知道你经常访问翻墙的域名,这让我感觉不舒服。在反诈逐渐加强的情况下,未来可能因为这个让反诈找上门。

我知道要完全隐藏访问记录,应该用虚拟机和 Tor ,但能少暴露信息还是更好的,并且上述功能还可以加快访问速度。
4365 次点击
所在节点    DNS
39 条回复
devswork
183 天前
家里用 adguardhome 作为去广告和自定义 block ,它的上级为 mosdns 。
mosdns 使用大陆白名单域名,doh 走向 223.5.5.5 和腾讯 1.12.12.12 ,开启乐观缓存。白名单外统一使用 doh 请求 8888 和 1111 ,并且通过代理来请求以保证稳定性和速度。
家里有公网 ip ,adguardhome 开启 doh ,在自己域名下申请免费证书,配置到 adguardhome 。nginx 开启反代,自己想个不是 dns-query 的路径来反代到 adguardhome 上,并且只允许你运营商的 IP 网段 ICDR ,其他直接 deny 。nginx 如果访问不是你自定义的路径,直接 302 到 mi.com 上,伪装成路由器,这样可以防止墙发起主动探测。
devswork
183 天前
@devswork 这样做的好处就是无论是你在家里,还是在外头,都是同一个控制源,不需要两头折腾。维护家里的 adguardhome 就够了。所有设备,所有 dns 请求一览无余,想 block 哪个域名就全设备立刻生效。
devswork
183 天前
对了,ios 上 quanx 可以配置在家里 wifi 下用一个 dns ,除此之外蜂窝流量和其他 wifi 下走 doh ,无感切换。
bjzhou1990
183 天前
Clash 可以实现 DNS 分流啊
showgood163
183 天前
自建无污染 DNS server ,注册个域名指向 DNS server

最后用安卓自带安全 dns 设置连上就行
diskerjtr
183 天前
天翼云 vps 建一个去污染 dns ,也不会封 53 端口直接用公网 DNS
RiverMud
183 天前
“ Stash 会使用 Fake IP 来避免需要代理的请求进行本地 DNS 查询。对于中国用户建议使用国内 DNS ,配置 8.8.8.8 / 1.1.1.1 等国外 DNS 服务没任何意义。”

Stash 作者的说法,谁懂这个说法代表什么意思?
devswork
183 天前
@RiverMud 因为存在 udp dns 劫持,实际上 dns 响应并不是 8888 1111 给你返回的真正的解析结果
JiaNa
183 天前
@devswork @showgood163 @diskerjtr
国内自建 DNS server 要不要备案?最近几个帖子都因为备案被警察打电话。
rrfeng
183 天前
@RiverMud
因为出梯子之后远端还是会查询真正要连的地址。所以要爬梯的域名,在本地解析没有任何意义。
JiaNa
183 天前
多人提到自建 DNS ,有没有人(比如机场主)提供无污染 DNS 服务的?缺点是 DNS 服务商能看到你的 DNS 查询记录,而不是运营商了,但这对于使用机场翻墙的人差别不大。
Merrkry
183 天前
clash 用 nameserver-policy 分流国内域名到国内 dns ,设置 nameserver 为境外 dns 并且走代理访问
devswork
183 天前
yaott2020
183 天前
@JiaNa dot/doh 躲在 tls 后面检测不出来的
billlee
183 天前
没用过 clash, 但我用过的其他客户端都可以按分流规则分流 DNS
JiaNa
183 天前
@Merrkry 只有 Clash Meta 才有 nameserver-policy ?

查到的:默认用国外 DNS ,指定国内或特殊服务用国内 DNS
```
default-nameserver:
- https://223.5.5.5/dns-query
- https://1.12.12.12/dns-query
nameserver:
- tls://dns.google
- https://cloudflare-dns.com/dns-query
proxy-server-nameserver:
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
nameserver-policy:
'geosite:microsoft@cn,apple-cn,google-cn,category-games@cn': [https://dns.alidns.com/dns-query, https://doh.pub/dns-query]
'geosite:cn,private': [https://dns.alidns.com/dns-query, https://doh.pub/dns-query]
```
https://github.com/DustinWin/clash-tutorials/blob/main/%E6%95%99%E7%A8%8B%E5%90%88%E9%9B%86/%E8%BF%9B%E9%98%B6%E7%AF%87/ShellClash%20%E4%BD%BF%E7%94%A8%20Clash.Meta%20%E5%86%85%E6%A0%B8%E8%BF%9B%E8%A1%8C%20DNS%20%E5%88%86%E6%B5%81%E6%95%99%E7%A8%8B%20geox%20%E6%96%B9%E6%A1%88.md#2-dns-%E6%A8%A1%E5%BC%8F%E4%B8%BA-redir-host
JiaNa
183 天前
@devswork 这个还是要自己先分流,而不是 DNS 服务器做分流。
“DNS 客户端只需做简单分流,将无污染的常见域名使用运营商或大厂的公共 DNS 解析,其余域名调用这个 API/DoH 处理分流”
Merrkry
183 天前
@JiaNa

我是这么写的,匹配到 nameserver-policy 就走阿里 dns ,否则就通过代理(`#<策略组>`)走谷歌 / cf 的 dns 。

fcm 和 微软之类的走直连个人觉得没什么必要,时不时抽风,一并代理了省事。

```
dns:
enable: true
prefer-h3: true
listen: "0.0.0.0:1053"
ipv6: true
enhanced-mode: fake-ip
fake-ip-range: 28.0.0.1/8
fake-ip-filter:
- "*"
- "+.lan"
- "+.local"
nameserver-policy:
"geosite:cn, private":
- "https://223.5.5.5/dns-query"
- "https://223.6.6.6/dns-query"
nameserver:
- "https://1.0.0.1/dns-query#DNS"
- "https://8.8.4.4/dns-query#DNS"
proxy-server-nameserver:
- "https://223.6.6.6/dns-query"
```
showgood163
183 天前
@JiaNa

不。搭纯净 dns 就是为了能正常解析任何域名。
xpn282
183 天前
路由端:
如果平时是使用 OpenClash 的话,想 dns 分流,其实不需要自借助其他 dns 工具的。
OpenClash 用 Meta 内核,nameserver-policy 组用 geosite 类别进行国内域名分流,设置国内 dns 。nameserver 组用国外 dns ,这样就实现了 dns 分流。
同时还可以用把国外 dns 用策略组进行代理解析(具体见 Meta 文档),这样代理 dns 解析后,那些所谓的 dns 泄漏测试都可以全过。

移动端:
可以用小火箭进行国内外 dns 分流的,配置文件用纯文本编辑里,设置:dns-direct-system = true ,这样国内域名会用系统 dns 解析。然后配置文件的 dns 填国外的 dns 。这样就实现国内用系统 dns 解析,国外会使用国外的 dns 解析。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX