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 开源项目点颗星吧!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.