国内目前有哪些支持DoH加密的公共DNS?

国内目前有哪些支持DoH加密的公共DNS?,第1张

国内目前有支持DoH加密的公共DNS:阿里云、360等等。

Win10目前在开发通道集成了这个功能,20H2尚未包括这个功能,不过可以用第三方软件完成,比如DNSCrypt/dnscrypt-proxy。目前在IOS上,同样需要使用第三方软件设置。

DNS全称Domain Name System,在当今的互联网协议中,它是一个域名与IP对应的系统,我们通过域名访问一个地址需要经过DNS查询获取该域名的真实IP地址,比如说访问我们网站的时候,浏览器就会向系统指定的DNS服务器发送一个请求,让DNS服务器返回该域名的真实IP地址。

传统的DNS方式是通过53端口向DNS服务器发送明文的请求信息,如果有意的话,ISP可以很容易地在用户到DNS服务器之间将这个请求进行劫持,由于传统DNS请求基于无连接的UDP协议,用户端只接受最快到达的查询结果。

所以ISP可以通过抢先应答的方式向用户返回错误的IP,这种做法被称为域名劫持,这是DNS协议的一个典型缺陷。

在CoreDNS有及部分可以配置。

首先,确定哪些插件被编译进CoreDNS。我们提供的编译后的二进制可执行包 (binaries)已经包含了所有的插件,列在 plugincfg 。增加和删除都很 easy ,但是需要对CoreDNS重新编译。

大多数用户使用文件 Corefile 来配置 CoreDNS。当 CoreDNS 启动的时候,如果 -conf flag 没有被配置,就会在当前目录查找 Corefile 文件。
文件包含了一个或者多个服务器块 (Server Blocks)。每个服务器块列出了一个或多个插件。那些插件也可以在后面使用指令配置。

在Corefile 文件中,插件的顺序不决定插件链的顺序。 插件执行的顺序,配置在文件 plugincfg 中。

Corefile 文件的备注以 # 开头。行的其他部分会被识别为备注。

CoreDNS 在配置中支持环境变量。
环境变量可以被使用在任何地方。语法是 {$ENV_VAR} ( Windows-类型的语法 {%ENV_VAR%} 也是支持的)。CoreDNS 会在解析Corefile的时候替换这些变量内容。

参考 import plugin。
这个插件有些特殊,可以被用在Corefile的任何地方。

一个很特殊的可导入文件是 snippet 。一个 snippet 通过命名一个块(block)的特殊语法来定义。名字需要被放到圆括号内: (name) 。然后,它就可以随着导入插件放置到配置文件的任何地方了。

每个服务器块(Server Block)以server应该伺候的zones开头。在zone名字或者zone列表名(以空格分隔)之后,一个服务器块以大括号作为开头和结束。
如下的服务器块定义了一个 server,负责root zone: 下所有的zones; 基本上,这个 server 应该处理所有的查询:

服务器块(Server blocks)还可以指定监听端口。默认端口是 53 (DNS 服务标准端口)。指定端口,以冒号作为分隔符在zone后列出端口号。
如下的 Corefile 指示 CoreDNS 创建一个 Server , 监控端口 1053:

给服务器块定义一个zone,但是这个zone已经被配置到一台服务器上,并且已经运行了,运行在同一个端口。Corefile 会在启动的时候报错:

变更第二个端口为 1055 可以让这两个服务器块变成两个不同的服务器。

当前 CoreDNS 接受4种协议: DNS, DNS over TLS (DoT), DNS over >

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10582685.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-09
下一篇2023-05-09

发表评论

登录后才能评论

评论列表(0条)

    保存