1
baraja OP 当然 ECS 现在看起来就是个鸡肋功能。
最佳的策略还是用域名分流,国内用运营商 dns ,国外反正都走代理了,解析连接都交给远端就没有 ECS 什么事了 |
2
baraja OP 遗漏了几个测试结果:
完美支持的还有:字节 dns 支持有问题的还有:mosdns 自建 |
3
crysislinux 52 天前 via Android
ecs 兜底很有用
|
4
gentrydeng 52 天前 via Android
AdGuard DNS 的 ECS 可用?
使用中国电信网络请求的 ECS 会被替换为中国电信南非 IP 地址段,而且这是他们的预期实现,不会更改。 |
5
dalaoshu25 52 天前
这是我的 AdGuard Home 用的上游:
208.67.220.220 [2620:119:35::35] tls://8.8.8.8 https://doh.pub/dns-query [/docker.io/] tls://1.1.1.1 当然了,我的 AGH 运行在境外的 VPS 上,家里路由器通过 DoH 访问过去,不开不加密的 53 UDP 什么的。 |
6
baraja OP @gentrydeng AdGuard DNS 的 ECS 对国外的还可以,对国内的简直就是鸡肋。他们的实现为了隐私做了模糊处理( nextdns 亦如此),精确度很差。论精确度可能还是 google 最好,quad9 和 nextdns 稍差,AdGuard DNS 最次
但是 AdGuard DNS 的 ECS 功能实现是完整的 |
7
baraja OP @dalaoshu25 208.67.220.220 opendns 的 ECS 形同虚设,我正文里写了。不过不图它 ECS 功能的话就无所谓了。
|
8
WAHSUN 52 天前 via iPhone
我也发现了,所以准备自建 DNS 系统!
https://pkg.labs.nic.cz/doc/?project=knot-dns |
9
52acca 52 天前 via Android
但是 adguard 的 quic dns 差不多是唯一可以直连的
|
10
XiLingHost 52 天前
用 dnsdist 自建的 dns 也能支持 ecs ,前提是配置正确
|
11
baraja OP @52acca quad9 的 doh ,nextdns 的 doq doh3 ,cf-gateway 的 doh 以及 opendns 的 doh 国内都可以直连,只是延迟和稳定性欠佳。如果你的线路是 cn2 9929 cmin2 这种精品网,那延迟和稳定性会好不少
|
12
loveqianool 52 天前 via Android
一直用的 rethinkdns ,不知道支持不。
|
13
fanxasy 52 天前
怎么看 adg home 请求的上游 dns 服务是否支持 ecs 呢,在 adg home 前端面板没找到
|
14
baraja OP @loveqianool 完全不支持 ECS ,q TXT o-o.myaddr.l.google.com @tls://max.rethinkdns.com ,应答里没有 subnet 信息
rethink 还支持在 cf 上自建,我测试同样也不支持 |
15
baraja OP @fanxasy 安装 q: https://github.com/natesales/q/releases
1. q TXT o-o.myaddr.l.google.com @https://xxxxxx.com/dns-query 看应答里有没有类似 edns0-client-subnet 0.0.0.0/24 的信息,这是第一步,但还不够。cf-gateway nextdns 以及 opendns 这里都是通过的,但第二步通过不了 2. 向自建 agh 发送请求,看上游有没有正确传 subnet 给 agh q A www.iqiyi.com /subnet 电信的某 subnet @agh 的 dns q A www.iqiyi.com /subnet 联通的某 subnet @agh 的 dns 完美支持 ECS 的 dns 应该是显示不同 ip 的,比如 alidns quad9 等 而不完美支持 ECS 的 dns ,联通再过去请求时得到的却是电信的 IP ,agh 的日志里显示命中缓存了,而这是错误的。workaround 是禁用 agh 的缓存功能,这样每次查询 ecs 才能发挥作用 |
17
ddczl 51 天前
请问一下阿里云的免费版如何对接 ADG ?感觉它的 JSON API 还要代理一层加密功能
|
18
fanxasy 51 天前
@baraja #15 试了下
$ q TXT o-o.myaddr.l.google.com @https://1.12.12.12:443/dns-query o-o.myaddr.l.google.com. 1m TXT "157.255.7.44" o-o.myaddr.l.google.com. 1m TXT "edns0-client-subnet x.x.x.x/24" $ q TXT o-o.myaddr.l.google.com @https://223.5.5.5:443/dns-query o-o.myaddr.l.google.com. 1m TXT "39.97.162.23" 看上去阿里的 dns 并不支持 ecs? |
19
fanxasy 51 天前
@baraja #15 另外我尝试用各种不同的运营商跑这两条命令
q A www.iqiyi.com /subnet 不同运营商的 subnet @https://1.12.12.12:443/dns-query q A www.iqiyi.com /subnet 不同运营商的 subnet @https://223.5.5.5:443/dns-query 结果都是千篇一律的 ipv6-static.dns.iqiyi.com. 4m14s A 220.181.184.12 ipv6-static.dns.iqiyi.com. 4m14s A 220.181.184.20 ipv6-static.dns.iqiyi.com. 4m14s A 220.181.184.24 ipv6-static.dns.iqiyi.com. 4m14s A 220.181.184.25 ipv6-static.dns.iqiyi.com. 4m14s A 220.181.184.40 www.iqiyi.com. 4m14s CNAME ipv6-static.dns.iqiyi.com. 是我哪里没操作对? |
20
baraja OP @ddczl https://dnsnext.console.aliyun.com/pubDNS 方式三:DoT/DoH 接入
|
21
baraja OP @fanxasy 阿里完美支持 ECS 的,https://v2ex.com/t/963505 这个帖子有提到“阿里只是在三大运营商网内的后端不支持 ECS (即不会向权威提交 ECS 地址解析准确度全靠后端在国内覆盖地区的数量)但入口是支持的,假如你提交的 IP 不属于三大运营商阿里就会转发到支持 ECS 后端进行查询”
我写的命令错了,linux 下面要--subnet 而不是/subnet q A www.iqiyi.com --subnet 210.5.157.0/24 @https://1.12.12.12:443/dns-query 电信 q A www.iqiyi.com --subnet 139.226.196.0/24 @https://1.12.12.12:443/dns-query 联通 q A www.iqiyi.com --subnet 211.136.112.0/24 @https://1.12.12.12:443/dns-query 移动 可以看到三次结果 IP 都不同 |
23
TanKuku 51 天前 via Android
阿里云的账号绑定的 doh ,请求一次使用明细里面的抵扣量就几千上百了,不清楚计算方式
|
26
HalloCQ 49 天前
感谢测试,很有参考价值
|
27
hiyoi 48 天前 via Android
请教一下 ADH cache 设置,最小 TTL 和最大 TTL 怎么设置比较好?
|
29
Aicerk 33 天前
|
30
baraja OP |
31
Joomaen 28 天前
可以编译 unbound 做递归 dns,开启 ECS 支持。不过我使用 technitium dns server 这个来自建
|
32
Aicerk 28 天前
@baraja 这个应该是 JD 的域名。用 AdGuard DNS 会解析不出来。 实际应该是解析出 SOA 。其他的 DNS 解析应该是给出 NXDOMAIN 响应状态。AdGuard DNS 时不时会响应 NXDOMAIN 。绝大部分时间是 SERVFAIL
"Question": [ { "name": "pi.3.cn.", "type": 1 /* A */ } ], "Authority": [ { "name": "3.cn.", "type": 6 /* SOA */, "TTL": 720, "data": "ns1.3.cn. apollo.jd.com. 2015104107 10800 3600 604800 38400" } |
33
Aicerk 28 天前
@Aicerk 阿里使用 223.5.5.5 是 SERVFAIL 。使用 223.6.6.6 是 NXDOMAIN
dnslookup v1.11.1 Server: 223.6.6.6 dnslookup result (elapsed 31.533899ms): ;; opcode: QUERY, status: NXDOMAIN, id: 10291 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;pi.3.cn. IN A ;; AUTHORITY SECTION: 3.cn. 1 IN SOA ns1.3.cn. apollo.jd.com. 2015104107 10800 3600 604800 38400 dnslookup v1.11.1 Server: 223.5.5.5 dnslookup result (elapsed 32.498307ms): ;; opcode: QUERY, status: SERVFAIL, id: 893 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;pi.3.cn. IN A |