首页 阿里云公共DNS 快速入门 DoT/DoH接入方法

DoT/DoH接入方法

本文档将详细讲述用户如何在手机、浏览器、PC上接入阿里云公共DNS的DoT/DoH服务。

1.企业用户

1.1 SDK接入

用户只需登录控制台,在SDK下载页面下载并安装SDK就能进行快速接入,现已支持iOS和安卓的接入,后续我们将提供更丰富的SDK。

1599708868029-81eeae9c-2a5a-4a88-97a2-bf08bdd7a5a3

Android SDK开发指南:

https://help.aliyun.com/document_detail/174169.html?spm=a2c4g.11186623.6.561.7a276966xjTcHT

iOS SDK开发指南:

https://help.aliyun.com/document_detail/181345.html?spm=a2c4g.11186623.6.562.535836b5xFGBjf

1.2 DoH JSON API接入

对于企业用户,我们支持DoH JSON API的调用:

DoH JSON API的URL接口(提供TLS和非TLS API)

重要

其中alidns_ip是dns.alidns.com的A记录,可以是以下两个地址之一 :223.5.5.5,223.6.6.6。

请求方式:GET

请求参数,参考下表:

参数

类型

描述

实例

使用方法和默认值

name

string

请求域名

name=www.taobao.com

必选,无默认值

type

number

请求类型

type=1

可选,1

edns_client_subnet

IP

ECS IP

edns_client_subnet=1.2.XX.XX/24

DNS代理使用,普通客户端不适用

short

boolean

是否开启简洁模式

short=true or short=1

可选,默认关闭

uid

string

用户ID,即控制台上的Account ID

uid=6666

可选

关于edns_client_subnet参数:

edns_client_subnet是为了支持DNS ECS功能(RFC7871),将用户的子网信息传递给权威DNS,做更精确的DNS解析和流量调度。其中掩码越长地址信息越精确,掩码越短用户隐私效果越好。建议使用“/24”掩码长度

注:该参数是特地为DNS代理(proxy)使用DoH JSON API场景设计,即用户发送DNS查询给DNS代理,DNS代理通过该参数携带用户的子网信息传递给阿里公共DNS,最后传递到权威DNS服务器。

例如edns_client_subnet=1.2.XX.XX/24,权威服务器会收到基于1.2.XX.XX/24地址前缀信息来帮助用户选择DNS链路。

关于type参数支持类型:

记录类型

ID

意义

示例(以 taobao.com,www.taobao.com为例)

A

1

IPv4地址

101.37.XX.XX

NS

2

NS记录

ns1.taobao.com

CNAME

5

域名CNAME记录

www.taobao.com.danuoyi.tbcache.com

SOA

6

ZONE的SOA记录

ns4.taobao.com. hostmaster.alibabadns.com. 2018011109 3600 1200 3600 360

TXT

16

TXT记录

"v=spf1 include:spf1.staff.mail.aliyun.com -all"

AAAA

28

IPv6地址

240e:e1:XXXX:1:3::3fa

请求示例:

http://dns.alidns.com/resolve?name=www.taobao.com.&type=1

返回示例:

{ "Status": 0, "TC": false, "RD": true, "RA": true, "AD": false, "CD": false, "Question": { // 请求段 "name": "www.taobao.com.", "type": 1 }, "Answer": [ // 应答段 { "name": "www.taobao.com.", "TTL": 45, "type": 5, "data": "www.taobao.com.danuoyi.tbcache.com." }, { "name": "www.taobao.com.danuoyi.tbcache.com.", "TTL": 45, "type": 1, "data": "47.246.XX.XX" }, { "name": "www.taobao.com.danuoyi.tbcache.com.", "TTL": 45, "type": 1, "data": "47.246.XX.XX" } ] //"Authority" 为权威段, 如果有数据,需要与Answer字段一致 //"Additional" 为附加段, 如果有数据,需要与Answer字段一致 // 可配置"edns_client_subnet":"1.2.XX.XX/24" }

重要

用户可以在客户端应用或手机应用中调用DoH和DoH JSON API解析DNS。

1.3 DoT/DoH配置

公共DNS支持在安卓手机、浏览器上配置DoT/DoH服务,以下是配置教程。

DoT配置

Android配置

1.获取user_id

登录公共DNS控制台,在概览页下方的Account ID即为此处定义的user_id。

如下图所示,本示例中的user_id即为9999。

1599708868466-bfdd2002-a070-4a50-a77b-4f32d9484bf3

2.终端设备配置DoT解析服务器

1599708868902-a8bee659-3334-48b1-9f9b-72447a20e666

终端设备配置DoT的解析服务器是:

  • dns.alidns.com

  • alidns_ip

  • user_id.alidns.com

重要

第三种服务器中的user_id即为第一步中获取的Account ID(本示例为:9999),即为:9999.alidns.com。

接下来,将以安卓手机为例,介绍如何配置DoT解析服务器。

1599708869338-43655a63-0edc-4b0b-a4ca-46293b050b34

DoH配置

FireFox

1.获取user_id

登录公共DNS控制台,在概览页下方的Account ID即为此处定义的user_id。

如下图所示,本示例中的user_id即为9999。

1599708868466-bfdd2002-a070-4a50-a77b-4f32d9484bf3-21599708869540-70465a0b-f9ea-4468-b015-0aacccd79797

DoH接口有如下三种,现按照第三种接口的配置进行演示:

重要

第三种接口中的user_id即为第一步中获取的Account ID(本示例为:9999),即为:https://9999.alidns.com/dns-query

p421451p421453

2.配置DoH

第一步:从 Firefox 菜单栏中点击 【选项】设置。

1599708870025-f9ec585d-c853-4d83-8faa-44f65edb8fed

第二步:搜索框中输入“DNS”,点击【网络设置】中的【设置】按钮。

1599708870441-dfb5d8bf-04a6-4d6f-807c-395dd3331a03

第三步:在设置页面的底部,找到并勾选“启用基于HTTPS的DNS”,选择“自定义”的提供商,并输入接口地址:https://9999.alidns.com/dns-query,点击【确定】。

1599708870954-f5e8aecc-28ce-4c8d-8c0b-012780ba1022

Chrome

1.获取user_id

登录公共DNS控制台,在概览页下方的Account ID即为此处定义的user_id。

如下图所示,本示例中的user_id即为9999。

1599708868466-bfdd2002-a070-4a50-a77b-4f32d9484bf3-3

DoH接口有如下三种,现按照第三种接口的配置进行演示:

重要

第三种接口中的user_id即为第一步中获取的Account ID(本示例为:9999),即为:https://9999.alidns.com/dns-query

2.配置DoH

第一步:打开Chrome浏览器,从 Firefox 菜单栏中点击 【设置】选项。

1599813826622-5e23172a-3595-42ee-b1be-8359ad781892

第二步:在搜索框中输入“DNS”,在下方的检索结果中,点击【安全】右侧的展开箭头。

1599813913378-46376364-4ff3-40d1-8da0-f0909f4ba1c6

第三步:页面下拉到最下方,在【高级】选项中,开通“使用安全DNS”功能,并在【使用】-【自定义】框中输入“https://9999.alidns.com/dns-query”即可完成配置。

1599814311071-2fbec00c-f3c9-41a0-8115-e824610e4a4b

备注:

DoT接口的详细说明,请参考:DNS over TLS(DoT)

DoH接口的详细说明,请参考:DNS over HTTPs(DoH)

2.普通用户

2.1 Windows配置

Windows 10

1. 打开Windows 10系统控制面板,点击右上角的以图标方式显示,点击“网络和共享中心”选项。

1599708871230-9dfe0dc5-5233-4d48-ad4d-f45188b54335

2. 点击网络和共享中心左侧的“更改适配器设置”链接,如下图:

1599708871458-e10222a3-db64-4513-b1c7-676a0a6b1d0c

3. 选中正在联网的网络连接,我这里是WIFI连接,鼠标右键菜单里选择“属性”

1599708871704-b869f16f-fcf6-4584-a448-28700855cd7f

4. 针对IPv4和IPv6的操作稍有不同,请注意您的配置是针对哪一种。

  • IPv4——在网络连接属性窗口中选中“Internet 协议版本 4 (TCP/IPv4)”,然后点击“属性”。

  • IPv6——在网络连接属性窗口中选中“Internet 协议版本 6 (TCP/IPv6)”,然后点击“属性”。

1599708872222-f2804552-58f3-4177-a51d-e1f401b04dfd

5. 针对IPv4和IPv6的操作稍有不同,请注意您的配置是针对哪一种。

  • IPv4——选择使用指定的DNS,在DNS服务器地址中输入223.5.5.5 和 223.6.6.6,输入后确定退出即设置完成。

  • IPv6——选择使用指定的DNS,在DNS服务器地址中输入2400:3200::1 和 2400:3200:baba::1,输入后确定退出即设置完成。

1599708872536-faabdb1f-d88e-4030-ac7a-a230ce9ee3f11599708873024-190fd704-3bef-4afe-988e-12311ac205de

6. 验证,打开CMD命令提示符,通过nslookup alidns.com 命令进行验证,若最终解析结果是配置的IPV4公共DNS(223.5.5.5或223.6.6.6)或IPV6公共DNS(2400:3200::1或2400:3200:baba::1)返回的,则说明配置成功。

1599708873222-b8c84784-7274-40ee-b40a-453b95d731381599708873460-c48ea747-25ed-4d94-b1fd-1812d07b3d78

Windows 8

1. 打开Windows 8系统控制面板,点击右上角的以图标方式显示,点击“网络和共享中心”选项。

1599708873687-f3fb8efb-74f9-48aa-bb77-b3de07939fc3

2. 点击网络和共享中心左侧的“更改适配器设置”链接,如下图:

1599708874190-2af41986-8b8f-4367-be33-4eaf4af3318c

3. 选中正在联网的网络连接,此处教程中的操作过程是:鼠标右键菜单里选择“属性”

1599708874529-333dcb44-1aeb-47e4-99c3-1f8e44455ba3

4. 针对IPv4和IPv6的操作稍有不同,请注意您的配置是针对哪一种。

  • IPv4——在网络连接属性窗口中选中“Internet 协议版本 4 (TCP/IPv4)”,然后点击“属性”。

  • IPv6——在网络连接属性窗口中选中“Internet 协议版本 6 (TCP/IPv6)”,然后点击“属性”。

1599708874780-4e8ed5f2-3dcc-4061-bb47-709210e797c8

5. 针对IPv4和IPv6的操作稍有不同,请注意您的配置是针对哪一种。

  • IPv4——选择使用指定的DNS,在DNS服务器地址中输入223.5.5.5 和 223.6.6.6,输入后确定退出即设置完成。

  • IPv6——选择使用指定的DNS,在DNS服务器地址中输入2400:3200::1 和 2400:3200:baba::1,输入后确定退出即设置完成。

1599708875223-baf023e9-807c-46f1-85a5-879f2d812e211599708875537-811bc1be-84a8-4809-9096-30803157b70d

Windows 7

1. 通过单击「开始」按钮,然后单击“控制面板”,打开“网络连接”。 在搜索框中,键入适配器,然后在“网络和共享中心”下,单击“查看网络连接”

2. 右键单击要更改的连接,然后单击“属性”。 需要管理员权限,如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认

3. 针对IPv4和IPv6的操作稍有不同,请注意您的配置是针对哪一种。

  • IPv4——在“此连接使用下列项目”下,“Internet 协议版本 4 (TCP/IPv4)”,然后单击“属性”

  • IPv6——在“此连接使用下列项目”下,“Internet 协议版本 6 (TCP/IPv6)”,然后单击“属性”

1599708875742-d47b2953-4487-4b0e-bd40-3c8bdca72dc1

4. 单击“使用下面的 DNS 服务器地址”,然后在“首选 DNS 服务器”和“备用 DNS 服务器”框中,键入主 DNS 服务器和辅助 DNS 服务器的地址。

  • IPv4地址:223.5.5.5和223.6.6.6

  • IPv6地址:2400:3200::1 和 2400:3200:baba::1

1599708876177-85c3e90b-0f6b-495c-b8a4-55e903cb9bcf

2.2 Linux配置

Linux 快速设置

1. 您必须是管理员root或者具有管理员权限

2. sudo vim /etc/resolv.conf

3. 加入:(此处IPv4和IPv6略有不同)

  • IPv4:nameserver 223.5.5.5/nameserver 223.6.6.6

  • IPv6:nameserver 2400:3200::1/nameserver 2400:3200:baba::1

4. 保存退出,然后使用dig验证

5. 这一步,IPv4和IPv6略有不同:

  • IPv4:

dig www.taobao.com +short

若出现结果则表示正常。

  • IPv6:

dig alidns.com

若返回结果的server为阿里公共DNS(2400:3200::1或2400:3200:baba::1)则配置成功。

1599708876383-94161286-e437-4550-bb25-a65c0da5317d

如果你的系统是ubuntu,那么可以尝试使用脚本进行设置:

1. 打开终端,在终端输入下面的命令设置DNS。

wget http://www.alidns.com/public/soft/SetAliDNS.sh -O SetAliDNS.sh && chmod +x SetAliDNS.sh && sudo ./SetAliDNS.sh

2. 设置后如何取消阿里公共DNS:

sudo ./SetAliDNS.sh restore

2.3 Mac OS配置

Mac OS 快速设置

1. 选取苹果菜单>“系统偏好设置”

1599708877307-86fa4021-dc48-4768-b78d-68f169a78f5c

2. 找到网络图标,点击进入

1599708878420-2f9b9015-6131-4faa-b85b-1ad51f674f23

3. 从列表中选择想要使用的网络连接服务(例如WIFI或以太网),然后点按“高级”

1599708878860-20810219-09ba-488d-b497-9a5502ec597d

4. 这一步,IPv4和IPv6略有不同:

  • IPv4——找到DNS的标签,然后点击左下角“+”,将223.5.5.5和223.6.6.6这两个补充上去,之后点击“好”

  • IPv6——找到DNS的标签,然后点击左下角“+”,将2400:3200::1和2400:3200:baba::1这两个补充上去,之后点击“好”

1599708879083-5ad4e3d0-e10b-4299-941c-5743e7bc38ec1599708879967-1f7cb462-5fbb-45c1-b852-46547dc5af1f

5. 返回到上一级,点击“应用”

1599708880430-cf6d8a8c-4213-46b2-960d-a54e0d662bbb

6. 这一步,IPv4和IPv6略有不同:

若返回结果的server为阿里公共DNS(2400:3200::1或2400:3200:baba::1)则配置成功。

1599708880936-d7d7ab45-b80e-4bf1-be00-07779dd153be

2.4 Firefox配置

第一步:从 Firefox 菜单栏中点击 【选项】设置。

1599708870025-f9ec585d-c853-4d83-8faa-44f65edb8fed-2

第二步:搜索框中输入“DNS”,点击【网络设置】中的【设置】按钮。

1599708870441-dfb5d8bf-04a6-4d6f-807c-395dd3331a03-2

第三步:在设置页面的底部,找到并勾选“启用基于HTTPS的DNS”,选择“自定义”的提供商,并输入接口地址:https://dns.alidns.com/dns-query,点击【确定】。

1599708881516-86828cae-b314-43f3-a406-a3310d14490c

2.5 Chrome配置

第一步:打开Chrome浏览器,从 Firefox 菜单栏中点击 【设置】选项。

1599813826622-5e23172a-3595-42ee-b1be-8359ad781892-2

第二步:在搜索框中输入“DNS”,在下方的检索结果中,点击【安全】右侧的展开箭头。

1599813913378-46376364-4ff3-40d1-8da0-f0909f4ba1c6-2

第三步:页面下拉到最下方,在【高级】选项中,开通“使用安全DNS”功能,并在【使用】-【自定义】框中输入“https://dns.alidns.com/dns-query”即可完成配置。

1599814169044-e1adc7b3-c7f6-438e-9c0f-545edad06a41

2.6 Android配置

1599708882085-8df908ff-2fd1-4c1c-9b6a-409955dfd247

2.7 iOS14和macOS11配置

iOS14.0和macOS11.0开始可以通过文件描述符设置DoT/DoH协议的加密DNS服务,以下链接是根据不同协议分别指定了通过域名或不同IP连接阿里云公共DNS解析服务器的文件描述符。

  • DoH协议

1.指定域名dns.alidns.com连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-https-Host.mobileconfig

2.指定IP 223.5.5.5连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-https-IPV4-1.mobileconfig

3.指定IP 223.6.6.6连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-https-IPV4-2.mobileconfig

4.指定IP 2400:3200::1连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-https-IPV6-1.mobileconfig

5.指定IP 2400:3200:baba::1连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-https-IPV6-2.mobileconfig

  • DoT协议

1.指定域名dns.alidns.com连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-TLS-Host.mobileconfig

2.指定IP 223.5.5.5连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-TLS-IPV4-1.mobileconfig

3.指定IP 223.6.6.6连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-TLS-IPV4-2.mobileconfig

4.指定IP 2400:3200::1连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-TLS-IPV6-1.mobileconfig

5.指定IP 2400:3200:baba::1连接阿里云公共DNS解析服务器的配置描述文件

https://dns-tool.oss-cn-beijing.aliyuncs.com/doh-sdk/desc/Signed-AliDNS-TLS-IPV6-2.mobileconfig

iOS14设置阿里云公共DNS为加密DNS默认解析器

1.请使用 iPhone 或 iPad 上的 Safari 浏览器打开文件描述符的链接,如下图,点击允许。

1615796433480-983a3331-672e-41dc-95f3-766063c9b363

2.下载成功后打开【设置】-【通用】-【描述文件与设备管理】

1615802208486-88ed2477-c523-42a5-aa4f-8f89dfe22c56

3.选择下载的描述文件,如下图,点击安装

p403688

4.安装成功后,打开【设置】-【通用】-【VPN与网络】,可以看到DNS已经设置成功

p403689

5.选择DNS选项,可以进行DNS配置的切换

1615796837764-2b47fccb-dac5-405c-ac14-333d9c510229

MacOS11设置阿里云公共DNS为加密DNS默认解析器

1.将文件描述符下载到本地,打开【系统偏好设置】,找到【描述文件】并打开

1615802484150-a518f86c-d5af-444f-ad8f-b93c23098a65

2.选中下载的描述文件,点击安装

1615802232777-c119e1f7-bad5-4d36-97d4-ab27e9474cf2

3.输入开机密码允许该操作

1615802309203-ea8a4398-0ec0-4881-b199-36025a37a48e

4.找到【系统偏好设置】中的【网络】并打开,可以看到配置已经生效

1615802320384-4054d936-9be4-483e-9996-60f97371b85d

5.若要停用该配置,那么如下图选中该配置选择停用服务,点击应用即可。

1615802331279-a2d0d3cf-e470-42a7-9117-6c2d69ea8002

6.若重新启用该配置,那么如下图选中该配置,选择使服务处于活跃状态,点击应用即可。

p403523

阿里云首页 阿里云公共DNS 相关技术圈