移动端有没有 DNS 分流方案?
想要在手机上实现 DNS 分流,查到的资料都是在路由器上安装各种 DNS 分流软件,但手机一定会在路由器之外使用。Clash 等翻墙客户端会同时查询所有 DNS ,让国内运营商知道你经常访问翻墙的域名,这让我感觉不舒服。在反诈逐渐加强的情况下,未来可能因为这个让反诈找上门。我知道要完全隐藏访问记录,应该用虚拟机和 Tor ,但能少暴露信息还是更好的,并且上述功能还可以加快访问速度。
家里用 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 上,伪装成路由器,这样可以防止墙发起主动探测。
这样做的好处就是无论是你在家里,还是在外头,都是同一个控制源,不需要两头折腾。维护家里的 adguardhome 就够了。所有设备,所有 dns 请求一览无余,想 block 哪个域名就全设备立刻生效。
对了,ios 上 quanx 可以配置在家里 wifi 下用一个 dns ,除此之外蜂窝流量和其他 wifi 下走 doh ,无感切换。
Clash 可以实现 DNS 分流啊
自建无污染 DNS server ,注册个域名指向 DNS server最后用安卓自带安全 dns 设置连上就行
天翼云 vps 建一个去污染 dns ,也不会封 53 端口直接用公网 DNS
“ Stash 会使用 Fake IP 来避免需要代理的请求进行本地 DNS 查询。对于中国用户建议使用国内 DNS ,配置 8.8.8.8 / 1.1.1.1 等国外 DNS 服务没任何意义。”Stash 作者的说法,谁懂这个说法代表什么意思?
因为存在 udp dns 劫持,实际上 dns 响应并不是 8888 1111 给你返回的真正的解析结果
国内自建 DNS server 要不要备案?最近几个帖子都因为备案被警察打电话。
因为出梯子之后远端还是会查询真正要连的地址。所以要爬梯的域名,在本地解析没有任何意义。
多人提到自建 DNS ,有没有人(比如机场主)提供无污染 DNS 服务的?缺点是 DNS 服务商能看到你的 DNS 查询记录,而不是运营商了,但这对于使用机场翻墙的人差别不大。
clash 用 nameserver-policy 分流国内域名到国内 dns ,设置 nameserver 为境外 dns 并且走代理访问
#11 看这个 apad.pro/dns-doh/
dot/doh 躲在 tls 后面检测不出来的
没用过 clash, 但我用过的其他客户端都可以按分流规则分流 DNS
只有 Clash Meta 才有 nameserver-policy ?查到的:默认用国外 DNS ,指定国内或特殊服务用国内 DNSdefault-nameserver: - 223.5.5.5/dns-query - 1.12.12.12/dns-query nameserver: - tls://dns.google - cloudflare-dns.com/dns-query proxy-server-nameserver: - dns.alidns.com/dns-query - doh.pub/dns-query nameserver-policy: 'geosite:microsoft@cn,apple-cn,google-cn,category-games@cn': [ dns.alidns.com/dns-query, doh.pub/dns-query] 'geosite:cn,private': [ dns.alidns.com/dns-query, doh.pub/dns-query]
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
这个还是要自己先分流,而不是 DNS 服务器做分流。“DNS 客户端只需做简单分流,将无污染的常见域名使用运营商或大厂的公共 DNS 解析,其余域名调用这个 API/DoH 处理分流”
我是这么写的,匹配到 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": - " 223.5.5.5/dns-query" - " 223.6.6.6/dns-query" nameserver: - " 1.0.0.1/dns-query#DNS" - " 8.8.4.4/dns-query#DNS" proxy-server-nameserver: - " 223.6.6.6/dns-query"
不。搭纯净 dns 就是为了能正常解析任何域名。
路由端:如果平时是使用 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 解析。
配置差不多是这样,clash meta 可以实现无污染。
老哥能详细说说小火箭怎么实现的吗?没找到小火箭的文档。
小火箭的配置文件,按住配置文件不放,弹出菜单,选择“纯文本编辑”,找到 dns-direct-system ,如果没有这项,那就直接添加即可,dns-direct-system = true
21#对啊,clash Meta 就可以实现 dns 国内外分流、代理 dns 解析无污染。Meta=翻墙+dns 服务器。不需要再搞其他的 dns 工具了
安卓本身 = 魔改的 Linux因此可以使用 Magisk 挂载 Adguard Home github.com/410154425/AdGuardHome_magisk
老哥,这部分我明白,我知道怎么改的。我的理解是,选了 true 不就是所有的请求就全部到 system 了,完全不去找配置文件了吗。没找到小火箭文档,所以你说的选了 true 国内请求到 system ,国外情况到配置文件 dns 这部分是怎么实现的没太理解。
就是说小火箭的 dns 你填国外 dns ,然后修改 dns-direct-system = true结果是:国内直连域名走 system ,比如蜂窝环境下,system 就是运营商的 dns 。国外会走你配置的国外 dns ,你可以打开 dns 记录日志看一下至于为什么这样能实现,那是开发者问题,我也不懂。。。反正就是这样实现的。。。。。。。
收到,我去研究下,感谢!
这个直连域名,小火箭到底是根据什么判断的,我也不了解,或许是根据你分流规则( direct )来判断?或许是小火箭其实也内置了一个大陆白名单这样的文件?你可以打开 dns 日志来观察一下判断是否正确。。。。。。
iOS 主流 surge 、shadowrocket 、loon 、stash 、Qx 的 dns 分流都不大行,不支持规则集,一个一个域名写入 dns 分流不现实。如果用 fakeip ,不如直接敏感域名规则集强制远程解析就是了,只不过未知域名还是需要本地解析一次再通过 geoip 来判断。shadowrocket 时不时有版本会发生加密 dns 经常失败回落到系统 dns (现在可以自定回落使用的 dns ,稍微缓解了这个问题)。几个月前修复了 dns 问题,我就停在这个版本,后面看别人说好像又有遇到这个问题。只有 clash meta 和 sing-box 可以 dns 按规则集分流,可能 ray 也支持吧。
试用了一下,感觉还是有点慢。比起直接用阿里的 dns 。
改成 true 试了半天,你的猜想应该是正确的。黑名单模式下,直连走本地 DNS ,代理不知道走什么,DNS 日志里完全看不到,whoer 看 DNS 是机场服务器 IP 。白名单模式下,直连走的都是本地 DNS ,代理走的都是配置文件设定的 8888 ,DNS 里都能看到,whoer 看 DNS 的地址都是谷歌 ASN 的 IP 。不知道为什么黑名单和白名单为什么会有这种差别,严格来说除了 FINAL 其他代码也没什么本质上的区别。配置文件里写国外的 DoT 、DoH ,不管哪家,都完全没有作用,写阿里云和腾讯云的 DoT 、DoH 有用。这又让我怀疑 DNS 日志里写的 8888 是不是真的 8888 。 最新版本的小火箭,刚试了很久,国外 dot doh 几乎不可用,国内 dot doh 可用,这个就是你说的版本问题吧? 老哥了解 dns-direct-system 这个参数吗?我写成 ture 后试了很久,在 DNS 日志里看,的确所有代理请求都去了配置文件里写的 8888 或者 1111 ,就是不知道这个 8888 或者 1111 是不是真的 8888 或者 1111 。
我 rule 分流规则一般是国内直连,国外全部代理。我以前观察小火箭的 dns 分流的时候,用也发现了一些问题,比如说,1 ,有时候看不到被墙的域名的 dns 解析记录,有时候又能看到。不知道是不是 fake-ip 的原因,小火箭没记录被墙的 dns 解析记录。。。。但是没被墙的国外域名基本都能看到 dns 记录。2 ,有时候很明显的国外域名竟然是 system 来解析(备用 dns 并没有填写“system”),有时候淘宝的域名却被国外 dns 解析。。。dns 这个东西,很懵逼的,无法理解。有时候我就怀疑,其实根本就不用过多的注意 dns 这个东西,dns 直接 system 完事,这些代理 app 都是 fake-ip 模式,fake IP 模式对被墙的域名不进行本地解析,算是对敏感域名的 dns 解析进行了隐私保护吗?如果算是保护了,那其他没被墙的域名的 dns 解析记录泄漏是否显得那么重要?搞不懂。。。。。
你说的第 1 点我刚发现了,奇怪的是黑名单模式下,DNS 日志里只能看到直连本地 DNS 的解析记录,白名单模式下所有记录都能看到,我这边看还都挺正常,该本地的本地,该走配置文件的走配置文件。反正现在对我来说是行了,就是小火箭没有文档,查不到没个命令具体的含义有点着急。
目前找到的 socks5 最好的是 andproxy ,一个根据 app 进行分流的软件。安卓平台,浏览器翻墙,微信不翻。N 年前就搞不定中外路由表。。。
adguardhome for magisk ,里面导入一下分流规则就 ok
我说下安卓的,用的 shelter ,国产软件全装进 workprofile 去,外面的 user profile 装国外软件,clash 全局代理,这样国内外分开。
搞个 vpn 连回家
家里开 wireguard ,全局回家,也不光是 dns 了。
我跑了七八个小时的程序,正等着出结果,结果它给我来个强制更新自动重启,一天的活白干了。尼玛。气得我睡不着。 你自己开启了更新怪谁啊,还是你自己的设置问题 表示工作用的 Ma…
朋友偶尔用我电脑做点事,我新建了一个标准用户给他。他在他账户下偶尔安装一些软件需要输入管理员密码,这就很尴尬了。安装就算了,我账户登录后也会自动启动他安装的软件,而且还有桌面快…
当前现状 小米锁 BL 恶政,放弃 1+ 可以解锁但是无法刷海外系统/原生系统 未来还有哪个手机能成为刷机小王子? 价格不贵,性能过得去,类比当前红米 K 系列 开源内核…