国内 dns 解析国外域名竟然这么慢

69 天前
 52acca

本来用的 AdGuardHome 白名单模式分流国内外域名,腾讯系域名用的 dnspod ,国内其他域名用的 alidns ,其他域名用的 quad9 、cloudflare 、opendns 等国外 dns ,今天突然改成黑名单模式,少数域名用国外 dns ,剩下的腾讯系继续用 dnspod ,其他的都用 alidns 。结果发现打开很多国外网站特别慢,一看查询日志,原来 alidns 解析很多国外域名都是 1000ms+,这不慢才怪了,看来还是白名单模式更适合,虽然会存在部分错杀(部分国内域名由于用了默认的国外 dns 解析到了非最优的国内 ip 上)。

5204 次点击
所在节点    DNS
49 条回复
nonfxck
68 天前
https://doh.apad.pro/dns-query 不在家在外面临时用下还可以用这个 doh ,做了自动分流
mytsing520
68 天前
阿里 DNS 的限频针对非热度域名,热度域名如 baidu.com 是不会有限频的,技术上做不到
52acca
68 天前
@mytsing520 但我访问这些冷门域名的频率也不高,不可能超过限制啊,而且不只是 dns.dlidns.com ,个人账户带前缀的解析也慢,应该主要还是服务器上没缓存的原因
52acca
68 天前
@nonfxck 我有公网 ip ,在外也可以用家里面的 AdGuardHome
2000wcw
68 天前
你觉得 GFW 是吃素的?访问国外域名先来个全身大检查.....
52acca
68 天前
@2000wcw 以前是真没想到国内 dns 解析国外域名比直接从国外 dns 解析还慢的,访问多外 dns 多出那几十上百 ms 跟国内 dns 解析慢的上千 ms 比起来真不算啥
Jinnrry
68 天前
mosdns +1 体验太好了
Andim
68 天前
用了几年的 dnscrypt-proxy 解析外网,速度还可以,不过 dnscrypt-proxy 默认包含了阿里,奇虎,腾讯,要把这些屏蔽了

jackOff
68 天前
adguardhome1:劫持全局 dns ,上游整个分流容器 1
adguardhome2:局部 dns ,比如给 openclash 调用,上游整个分流器 2
adguardhome3:国内上游查询,阿里百度。是分流器 1 和 2 的国内 dns 查询
adguardhome4:国外上游查询,8888,1111 ,是分流器 2 的国外 dns 查询
分流器 1 的国外 dns 查询接 openclash 的 dns 端口
maxus
68 天前
mosdns 上游国内外分流
AdGuardhome 上游 moddns
passwall 上游 AdGuardhome
yyws2012
68 天前
v2ray/xray 有一个功能是根据返回 ip 判断取这个结果或者往后 fallback 。我现在的策略是,先域名列表 cn 直接用国内,然后都走国外,如果解析出的 ip 是国内的再回落到国内。这样只会有两种情况回落不生效:一是 geoip 不全,这个找 chinamax 库的应该不多见;二是在海外有服务器,这种直接走代理就完事。可以试试用这个做 adguard 的上游。
Nyarime
68 天前
可以用这两个,实测无污染
162.14.21.178
162.14.21.56
lw4free
68 天前
@52acca 我用的是 routedns 用 mosdns 也行 不能判断的话很难实现 dns 完美分流
52acca
68 天前
@yyws2012 你这样还是会有个问题,有些有国内 ip 的域名会被国外 DNS 解析成国外 ip 而不会回落
52acca
68 天前
@lw4free AdGuardHome 没有根据解析结果判断后进一步处理的功能,的确很难做到完美分流
52acca
68 天前
@Andim dnscrypt-proxy 也用过一段时间,功能其实跟 AdGuardHome 差不多,都只能通过 upstream 文件指定哪些域名走哪些 dns ,但相比于 AdGuardHome 不支持 dot
52acca
68 天前
@jackOff 你这比我之前的还复杂,我以前是两台机器上分别运行了两个 AdGuardHome (一个全局,一个作为国内域名的上游),然后是软路由上的 dnsmasq 分别同时查询这两台机器
jackOff
68 天前
@52acca 这个方案在于可以一个机器解决 dns 泄露的问题,也不会造成国内网络卡顿。尤其是 adguardhome 的设计很轻量,多部署几个也没有什么负担
52acca
68 天前
@maxus 没研究过 mosdns ,但既然 mosdns 都已经分流了,还套 AdGuardHome 干啥呢?
52acca
68 天前
@jackOff AdGuardHome 不算轻量啊,软路由多跑几个没问题,但硬路由的内存就很捉急了。套多了还有个问题,其中某一环出了问题可能全都挂了。所以自从 AdGuardHome 支持在 upstream 文件中在一串域名后列出多个 dns 后我就改成一层了,同时在软路由和一台 debian 虚拟机上都运行了 AdGuardHome 来做负载均衡。

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

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

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

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

© 2021 V2EX