前言

某些团体又在搞骚操作了,然后某些小白又在那不懂装懂了,实在看不下去,还是来说说这玩意到底是怎么一回事

加密DNS

首先我说的加密DNS和DNSSEC、EDNS不是一个东西

DNS解析主要的类型有

  • DOT(DNS over TLS):默认端口 853
  • DOH(DNS over HTTP/HTTPS):默认端口 HTTP 80、HTTPS 443,注意HTTP存在非加密内容
  • DOQ(DNS over QUIC):默认端口784(比如ADH),也有用8853的
  • UDP DNS:默认端口53
  • 其他

其中DOT、DOH、DOQ均为加密DNS,UDP53为不加密的明文,所以UDP53:可篡改、可劫持、可拦截、可识别、可记录、可匹配

DOQ和QUIC(最早称为快速UDP互联网连接)虽然本身也用到了UDP,但是应用场景太少了,支持程度也很差,大多数情况下不需要用到

主要的,加密DNS就用的DOH和DOT

AdguardHome

这是加密DNS和DNS过滤器的核心成员,免费好用,支持平台多,常见的LINUX和WIN都没问题

支持DOT、DOH、DOQ等多种DNS,支持黑白名单,支持套娃,支持负载均衡、并行查询、支持缓存和修改TTL、支持拦截IPV6解析等

一般来说,安装在远程Linux、本地WIN和本地Linux中

如果使用公共服务,本地安装会好些,但是可能增加操作步骤

DNS应用

加密DNS主要是保护隐私、抵抗干扰使用,套在TLS、HTTPS中相对隐蔽且难以解密,可以做到保护的效果

但是,加密DNS就像一个运输管道,你从屎水里面吸,吸进来的还是屎水,所以当你从污染源取解析时,被DNS污染也是再正常不过的了

首先要知道链接是什么样的一条路

你的设备-》你的网关-》你的运营商-》公网服务器,公网服务器包含境内、境外、跨境网关

你可以在你的设备和网关实现加密DNS,运营商和公网对非加密DNS搞事情

ADH的原理:从ADH的设备向定向DNS来源请求DNS解析,再给请求者返回信息

客户-》ADH-》解析源

ADH取源和返回

那么,如果你的解析源是一坨屎,你再怎么解析还是一坨屎,比如:运营商自带DNS、垃圾云服务商DNS、野鸡DNS等

考虑到EDNS的问题,原则上:不需要分区解析的用Cloudflare,需要分区解析的用Google

ADH->解析源

你可以选择多种方式,比如用UDP、用DOT、用DOH都行,

如果ADH在境外,解析源也在境外,那大多数情况下,直接UDP就行,少数地区除外。

如果一个在境内,一个在境外,就不是很推荐了,常规的都会被跨境网关干扰,正常使用很容易出问题,可以考虑中转一下。

客户->ADH

同理,局域网内,无脑UDP;

不跨境,考虑DOT、DOH、UDP[注意DNS扫描];

跨境,考虑DOT、DOH,而且网络要好才行

本地应用方法

  • 如果你本地用WIN/LINUX设备做了ADH服务,那即可通过修改UDP DNS来实现本地直接连接本地的ADH
  • 如果使用IOS14+/MACOS,不需要代理软件,需要安装全局证书,仅支持DOH和DOT
  • 如果使用安卓移动设备,可在系统设置中找到私人DNS,填写ADH域名即可,仅支持标准端口的DOT,是全局模式
  • 如果使用安卓移动设备+Chrome,可在浏览器设置-隐私和安全-使用安全DNS中,填写ADH-URL,仅支持DOH,只对浏览器的全局生效,其他浏览器要看他们自己支持不支持,该DNS查询是走网络代理的
  • 如果使用IOS,使用代理软件,可看看代理软件内能不能设置,主流的应该是支持DOH和DOT了,该DNS查询可能不是走网络代理的(至少我的软件测出来是这样)
  • 如果使用IOS/安卓,也可以考虑AdGuardAPP,可能需要付费,不支持代理同时运行
  • 官方还出了几个参考方案,比如 DNSCloak、intra、dnsproxy、dnscrypt-proxy、Mozilla Firefox 等
  • 也可以参考这两个文档,文档一  文档二

错误场景

如果你已经能正常使用互联网,大多数情况没有问题,也没必要使用什么114、阿里、腾讯、百度、360的DNS,基本没啥用,除非你的这个地方的运营商有傻,不过就算你用了这些,大多数情况也解决不了问题

如果你有去广告需求、无法正常使用互联网,可以考虑构建加密DNS解决方案来尝试解决,注意加密DNS会影响你的解析速度

有条件的先把IPV6关了,这个垃圾东西,很多时候是你打不开网页/APP、加载不出来东西的主要原因

风险

跨境UDP DNS没啥用,一样该干嘛干嘛,还会被跨境网关杀IP杀端口

跨境DOT和默认的DOH都会被检测,知名的会被干扰阻断,不知名的直接杀IP杀端口杀域名

外面套好皮的,内部路径转发DOH的相对安全,套皮方法参考 NGINX 反代 AdGuard Home 的DOH的最佳解决方案

本地UDP直接浪起来基本没啥事

参考解决方案

  • 远程境外服务器,用UDP获取DNS解析,本地向套壳的ADH(网络优秀)请求DNS解析,同时做了多地和跨境分区解析
  • 本地ADH,套娃境外ADH或者境外DOH、DOT

安装方法

本地安装,我也帮不了你,自己看教程

远程的安装搭建,我倒是能做,但是注意人工费

教程,我博客有的有,有的你去网络上、GitHub上都有,简易的安装不是什么难事

如何用上,其实我也说的差不多了,不会的就建议先查,问我的注意人工费