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

2023-11-08 17:17:06 +08:00
 JiaNa
想要在手机上实现 DNS 分流,查到的资料都是在路由器上安装各种 DNS 分流软件,但手机一定会在路由器之外使用。

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

我知道要完全隐藏访问记录,应该用虚拟机和 Tor ,但能少暴露信息还是更好的,并且上述功能还可以加快访问速度。
8787 次点击
所在节点    DNS
40 条回复
devswork
2023-11-08 17:35:14 +08:00
家里用 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
2023-11-08 17:36:32 +08:00
@devswork 这样做的好处就是无论是你在家里,还是在外头,都是同一个控制源,不需要两头折腾。维护家里的 adguardhome 就够了。所有设备,所有 dns 请求一览无余,想 block 哪个域名就全设备立刻生效。
devswork
2023-11-08 17:38:59 +08:00
对了,ios 上 quanx 可以配置在家里 wifi 下用一个 dns ,除此之外蜂窝流量和其他 wifi 下走 doh ,无感切换。
bjzhou1990
2023-11-08 17:41:20 +08:00
Clash 可以实现 DNS 分流啊
6388xE5FRKTNUT9x
2023-11-08 18:36:00 +08:00
自建无污染 DNS server ,注册个域名指向 DNS server

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

Stash 作者的说法,谁懂这个说法代表什么意思?
devswork
2023-11-08 19:41:55 +08:00
@RiverMud 因为存在 udp dns 劫持,实际上 dns 响应并不是 8888 1111 给你返回的真正的解析结果
JiaNa
2023-11-08 19:57:36 +08:00
@devswork @showgood163 @diskerjtr
国内自建 DNS server 要不要备案?最近几个帖子都因为备案被警察打电话。
rrfeng
2023-11-08 19:59:39 +08:00
@RiverMud
因为出梯子之后远端还是会查询真正要连的地址。所以要爬梯的域名,在本地解析没有任何意义。
JiaNa
2023-11-08 20:01:06 +08:00
多人提到自建 DNS ,有没有人(比如机场主)提供无污染 DNS 服务的?缺点是 DNS 服务商能看到你的 DNS 查询记录,而不是运营商了,但这对于使用机场翻墙的人差别不大。
Merrkry
2023-11-08 20:02:25 +08:00
clash 用 nameserver-policy 分流国内域名到国内 dns ,设置 nameserver 为境外 dns 并且走代理访问
devswork
2023-11-08 20:09:59 +08:00
yaott2020
2023-11-08 20:11:37 +08:00
@JiaNa dot/doh 躲在 tls 后面检测不出来的
billlee
2023-11-08 20:14:14 +08:00
没用过 clash, 但我用过的其他客户端都可以按分流规则分流 DNS
JiaNa
2023-11-08 20:24:21 +08:00
@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
2023-11-08 20:40:40 +08:00
@devswork 这个还是要自己先分流,而不是 DNS 服务器做分流。
“DNS 客户端只需做简单分流,将无污染的常见域名使用运营商或大厂的公共 DNS 解析,其余域名调用这个 API/DoH 处理分流”
Merrkry
2023-11-08 20:41:37 +08:00
@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"
```
6388xE5FRKTNUT9x
2023-11-08 21:25:49 +08:00
@JiaNa

不。搭纯净 dns 就是为了能正常解析任何域名。
xpn282
2023-11-08 22:23:13 +08:00
路由端:
如果平时是使用 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://ex.noerr.eu.org/t/989954

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

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

© 2021 V2EX