DoH(DNS over HTTPS)是一种通过HTTPS协议进行DNS解析的技术,可以提高隐私性和安全性。以下是一些常用的DoH服务器:
- Cloudflare
- 地址:
https://cloudflare-dns.com/dns-query
- 服务端点:
1.1.1.1
和1.0.0.1
- 端点(IPv6):
2606:4700:4700::1111
和2606:4700:4700::1001
- 地址:
- Google DNS
- 地址:
https://dns.google/dns-query
- 服务端点:
8.8.8.8
和8.8.4.4
- 端点(IPv6):
2001:4860:4860::8888
和2001:4860:4860::8844
- 地址:
- Quad9
- 地址:
https://dns.quad9.net/dns-query
- 服务端点:
9.9.9.9
和149.112.112.112
- 端点(IPv6):
2620:fe::fe
和2620:fe::9
- 地址:
- NextDNS
- 地址:
https://dns.nextdns.io
- 用户可以根据自己账户生成个性化的DoH地址。
- 地址:
- AdGuard DNS
- 地址:
https://dns.adguard.com/dns-query
- 服务端点:
94.140.14.14
和94.140.15.15
- 端点(IPv6):
2a10:50c0::1:ff
和2a10:50c0::2:ff
- 地址:
- OpenDNS
- 地址:
https://doh.opendns.com/dns-query
- 服务端点:
208.67.222.222
和208.67.220.220
- 端点(IPv6):
2620:119:35::35
和2620:119:53::53
- 地址:
- AliDNS
- 地址:
https://dns.alidns.com/dns-query
- 服务端点:
223.5.5.5
或223.6.6.6
- 地址:
- DNSPod
- 地址:
https://1.12.12.12/dns-query
或https://120.53.53.53/dns-query
- 地址:
使用 curl
测试 DoH 服务器时,正确的命令格式是发送带有查询参数的 GET 请求。以下是正确的示例:
使用 curl
测试 DoH 服务器
您可以使用以下命令,通过 curl
向 DoH 服务器发送 DNS 查询请求:
curl -H 'accept: application/dns-json' 'https://1.1.1.1/dns-query?name=qq.com&type=A'
解释命令
-H 'accept: application/dns-json'
:设置请求头,表示接受 JSON 格式的 DNS 响应。'https://1.1.1.1/dns-query?name=qq.com&type=A'
:DoH 服务器的 URL 和查询参数,其中name=qq.com
指定了要查询的域名,type=A
指定了查询的记录类型(A记录,即IPv4地址)。
使用 cloudflared
工具来测试 DoH 服务器,您可以使用 dig
命令进行查询,指定 cloudflared
作为 DNS 代理。以下是具体的步骤:
1. 安装 cloudflared
确保您已经安装了 cloudflared
工具。如果还未安装,请根据之前提供的说明进行安装。
Downloads · Cloudflare Zero Trust docs
2. 启动 cloudflared
作为 DNS 代理
使用 cloudflared
启动一个本地的 DoH 代理。您可以通过命令行运行以下命令:
cloudflared proxy-dns --port 5053
这会启动一个本地的 DoH 代理,监听在 127.0.0.1:5053
上。
3. 使用 dig
命令测试 DoH 服务器
现在,您可以使用 dig
命令,通过 cloudflared
代理来测试您的 DoH 服务器。假设您要查询 qq.com
,可以使用以下命令:
dig @127.0.0.1 -p 5053 qq.com
这样,dig
命令会将 DNS 查询请求发送到本地运行的 cloudflared
代理,后者会将请求通过配置的上游 DoH 服务器进行解析。
4. 指定特定的 DoH 服务器进行测试
如果您想要测试一个特定的 DoH 服务器,可以在启动 cloudflared
时指定该服务器。例如,假设您要测试 https://1.1.1.1/dns-query
,可以这样启动 cloudflared
:
cloudflared proxy-dns --port 5053 --upstream https://1.1.1.1/dns-query
然后再使用 dig
命令进行测试:
dig @127.0.0.1 -p 5053 qq.com