本来用的 AdGuardHome 白名单模式分流国内外域名,腾讯系域名用的 dnspod ,国内其他域名用的 alidns ,其他域名用的 quad9 、cloudflare 、opendns 等国外 dns ,今天突然改成黑名单模式,少数域名用国外 dns ,剩下的腾讯系继续用 dnspod ,其他的都用 alidns 。结果发现打开很多国外网站特别慢,一看查询日志,原来 alidns 解析很多国外域名都是 1000ms+,这不慢才怪了,看来还是白名单模式更适合,虽然会存在部分错杀(部分国内域名由于用了默认的国外 dns 解析到了非最优的国内 ip 上)。
1
xiaomoxian 68 天前 via Android
先过一遍饭炸系统
|
2
JensenQian 68 天前
哥们别折腾了
国内直接走运营商的拉到了,国外走 8888 和 1111 ,完事 |
3
Atomo 67 天前 1
听劝,国内统一走运营商,国外统一走 1111
|
4
52acca OP @JensenQian 关键问题是你如何能确定完整的国内域名名单?如果能有全名单,那我除国内域名外的其他域名走国外 dns 就简单了。而且运营商 dns 有个挺致命的问题,HTTPS 解析,也就是 type 65 要么没结果,要么就是错的,这算是我国内用 alidns 最大的原因吧,当然成都电信 alidns 的速度本来也就跟电信 dns 差不多,5ms 左右吧
|
5
GeekGao 67 天前
@52acca 如果你不是在经营机场,那么盲猜你访问的国内站点是非常有限的有限集,除非后缀为 GOV.CN / .CN 外大概不会超过 40 个 (日常访问 [国内站点不超过 10+ 个] ,每个站点有 3 个不同的 CDN 域,这么计算) 这个国内的站点列表,有相关的开源项目 https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/China
|
6
52acca OP @GeekGao 我是将 https://github.com/felixonmars/dnsmasq-china-list 项目中的所有中国域名用 alidns 解析的,但总会有一些漏网之鱼,而打开一个 app 或者网站的速度很多时候是由那个 app 或网站访问的所有域名解析+连接速度决定的,也就是短板效应,由于其中部分域名解析慢或者更可能是解析到了慢的 IP 上,就可能导致访问慢。
|
7
52acca OP @GeekGao 而且你不用 AdGuardHome 这种软件估计对自己一天的 dns 解析数量没太大概念,我也是用了之后才大吃一惊,我一个人在家的时候一天的解析量就有 5w 左右吧,这还是没开屏蔽的情况下,如果开了屏蔽会窜到将近 10W (有些 app 在得不到相应的情况下会重复请求)。虽然这其中绝大多数是重复的,但其中不重复的也有几百上千个域名吧,很多 app 和网站一打开就会请求两位数域名的。
|
8
maxus 67 天前
你为什么不用 adh 加 mosdns 方案,mosdns 国内外分流解析,还能缓存,国内外网页一般都秒开,我觉得很好用
|
9
Terminl 67 天前
alidns 和 dnspod 开始限速了你居然不知道,现在只支持个人使用,家里设备一多请求速上来不卡才怪嘞。
|
11
52acca OP @Terminl 我当然知道要开始限速了,不过不是还没开始吗,而且我除了用公共的外,还都用了个人账户的,并不是这个原因,应该是国外域名在 alidns 和 dnspod 服务器上没缓存,导致访问缓慢
|
12
lw4free 67 天前
我一般是 黑名单走国外 dns 其他走国内 dns 查询结果匹配国内 IP 不匹配的继续走国外 dns 国内 IP 是有限的 哪怕用的是 mmdb 数据库 我估计匹配准确率也超过 99.9% 遇上某些特殊的域名就单独处理 如果加上白名单只走国内 dns 就基本不会错了(我的 openswrt 内存不足 没搞白名单)
|
13
yyysuo 67 天前
1:Adguard Home 不要开屏蔽,没效果还能整疯一些 app
2:国内域名国内 dns 解析,国外域名国外 dns 解析,不在列表中的域名,统一带 ecs (所在城市 IP )发到 8888 解析。 3:阿里的 api ,已经有实现了: https://github.com/mili-tan/ArashiDNS.Aha |
14
52acca OP @yyysuo 这跟我以前差不多吧,不过我是除了少数不需要 ecs 的国外域名用 cloudflare 和其它不支持 ecs 的国外 dns 解析,不在名单内的默认走国外支持 ecs 的 dns 。alidns 每月一千万额度,即使 doh 或者 dot 暂时也够用了,dnspod 每月三百万额度是真不够,只敢用来解析腾讯系域名,这样做 7 月份都还超了,额外付了费。只是这样存在一个问题我,就是不在国内名单中走了默认的国外支持 ecs 的域名被解析成国内 ip 但是非最优 ip 的情况不可避免,而解析成国外 ip 反倒不用担心,这部分会流入科学软件中做了进一步分流,先国内 dns 解析,如果不是国内 ip 会走不支持 ecs 的国外 dns 。
|
16
nonfxck 67 天前
这个题目我知道,我周末刚用 mosdns ,体验效果非常好,比以前 smartdns 简单多了
|
17
nonfxck 67 天前 1
adguardhome 使用 53 替换 dnsmasq
adguardhome 上游 dns 使用 openclash dns 端口 openclash dns 设置上游仅保留 mosdns mosdns 配置腾讯阿里谷歌 CF dns |
18
yyysuo 67 天前
@52acca 怎么区分一个域名是不是需要带 ecs 解析呢,另外像你标题中说的,国内的 dns 对小众域名的支持不好,解析也慢,准确度也不好说,我用 8888 带 ecs 解析,目前看来准确度很好,原来解析出中国 ip 还用国内 dns 再解析一次,现在干脆直接采用了。
|
19
52acca OP @yyysuo 少数已知被和谐或者我希望走代理的域名走不带 ecs 的国外 dns ,其他都走带 ecs 的。本来昨天替换成默认走国内 dns 是想减少这种国外 dns 因为 ecs 解析到国内非最优 ip 的情况,但偶然发现国内 dns 解析国外小众域名速度太慢的问题,所以又想改回去了。
|
21
nonfxck 67 天前
https://doh.apad.pro/dns-query 不在家在外面临时用下还可以用这个 doh ,做了自动分流
|
22
mytsing520 67 天前
阿里 DNS 的限频针对非热度域名,热度域名如 baidu.com 是不会有限频的,技术上做不到
|
23
52acca OP @mytsing520 但我访问这些冷门域名的频率也不高,不可能超过限制啊,而且不只是 dns.dlidns.com ,个人账户带前缀的解析也慢,应该主要还是服务器上没缓存的原因
|
25
2000wcw 67 天前
你觉得 GFW 是吃素的?访问国外域名先来个全身大检查.....
|
26
52acca OP @2000wcw 以前是真没想到国内 dns 解析国外域名比直接从国外 dns 解析还慢的,访问多外 dns 多出那几十上百 ms 跟国内 dns 解析慢的上千 ms 比起来真不算啥
|
27
Jinnrry 67 天前
mosdns +1 体验太好了
|
28
Andim 67 天前
|
29
jackOff 67 天前
adguardhome1:劫持全局 dns ,上游整个分流容器 1
adguardhome2:局部 dns ,比如给 openclash 调用,上游整个分流器 2 adguardhome3:国内上游查询,阿里百度。是分流器 1 和 2 的国内 dns 查询 adguardhome4:国外上游查询,8888,1111 ,是分流器 2 的国外 dns 查询 分流器 1 的国外 dns 查询接 openclash 的 dns 端口 |
30
maxus 67 天前 via iPhone
mosdns 上游国内外分流
AdGuardhome 上游 moddns passwall 上游 AdGuardhome |
31
yyws2012 67 天前 via Android
v2ray/xray 有一个功能是根据返回 ip 判断取这个结果或者往后 fallback 。我现在的策略是,先域名列表 cn 直接用国内,然后都走国外,如果解析出的 ip 是国内的再回落到国内。这样只会有两种情况回落不生效:一是 geoip 不全,这个找 chinamax 库的应该不多见;二是在海外有服务器,这种直接走代理就完事。可以试试用这个做 adguard 的上游。
|
32
Nyarime 67 天前
可以用这两个,实测无污染
162.14.21.178 162.14.21.56 |
36
52acca OP @Andim dnscrypt-proxy 也用过一段时间,功能其实跟 AdGuardHome 差不多,都只能通过 upstream 文件指定哪些域名走哪些 dns ,但相比于 AdGuardHome 不支持 dot
|
37
52acca OP @jackOff 你这比我之前的还复杂,我以前是两台机器上分别运行了两个 AdGuardHome (一个全局,一个作为国内域名的上游),然后是软路由上的 dnsmasq 分别同时查询这两台机器
|
40
52acca OP @jackOff AdGuardHome 不算轻量啊,软路由多跑几个没问题,但硬路由的内存就很捉急了。套多了还有个问题,其中某一环出了问题可能全都挂了。所以自从 AdGuardHome 支持在 upstream 文件中在一串域名后列出多个 dns 后我就改成一层了,同时在软路由和一台 debian 虚拟机上都运行了 AdGuardHome 来做负载均衡。
|
41
crysislinux 67 天前 via Android
规则还是简单点好。国内域名就走运营商 dns ,剩下的全部 ecs 走 Google dns 。Google 的 ecs 还是比较准的,要是实在不放心就再判断下 ip ,国内 IP 再走一遍运营商的 dns
|
44
Jack927 66 天前
> 本来用的 AdGuardHome 白名单模式分流国内外域名,腾讯系域名用的 dnspod ,国内其他域名用的 alidns ,其他域名用的 quad9 、cloudflare 、opendns 等国外 dns ,今天突然改成黑名单模式,少数域名用国外 dns ,剩下的腾讯系继续用 dnspod ,其他的都用 alidns
--- 刚用 AdGuardHome 的新手求问,目前只用上了它自带的屏蔽功能。请问下这个怎么配的? 能简单说下,或者贴下文档地址吗? |
45
52acca OP |
47
anytk 66 天前
mosdns+++ 用了真的比以前丝滑
|