本指南可帮助您诊断并解决 Cloudflare DNS 解析器的常见问题。在进行手动故障排除步骤之前,请先验证您的连接以自动收集相关信息。
如果域名无法正确解析,请对照 1.1.1.1 测试 DNS 解析,并将结果与其他解析器(例如 8.8.8.8)进行对比。CHAOS TXT 查询 (id.server) 可识别处理您请求的 Cloudflare 服务器,这在报告问题时非常有用。
# 测试 DNS 解析
dig example.com @1.1.1.1
dig example.com @1.0.0.1
dig example.com @8.8.8.8
# 检查连接的域名服务器
dig +short CHAOS TXT id.server @1.1.1.1
dig +short CHAOS TXT id.server @1.0.0.1
# 可选:网络信息
dig @ns3.cloudflare.com whoami.cloudflare.com txt +short# 测试 DNS 解析
nslookup example.com 1.1.1.1
nslookup example.com 1.0.0.1
nslookup example.com 8.8.8.8
# 检查连接的域名服务器
nslookup -class=chaos -type=txt id.server 1.1.1.1
nslookup -class=chaos -type=txt id.server 1.0.0.1
# 可选:网络信息
nslookup -type=txt whoami.cloudflare.com ns3.cloudflare.com如需进行额外分析,您可以为有疑问的域名生成 DNSViz ↗ 报告。
如果 DNS 查询超时,或者您根本无法连接到 1.1.1.1,问题可能是您的设备与 Cloudflare 之间的网络路由问题。向这两个解析器地址运行 traceroute 以确定丢包发生在哪里。
在报告连接问题之前:
- 搜索来自您所在国家和 ISP 的现有报告。
- 运行前往这两个 Cloudflare DNS 解析器的 traceroute。
# 基础连通性测试
traceroute 1.1.1.1
traceroute 1.0.0.1
# 如果可达,检查域名服务器标识
dig +short CHAOS TXT id.server @1.1.1.1
dig +short CHAOS TXT id.server @1.0.0.1
# TCP 连接测试
dig +tcp @1.1.1.1 id.server CH TXT
dig +tcp @1.0.0.1 id.server CH TXT# 基础连通性测试
tracert 1.1.1.1
tracert 1.0.0.1
# 如果可达,检查域名服务器标识
nslookup -class=chaos -type=txt id.server 1.1.1.1
nslookup -class=chaos -type=txt id.server 1.0.0.1
# TCP 连接测试
nslookup -vc -class=chaos -type=txt id.server 1.1.1.1
nslookup -vc -class=chaos -type=txt id.server 1.0.0.1DNS over TLS 使用端口 853 上的 TLS 加密 DNS 查询。如果您的 DoT 连接无法工作,请测试 TLS 连通性,然后测试基于 TLS 的 DNS 解析。
# 测试 TLS 连通性
openssl s_client -connect 1.1.1.1:853
openssl s_client -connect 1.0.0.1:853
# 测试基于 TLS 的 DNS 解析
kdig +tls @1.1.1.1 id.server CH TXT
kdig +tls @1.0.0.1 id.server CH TXTWindows 不包含独立的 DoT 客户端。您可以在手动安装 OpenSSL 后测试 TLS 连通性。
DNS over HTTPS 将 DNS 查询作为 HTTPS 请求发送。如果您的 DoH 连接无法工作,请通过直接查询 Cloudflare DNS 端点来进行测试。
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=cloudflare.com&type=AAAA'(Invoke-WebRequest -Uri 'https://cloudflare-dns.com/dns-query?name=cloudflare.com&type=AAAA').RawContent如果您的 traceroute 在第一跳失败(即您的计算机后的第一个网络设备,通常是您的路由器),问题可能与硬件相关。您的路由器可能硬编码了 1.1.1.1 的路由,从而与将其用作 DNS 解析器产生冲突。在报告此问题时,请包含:
- 路由器品牌和型号
- ISP 名称
- 任何相关的路由器配置细节