测试 local DNS 对 ecs 字段的支持情况通过两步进行:
通过 dig +short TXT whoami.ds.akahelp.net @ip 进行测试,测试用户无 ecs ip 字段时,public DNS 对 ecs 字段的添加,以及添加的内容;
通过 dig A www.tencent.com +subnet=x.x.x.x/x @ip 进行测试;这里的 subnet 选择属于不同运营商的 ip 地址(电信 203.189.113.0/24 ,移动 203.100.86.0/24 ,联通 210.82.251.0/24 ),查看他们返回的资源记录是否相同;
public DNS 地址 | public DNS 提供商 | ecs 主动添加(测试 1 ) | ecs 解析支持(测试 2 ) |
---|---|---|---|
114.114.114.114 | 114 DNS | 不添加 | 不支持 |
223.5.5.5 | 阿里 DNS | 不添加 | 支持 |
119.29.29.29 | 腾讯 DNS | 截断为 24 添加 | 支持 |
180.184.1.1 | 字节 DNS | 不截断添加 | 支持 |
180.76.76.76 | 百度 DNS | 不添加 | 支持 |
219.141.136.10 | 北京电信 DNS | 不添加 | 不支持 |
123.123.123.123 | 北京联通 DNS | 不添加 | 不支持 |
221.130.33.52 | 北京移动 DNS | 不添加 | 不支持 |
117.50.11.11 | OneDNS | 不添加 | 不支持 |
9.9.9.12 | IBM Quad9 DNS | 截断为 24 添加 | 支持 |
8.8.8.8 | Google DNS | 截断为 24 添加 | 支持 |
1.1.1.1 | Cloudflare DNS | 截断为 16 添加 | 不支持(中国运营商网段) |
![]() |
1
johnjiang85 16 小时 24 分钟前
包括权威、包括上一篇的公共 dns 都建议 OP 可以考虑用全球多点测试下,会得出一些不一样的结论。
比如公共 dns 这里,目前阿里和 114 都是部分线路支持固定选好的的 ecs ip 网段的(不携带客户端的网段) |
2
flyingcmz OP @johnjiang85 好的好的,确实没有考虑不同节点去测试。
|
3
ZeroClover 15 小时 33 分钟前
Cloudflare DNS 的测试结果是错的,原因参考
https://community.cloudflare.com/t/1-1-1-1-is-sending-edns-client-subnet/352008 |
4
flyingcmz OP @ZeroClover 好的,每家 local dns 的 ecs 行为区别还是挺大;不同节点、不同网站都会有不同的策略;
不过需要补充,cloudflare 会把地址用 16 位掩码掩一次,然后再带 24 位的 source_mask 发给权威,权威还是只能得到 16 位的有效信息; |