一周前,我在将网站从一个托管服务提供商转移到另一个托管服务提供商时更改了名称服务器地址和一些其他 DNS 记录(A、MX、CNAME)。
一切似乎都运行良好,但显然,即使过了两天多,域名/主机名对于某些人来说也没有指向任何东西。
问题
在家里,我可以用笔记本电脑和移动设备毫无问题地访问该网站。然而,在工作时,我无法使用在家里使用的同一台笔记本电脑访问该网站。所以我想网络以某种方式缓存了旧的 DNS 设置,但这不可能,因为我仍然可以用移动设备从同一网络访问该网站。
工作中的失误只是oops, Google Chrome cannot find [domain]
。
我尝试过
我尝试刷新工作中的 DNS 设置,但问题并未得到解决。
此外,我尝试 ping 工作中的域,但它只是说
ping [domain name]
Ping request could not find host [domain name]. Please check the name and try again.
我也检查了http://www.dnsstuff.com/如果 DNS 配置正确,则只会出现一些警告,而没有错误。
下面列出了 DNS 设置
怎么可能找不到主机名(具体取决于所使用的网络)?尽管移动设备可以在网络上找到主机名,而我的笔记本电脑却找不到。这可能是哪里出了问题?
编辑,nslookup -debug [domain] 8.8.8.8
给我:
λ nslookup -debug [domain] 8.8.8.8
------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
name = google-public-dns-a.google.com
ttl = 21599 (5 hours 59 mins 59 secs)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = SERVFAIL
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
[domain], type = A, class = IN
------------
------------
Got answer:
HEADER:
opcode = QUERY, id = 3, rcode = SERVFAIL
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
[domain], type = AAAA, class = IN
------------
*** google-public-dns-a.google.com can't find [domain]: Server failed
答案1
您的域名 DNSSEC 验证失败,如您所见http://dnssec-debugger.verisignlabs.com/gsvnet.nl。该域没有 RRSIG 和 DNSKEY 记录。这就是 Google DNS(可能还有其他 DNS 解析器)为您的域返回 SERVFAIL 的原因。
从https://developers.google.com/speed/public-dns/faq#gdns_validation_failure:
Google 公共 DNS 如何处理 DNSSEC 验证失败的查找?
如果 Google Public DNS 无法验证响应(由于配置错误、RRSIG 记录缺失或不正确等原因),它将返回错误响应 (SERVFAIL)。但是,如果影响很大(例如,一个非常受欢迎的域名验证失败),我们可能会暂时禁用该区域的验证,直到问题得到解决。
您应该联系您的注册商/托管公司并让他们禁用/修复 DNSSEC。