Noé*_*ieu 2 domain-name-system cache domain-name dig
昨天,我的一个域名过期了,所以我的一个网站宕机了。我很清楚 dns 缓存,但我认为我错过了一些东西。
我的网站并没有到处停机(多亏了 dns 缓存)。但是,例如 Google dns 服务器给出的结果与两个服务器不同。怎么来的 ?
我的 DNS 有 .paris 扩展名(巴黎启动)
在我的电脑上,它运行良好。这是 dig 的结果:
dig @8.8.8.8 mydomain.paris
; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 mydomain.paris
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 189
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;mydomain.paris. IN A
;; ANSWER SECTION:
mydomain.paris. 27 IN A 104.25.219.14
mydomain.paris. 27 IN A 104.25.218.14
;; Query time: 75 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec 9 19:47:52 2015
;; MSG SIZE rcvd: 63
Run Code Online (Sandbox Code Playgroud)
从另一台服务器,它不工作:
dig @8.8.8.8 mydomain.paris
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @8.8.8.8 mydomain.paris
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61073
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;mydomain.paris. IN A
;; AUTHORITY SECTION:
paris. 1799 IN SOA a.nic.fr. hostmaster.nic.paris. 2222333866 3600 1800 3600000 5400
;; Query time: 18 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec 9 20:02:24 2015
;; MSG SIZE rcvd: 90
Run Code Online (Sandbox Code Playgroud)
两次,我都在查询 Google 的 DNS 服务器。我怎么得到不同的结果?即使使用dig @
命令也有缓存吗?为什么我得到了答案,但AUTHORITY SECTION
在第一种情况下AUTHORITY SECTION
没有,而在第二种情况下只有一个但没有答案?什么是AUTHORITY SECTION
?
非常感谢 :)
对于 Google (8.8.8.8) 和许多提供商一样,解析服务在多个节点上实现负载平衡,并且由于每个节点都维护自己的缓存,因此对显然相同名称服务器的后续查询实际上可能来自不同的节点并产生不同的(缓存)结果。(不同的错误,不同的 TTL 值等)
@dig 使用它来选择特定的名称服务器,而不是您的默认名称服务器,/etc/resolv.conf
仅此而已,仅此而已,它不会确定该名称服务器上的缓存。
为了避免缓存结果,您可以使用该dig +trace
选项,这将使 dig 使用跟踪、迭代查询来解析正在查找的名称。它将跟踪来自根服务器的引用,显示用于解析查找的每个服务器的答案。
关于 AUTHORITY 部分:缓存的结果不具有权威性,不会包含权威数据。
RFC 2308要求缓存错误(NXDOMAIN) 确实包含授权部分;“它必须将缓存的 SOA 记录添加到响应的授权部分,TTL 递减它存储在缓存中的时间量。这允许 NXDOMAIN / NODATA 响应正确超时。”
归档时间: |
|
查看次数: |
3278 次 |
最近记录: |