• 生活就是这样,需要去灌溉!
    • 谢谢您的关注,欢迎您的注册与写作!
    • 循环往复,生生不息,或许这就是生命的意义吧!生命是插曲的产品吧!
    • 古今多少事,都付笑言中!
    • 风住尘香花已尽,日晚倦梳头。物是人非事事休,欲语泪先流。
    • 闻说双溪春尚好,也拟泛轻舟,只恐双溪舴艋舟,载不动许多愁。

DNS协定

Network 柳叶扉鸿 7年前 (2018-06-07) 3027次浏览 已收录 扫描二维码
内容目录

 验证 DNS 工作

当您建立好一个 DNS 伺服器之后,除了可以直接使用命令 ping (这个会在后面章节说明)直接 ping 一下上面的记录之外,最好还是使用“nslookup”这个命令进行检测或除错,(Windows9x 系统并不包含此命令)。下面让我们在 Linux 中验证一下:当您输入 nslookup 之后,您会看到您机器目前指定的 DNS 伺服器的回应:

Default Server: redhat52.siyongc.domain
Address: 192.168.0.17

然后您输入欲查询的主机或 IP 地址,您会看到从 DNS 回来的结果:

> pii266.siyongc.domain
Server: redhat52.siyongc
Address: 192.168.0.17

Name: pii266.siyongc.domain
Address: 192.168.0.15  

> www.hinet.net 
Server: redhat52.siyongc.domain
Address: 192.168.0.17

Non-authoritative answer:
Name: w3c2.hinet.net
Address: 168.95.1.84
Aliases: www.hinet.net

这是一个标准模式下面的查询,我们可以看到:不是这台 DNS 伺服器管理的查询,而且已经在 cache 里面了,会附加一个:“Non-authoritative answer:”的回应信息。但如果我们先将查询模式设为 any 之后﹐再输入同样的主机名称:

> set q=any
> pii266.siyongc.domain
Server: redhat52.siyongc.domain
Address: 192.168.0.17

pii266.siyongc.domain preference = 20, mail exchanger = debian.home
pii266.siyongc.domain preference = 10, mail exchanger = redhat52.siyongc.domain
pii266.siyongc.domain internet address = 192.168.0.15
siyongc.domain nameserver = debian.home
siyongc.domain nameserver = redhat52.siyongc.domain
debian.home internet address = 192.168.0.2
redhat52.siyongc.domain internet address = 192.168.0.17

您就可以看到更多的资料了,例如:MX﹑NS﹑和它们的 IP 地址等信息。假如您使用“除错模式”的话,看到的资料还将更多!

> set debug
> www.hinet.net
Server: redhat52.siyongc.domain
Address: 192.168.0.17

;; res_nmkquery(QUERY, www.hinet.net, IN, ANY)
------------
Got answer:
    HEADER:
       opcode = QUERY, id = 3102, rcode = NOERROR
       header flags: response, want recursion, recursion avail.
       questions = 1, answers = 1, authority records = 3, additional = 3

    QUESTIONS:
       www.hinet.net, type = ANY, class = IN
    ANSWERS:
    -> www.hinet.net
       canonical name = w3c2.hinet.net
       ttl = 76134 (21h8m54s)
    AUTHORITY RECORDS:
    -> hinet.net
       nameserver = HNTP1.hinet.net
       ttl = 162533 (1d21h8m53s)
    -> hinet.net
       nameserver = HNTP3.hinet.net
       ttl = 162533 (1d21h8m53s)
    -> hinet.net
       nameserver = DNS.hinet.net
       ttl = 162533 (1d21h8m53s)
    ADDITIONAL RECORDS:
    -> HNTP1.hinet.net
       internet address = 168.95.192.1
       ttl = 162533 (1d21h8m53s)
    -> HNTP3.hinet.net
       internet address = 168.95.192.2
       ttl = 162533 (1d21h8m53s)
    -> DNS.hinet.net
       internet address = 168.95.1.1
       ttl = 162533 (1d21h8m53s)

------------
Non-authoritative answer:
www.hinet.net
       canonical name = w3c2.hinet.net
       ttl = 76134 (21h8m54s)

Authoritative answers can be found from:
hinet.net
       nameserver = HNTP1.hinet.net
       ttl = 162533 (1d21h8m53s)
hinet.net
       nameserver = HNTP3.hinet.net
       ttl = 162533 (1d21h8m53s)
hinet.net
       nameserver = DNS.hinet.net
       ttl = 162533 (1d21h8m53s)
HNTP1.hinet.net
       internet address = 168.95.192.1
       ttl = 162533 (1d21h8m53s)
HNTP3.hinet.net
       internet address = 168.95.192.2
       ttl = 162533 (1d21h8m53s)
DNS.hinet.net
       internet address = 168.95.1.1
       ttl = 162533 (1d21h8m53s)

另外,您还可以用 set q=mx 或 set q=ptr 等模式来查询特定的记录,也可以用 ls 后接 domain name 来查看某个 domain 的所有主机记录。善用 nslookup 我们可以找到许多 DNS 的信息,而当有问题发生的时候,这个工具就变得非常有用了。

同时,在设定 DNS 的时候,需要比较慎密的设计,以免不实资料的泛滥。管理好 DNS 系统是每一个网路管理员应尽的义务来的。详细的 DNS 设定,我会在“学习 Linux”里面讨论。

好了,关于 DNS 的讨论,暂时介绍到这里,相信上面说的这些也够您消化的了。


柳叶扉鸿 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明DNS协定
相关文章
喜欢 (2)