Cloudflare 可以解决,但 Google 不能。为什么?

Cloudflare 可以解决,但 Google 不能。为什么?

我在墨西哥。

这失败了:

% 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 实例(虚拟机)。

相关内容