dns的解析一般都授权两个以上,防止单点故障。

比如阿权的书房的域名 www.aslibra.com,授权两台
ns.aslibra.com 和 ns2.aslibra.com,如果单点故障会怎么样呢?

trace检查一下域名:

[root@aslibra ~]# dig www.aslibra.com. +trace
....(省略部分查询)
aslibra.com.            172800  IN      NS      ns.aslibra.com.
aslibra.com.            172800  IN      NS      ns2.aslibra.com.
;; Received 100 bytes from 192.48.79.30#53(J.GTLD-SERVERS.NET) in 199 ms

www.aslibra.com.        300     IN      A       222.76.215.25
aslibra.com.            300     IN      NS      ns.aslibra.com.
aslibra.com.            300     IN      NS      ns2.aslibra.com.
;; Received 116 bytes from 219.232.241.83#53(ns.aslibra.com) in 8 ms


也就是83的服务器返回信息了。关闭83的服务,我们再查询:

[root@aslibra ~]# dig www.aslibra.com. +trace
....(省略部分一样的查询)
www.aslibra.com.        300     IN      A       222.76.215.25
aslibra.com.            300     IN      NS      ns.aslibra.com.
aslibra.com.            300     IN      NS      ns2.aslibra.com.
;; Received 124 bytes from 219.232.241.84#53(ns2.aslibra.com) in 7 ms


这回是84处理了此请求了。
这个说明了单个无法响应还会交给下一个处理的,要增加ns的授权需要在上级申请,也就是在 com. 申请多一个ns记录,自己指定似乎没用,因为上级就授权了两个,两个官方授权的服务器都挂掉是再也查询不到的了。

我们来做个实验:

增加ns3的授权:

[root@aslibra ~]# dig www.aslibra.com +trace
....(省略部分一样的查询)
www.aslibra.com.        300     IN      A       222.76.215.25
aslibra.com.            300     IN      NS      ns.aslibra.com.
aslibra.com.            300     IN      NS      ns2.aslibra.com.
aslibra.com.            300     IN      NS      ns3.aslibra.com.
;; Received 150 bytes from 219.232.241.83#53(ns.aslibra.com) in 2 ms


关闭ns和ns2之后,ns3其实是没用的:

[root@gx ~]# dig www.aslibra.com. +trace
....(省略部分一样的查询)
aslibra.com.            172800  IN      NS      ns.aslibra.com.
aslibra.com.            172800  IN      NS      ns2.aslibra.com.
;; Received 100 bytes from 192.31.80.30#53(D.GTLD-SERVERS.NET) in 252 ms

;; connection timed out; no servers could be reached


目前我还不知道部分域名提供多个ns记录有什么用,可能是备用的比较多,或者是针对大需求订制的。
比如提供很多域名服务,那提供 ns1-ns6 你挑两个就可以了,但服务器架构是有六个的,如果你跟上级服务提供商申请多个,那可以都填上的,防止域名解析服务死机的情况是无效的,可能对查询的压力分布有帮助。
Tags: , ,
关于DNS的常识,可以阅读附录的一些参考资料。
本文旨在尝试举例用dig命令理解这个过程,并非权威知识,仅供参考.
测试域名为阿权的书房的域名 www.aslibra.com 和 www.163.com。

[root@localhost ~]# dig www.aslibra.com

; <<>> DiG 9.2.4 <<>> www.aslibra.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25746
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 6

;; QUESTION SECTION:
;www.aslibra.com.               IN      A

;; ANSWER SECTION:
www.aslibra.com.        900     IN      A       222.76.215.25

;; AUTHORITY SECTION:
aslibra.com.            33024   IN      NS      k8.hkidc.com.
aslibra.com.            33024   IN      NS      b.hkidc.com.
aslibra.com.            33024   IN      NS      j6.hkidc.com.
aslibra.com.            33024   IN      NS      ns8.hkidc.com.
aslibra.com.            33024   IN      NS      ns5.hkidc.com.
aslibra.com.            33024   IN      NS      a.hkidc.com.

;; ADDITIONAL SECTION:
k8.hkidc.com.           55596   IN      A       125.65.112.32
b.hkidc.com.            53594   IN      A       221.122.64.81
j6.hkidc.com.           54375   IN      A       222.76.219.74
ns8.hkidc.com.          53598   IN      A       221.122.64.81
ns5.hkidc.com.          55596   IN      A       222.76.219.81
a.hkidc.com.            53594   IN      A       125.65.112.32

;; Query time: 71 msec
;; SERVER: 211.99.25.1#53(211.99.25.1)
;; WHEN: Mon Jun  1 12:05:17 2009
;; MSG SIZE  rcvd: 268


如何理解上面的意思?

QUESTION SECTION:查询的内容
ANSWER SECTION:相应的内容,一般会得到至少一条A记录,否则就还没定义
AUTHORITY SECTION:授权信息
ADDITIONAL SECTION:每个授权服务器的IP地址
SERVER:查询的dns服务器,可能会被缓存

过程大体是:
1 从SERVER查询www.aslibra.com,如果有有效缓存就返回了
2 如果没有,则找到aslibra.com的授权服务器,下面有例子介绍
3 从其中一个查询到结果(A记录)
Tags: ,
在 unix 和 linux 下,建议大家使用 dig 命令来代替 nslookup。 dig 命令的功能比 nslookup 强大很多,不像 nslookkup 还得 set 来 set 去的,怪麻烦的。

下面是 dig 的一些比较常用的命令:

# dig 最基本的用法
dig @server qianlong.com
# 用 dig 查看 zone 数据传输
dig @server qianlong.com AXFR
# 用 dig 查看 zone 数据的增量传输
dig @server qianlong.com IXFR=N
# 用 dig 查看反向解析
dig -x 124.42.102.203 @server
# 查找一个域的授权 dns 服务器
dig   qianlong.com +nssearch
# 从根服务器开始追踪一个域名的解析过程
dig   qianlong.com +trace
# 查看您使用的是哪个 F root dns server
dig +norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT
# 查看 bind 的版本号
dig @bind_dns_server CHAOS TXT version.bind
Tags: ,
分页: 2/2 第一页 上页 1 2 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐