我在墨西哥。
这失败了:
% curl -s -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=www.bispebjerghospital.dk&type=A' | jq .
{
"Status": 2,
"TC": false,
"RD": true,
"RA": true,
"AD": false,
"CD": false,
"Question": [
{
"name": "www.bispebjerghospital.dk",
"type": 1
}
],
"Comment": [
"EDE(22): No Reachable Authority (time limit exceeded)"
]
}
但这成功了:
dig @8.8.8.8 www.bispebjerghospital.dk
为什么? Cloudflare 对域解析其记录有什么要求?
地图显示于Whatsmydns某些位置显示红色 X。
编辑:评论中的 Marcus 似乎对 Cloudflare 没有任何问题。因此,由于我怀疑这是一个选播问题,因此以下是我看到的 Cloudflare 的 IP 地址:
% nslookup cloudflare-dns.com
Server: 10.2.9.68
Address: 10.2.9.68#53
Non-authoritative answer:
Name: cloudflare-dns.com
Address: 104.16.249.249
Name: cloudflare-dns.com
Address: 104.16.248.249
Name: cloudflare-dns.com
Address: 2606:4700::6810:f9f9
Name: cloudflare-dns.com
Address: 2606:4700::6810:f8f9
EDIT2:根据要求进行 NS 记录:
% dig www.bispebjerghospital.dk NS
;; communications error to 10.2.9.68#53: timed out
; <<>> DiG 9.18.24-1-Debian <<>> www.bispebjerghospital.dk NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 61936
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.bispebjerghospital.dk. IN NS
;; Query time: 15 msec
;; SERVER: 10.2.9.68#53(10.2.9.68) (UDP)
;; WHEN: Tue Apr 02 13:00:23 CST 2024
;; MSG SIZE rcvd: 54
% dig @8.8.8.8 www.bispebjerghospital.dk NS
; <<>> DiG 9.18.24-1-Debian <<>> @8.8.8.8 www.bispebjerghospital.dk NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40469
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.bispebjerghospital.dk. IN NS
;; AUTHORITY SECTION:
bispebjerghospital.dk. 900 IN SOA ns3.regionh.dk. webmasteradmin.regionh.dk. 2008030648 10800 3600 2592000 900
;; Query time: 256 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Tue Apr 02 12:58:38 CST 2024
;; MSG SIZE rcvd: 117
% dig +short cloudflare-dns.com NS
ns1.cloudflare-dns.com.
ns2.cloudflare-dns.com.
ns3.cloudflare-dns.com.
EDIT3:NextDNS 成功:
% curl -s -H 'accept: application/dns-json' 'https://dns.nextdns.io/dns-query?name=www.bispebjerghospital.dk&type=A' | jq .
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": false,
"CD": false,
"Question": [
{
"name": "www.bispebjerghospital.dk.",
"type": 1
}
],
"Answer": [
{
"name": "www.bispebjerghospital.dk.",
"type": 1,
"TTL": 3600,
"data": "128.0.75.219"
}
]
}
EDIT4:我无法直接从 ns3.region.dk 查询:
% dig @ns3.regionh.dk www.bispebjerghospital.dk
;; communications error to 128.0.75.226#53: timed out
EDIT5:似乎之前的命令应该有效,因为它适用于dnsexit.com:
答案1
好吧,如果我们检查的名称服务器已启动并正在运行,并且多个替代解析器成功,那么恐怕 cloudflare 端可能出现问题,而不是您的端。
"EDE(22): No Reachable Authority (time limit exceeded)"
可能表明 cloudflare 的 AS 和权威名称服务器的 AS 之间没有路由,但这似乎不太可能。
我希望我知道是否有比 Whatsmydns 更好的方法从多个位置运行 DNS 查询...
尽管听起来很浪费,但在不同区域启动(免费套餐)AWS EC2 实例(虚拟机)。