linux - 我的系统如何知道根名称服务器?

标签 linux dns

我的系统如何知道根名称服务器“.”当它解析“www.example.com”时?我使用的是 ISP,他们有根 DNS 配置吗? 有点,对 DNS 概念感到困惑。

最佳答案

通过对“.”进行标准 DNS NS 查询来找到根名称服务器。领域。

任何查询公共(public)名称服务器的 DNS 服务器都将拥有根服务器的本地副本,并将定期更新。

安装新 DNS 服务器的步骤之一是首先为这些根 DNS 服务器播种。通常命名为 root.hints。该文件可以从ftp://ftp.rs.internic.net/domain/db.cache下载

或者,您可以运行

dig +bufsize=1200 +norec NS . @a.root-servers.net

这将产生

; <<>> DiG 9.9.5-3ubuntu0.7-Ubuntu <<>> +bufsize=1200 +norec NS . @a.root-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29307
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 25

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       518400  IN      NS      h.root-servers.net.
.                       518400  IN      NS      j.root-servers.net.
.                       518400  IN      NS      g.root-servers.net.
.                       518400  IN      NS      e.root-servers.net.
.                       518400  IN      NS      c.root-servers.net.
.                       518400  IN      NS      k.root-servers.net.
.                       518400  IN      NS      a.root-servers.net.
.                       518400  IN      NS      f.root-servers.net.
.                       518400  IN      NS      m.root-servers.net.
.                       518400  IN      NS      b.root-servers.net.
.                       518400  IN      NS      l.root-servers.net.
.                       518400  IN      NS      i.root-servers.net.
.                       518400  IN      NS      d.root-servers.net.

;; ADDITIONAL SECTION:
h.root-servers.net.     3600000 IN      A       198.97.190.53
h.root-servers.net.     3600000 IN      AAAA    2001:500:1::53
j.root-servers.net.     3600000 IN      A       192.58.128.30
j.root-servers.net.     3600000 IN      AAAA    2001:503:c27::2:30
g.root-servers.net.     3600000 IN      A       192.112.36.4
e.root-servers.net.     3600000 IN      A       192.203.230.10
c.root-servers.net.     3600000 IN      A       192.33.4.12
c.root-servers.net.     3600000 IN      AAAA    2001:500:2::c
k.root-servers.net.     3600000 IN      A       193.0.14.129
k.root-servers.net.     3600000 IN      AAAA    2001:7fd::1
a.root-servers.net.     3600000 IN      A       198.41.0.4
a.root-servers.net.     3600000 IN      AAAA    2001:503:ba3e::2:30
f.root-servers.net.     3600000 IN      A       192.5.5.241
f.root-servers.net.     3600000 IN      AAAA    2001:500:2f::f
m.root-servers.net.     3600000 IN      A       202.12.27.33
m.root-servers.net.     3600000 IN      AAAA    2001:dc3::35
b.root-servers.net.     3600000 IN      A       192.228.79.201
b.root-servers.net.     3600000 IN      AAAA    2001:500:84::b
l.root-servers.net.     3600000 IN      A       199.7.83.42
l.root-servers.net.     3600000 IN      AAAA    2001:500:3::42
i.root-servers.net.     3600000 IN      A       192.36.148.17
i.root-servers.net.     3600000 IN      AAAA    2001:7fe::53
d.root-servers.net.     3600000 IN      A       199.7.91.13
d.root-servers.net.     3600000 IN      AAAA    2001:500:2d::d

;; Query time: 10 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Thu Mar 03 06:37:09 UTC 2016
;; MSG SIZE  rcvd: 755

正如您所见,使用该文件您可以解析公共(public)互联网上的任何主机。

关于linux - 我的系统如何知道根名称服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35764570/

相关文章:

linux - Shell 中的 Perl glob 等效项用于循环匹配模式的文件

ruby-on-rails - 调试 DNS 问题

android - Android 上的 DNS 问题

linux - 如何找到oracle db的系统服务名?

python - osquery-python 扩展导致 osqueryi 错误

linux - 遍历空字符串

node.js - 在 Nodejs 上使用 DNS 进行 Consul 服务发现

linux - npm 在 linux 机器上安装 couchbase 失败

javascript - 如何为 node.js 服务器分配域名?

Java InetAddress 名称解析