DoH(DNS over HTTPS)功能

从GoEdge v1.2.0开始,可以为智能DNS开通DoH功能,开通后,可以通过HTTPS协议查询域名解析记录。

启用DoH

可以在”智能DNS”菜单–“集群管理”菜单对应页面中选择对应的集群,并进入集群设置页面,然后进入”DoH”设置选项:

DoH1.png

选中”启用DoH”一栏中的复选框,然后选择或者上传域名对应的SSL证书,并保存,即表示启用完成。

防火墙

你需要在安全策略或者防护墙中设置 443/tcp 为通过。

访问地址

在其他软件需要填写访问地址的地方需要填入:

https://你的节点地址或者域名/dns-query

支持GET和POST请求,请求规范请参考 https://datatracker.ietf.org/doc/html/rfc8484

测试

在”智能DNS”菜单–“解析测试”菜单中,选择对应的集群和节点,然后端口选择”443/doh”,并输入要测试的域名,即可对DoH服务进行测试:

DoH2.png

JSON API

在启用DoH功能后,自动也会提供一个JSON API,地址为:

https://你的节点地址或者域名/resolve?name=记录名&type=记录类型
接收两个参数:

  • name - 记录名,比如 example.com
  • type - 记录类型,比如 AAAAA,或者使用数字类型 128

可以使用 curl 进行测试:

curl -v "https://你的节点地址或者域名/resolve?name=example.com&type=A" --insecure --output -

结果可能是类似于以下格式:

{
  "AD": false,
  "Answer": [
    {
      "TTL": 600,
      "data": "192.168.2.40",
      "name": "example.com.",
      "type": 1
    }
  ],
  "CD": false,
  "Question": [
    {
      "name": "example.com.",
      "type": 1
    }
  ],
  "RA": true,
  "RD": false,
  "Status": 0,
  "TC": false
}

GoEdge文档