EasyMosdns 项目自发布以来,得到了 V2EX 小伙伴们的一致好评,感谢大家的认可 : D
项目地址: https://github.com/pmkol/easymosdns
简化 Mosdns 基本功能使用的辅助脚本,仅需几分钟即可搭建一台支持 ECS 的无污染 DNS 服务器。
放出这个 DoH 的初衷是为了给开源项目 EasyMosDNS 测试规则,不提供公共 DNS 服务,发现直接使用的小伙伴越来越多,日解析量已经突破千万,所以优化了一下性能,分享全新版本的 DoH ,继续供大家研究测试使用。
本次更新,做了大量优化与调整:
发现很多小伙伴并不知道这个项目同时也在维护 DNS 规则库,同时分享出来,适用于 DNS 分流。
对于安全而言这是最有说服力的。
举例说一条大家比较关注的,如何平衡 ECS 信息与隐私保护:源码中可见对 ECS 信息做了模糊处理,例如你的 IP 为 1.3.5.7 ,处理后的 ECS 信息为 1.3.5.0/24 ,对于部分境外域名,强制更改 ECS 信息为与真实 IP 无关联但不会影响解析效果的数值。
严格来讲,国内无论用 UDP/TCP/DoT/DoH/DoQ 哪种方式,直接去查询海外 DNS 都是不可靠的,还可能不定期出现阻断,因为这些访问方式都有明显的特征可以识别,当然如果没有多大访问量又不在意的话,也没什么大问题。
通过境外服务器查询海外域名才是可靠的,但境外查询的结果又如何传递国内,仅在境外服务器搭建 DNS 依旧会出现上述的问题,所以需要自建加密隧道,与远程服务器加密通信完成 DNS 的查询。其中对线路与加密方案的选择,是有少许技术含量的,否则访问量稍大就会出现 TCP 阻断。这也是我唯一没有公开的自研方案。
普通用户只需要了解这个 DoH 是在境外服务器查询的海外域名的即可,由于提供 DoH 的服务器在境内,查询速度有质的提升,可以通过以下两个网站,分辨检测境内与境外 DNS 的分流情况。
[境内] https://nstool.netease.com/
[境外] https://browserleaks.com/dns
很多代理工具默认内置了海外 DNS ,开启代理时海外 DNS 是通过远程代理服务器访问的,所以普通用户才会对 DNS 这里的影响无感,上文提到的加密隧道也类似这个原理,只是要做远超过客户端请求量的技术改进。
如果代理使用的是白名单模式,最优的 DNS 选择方案,就是本地 DNS 使用 DNSPOD 或 AliDNS 这类大厂的 EDNS ,远程 DNS 使用代理工具内置或 Google 、OpenDNS 、CloudFlare 等几家知名的海外 DNS ,乱折腾只是浪费时间。
但如果代理使用的是 GFW 黑名单模式,那么就会出现污染问题。这是因为黑名单与污染名单里的域名并不一致,当被污染的域名不在黑名单时,该域名就会返回污染结果。
所以对于无污染 DNS 的正确用法,应当是在本地名单中的域名,使用 DNSPOD 或 AliDNS 这类大厂的 EDNS ,其它全部使用无污染 DNS 进行查询。即实现代理走 GFW 名单节约流量,DNS 走白名单准确解析的效果。当然一些懒人会选择直接全部使用无污染 DNS ,但请确保这个 DNS 服务器在国内且延迟不高,不然真的会很慢。
我已将常见问题写入介绍页,基本能回答 90%以上的问题,使用问题可以加介绍页里的电报群,与群里的小伙伴们讨论,毕竟个人精力实在有限,没法在线回答问题。
首先感谢各位免费无污染 DNS 搭建者们的认可,我不抵制私人搭建的公共 DNS 将这个 DoH 作为上游使用,还会很高兴帮助到更多人,事实上目前已有约 40%的查询量来自多家私人搭建的 DNS 。
只要求一点,做好缓存与 QPS 限制,减少对我 DoH 的请求量。因为之前发生过攻击事件,经查证我的服务器并未直接受到攻击,全部攻击 IP 均来自一些私人搭建的 DNS 服务器,当这些 DNS 被攻击后,攻击流量同时也转发到了我的服务器,最终形成连锁攻击导致我的服务器也宕机了几小时。
目前的处理策略,对于因没做缓存造成查询量明显超过普通用户的下游 DNS ,会转发海外处理,减少国内服务器的压力,对未做 QPS 限制且对服务器造成业务影响的下游 DNS ,会自动封禁。当然我更建议使用我已经开源的规则,在本地服务器上做分流,当出现超时后再请求我的 DoH 体验会更佳。
维护不易,如果可以,给 EasyMosDNS 开源项目点颗星吧!
1
raycheung 2022-10-09 09:33:12 +08:00
Star 致敬🖖
|
2
PMkol OP 增加了一组无 CDN 直连的 DoT 与 DoH
其中 DoH 支持 http2 与 http3 ,方便那些客户端无法使用 http1.1 连接 DoH 的小伙伴测试 可以进介绍页里的 DNS 交流群获取地址 |
3
martianden 2022-11-26 17:24:32 +08:00
请问可否同时把 3 个地址填入 dns 软件,会不稳定吗
|
4
PMkol OP @martianden 如果是同一家的,没有意义,如果是多家,一般会同时请求,然后选择最快的一个,类似 ADGH 的客户端,还可以改多 DNS 的选择策略
|