配置好DNS伺服器,添加了相應的記錄之後,隻要IP位址保持不變,一般情況下我們就不再需要去維護DNS的資料檔案了。不過在确認域名解釋正常之前我們最好是測試一下所有的配置是否正常。許多人會簡單地使用ping指令檢查一下就算了。不過Ping指令隻是一個檢查網絡聯通情況的指令,雖然在輸入的參數是域名的情況下會通過DNS進行查詢,但是它隻能查詢A類型和CNAME類型的記錄,而且隻會告訴你域名是否存在,其他的資訊一概欠奉。是以如果你需要對DNS的故障進行排錯就必須熟練另一個更強大的工具nslookup。這個指令可以指定查詢的類型,可以查到DNS記錄的生存時間還可以指定使用那個DNS伺服器進行解釋。
查詢IP位址
nslookup最簡單的用法就是查詢域名對應的IP位址,包括A記錄和CNAME記錄,如果查到的是CNAME記錄還會傳回别名記錄的設定情況。其用法是:
nslookup domain
如果目标域名是一個别名記錄(CNAME),nslookup就開始顯示出和ping指令不同的地方了,請看查詢CNAME記錄的結果。由于CNAME和A記錄最後都是活的IP位址,是以一般情況下兩者是等同看待的,指令的格式相同。
查詢其他類型的域名
前面兩個指令我們沒有加任何參數,是以預設情況下nslookup查詢的是A類型的記錄。如果我們配置了其他類型的記錄希望看到解釋是否正常。這時候ping就無能為力了。比如我們配置了MX記錄,但是郵件伺服器隻能發信不能收信,到底是域名解釋問題還是其他的問題Ping指令的檢查隻能讓你誤入歧途。nslookup 這時候可以模拟你的其他遇見伺服器進行域名解釋的情況。我們需要在nslookup上加上适當的參數。指定查詢記錄類型的指令格式如下:
nslookup –qt=類型 目标域名
注意qt必須小寫。
類型可以是一下字元,不區分大小寫:
A 位址記錄(Ipv4)
AAAA 位址記錄(Ipv6)
AFSDB Andrew檔案系統資料庫伺服器記錄(不懂)
ATMA ATM位址記錄(不是自動提款機)
CNAME 别名記錄
HINFO 硬體配置記錄,包括CPU、作業系統資訊
ISDN 域名對應的ISDN号碼
MB 存放指定郵箱的伺服器
MG 郵件組記錄
MINFO 郵件組和郵箱的資訊記錄
MR 改名的郵箱記錄
MX 郵件伺服器記錄
NS 名字伺服器記錄
PTR 反向記錄(從IP位址解釋域名)
RP 負責人記錄
RT 路由穿透記錄(不懂)
SRV TCP伺服器資訊記錄(将有大用處)
TXT 域名對應的文本資訊
X25 域名對應的X.25位址記錄
用法即:nslookup qt=ns domain 子domain
指定使用的名字伺服器
在預設情況下nslookup使用的是我們在本機TCP/IP配置中的DNS伺服器進行查詢,但有時候我們需要指定一個特定的伺服器進行查詢試驗。這時候我們不需要更改本機的TCP/IP配置,隻要在指令後面加上指定的伺服器IP或者域名就可以了。這個參數在我們對一台指定伺服器排錯是非常必要的,另外我們可以通過指定伺服器直接查詢授權伺服器的結果避免其他伺服器緩存的結果。指令格式如下:
nslookup [-qt=類型] 目标域名 指定的DNS伺服器IP或域名
這個指令直接從頂級域名伺服器查詢oray.net的NS記錄。所有的二級域名的NS記錄都存放在頂級域名伺服器中,這是最權威的解釋。注意這次沒有非授權結果的提示。對于二級域名的NS記錄查詢來說這肯定是授權結果。頂級域名伺服器的名稱是a到j.gtld-servers.net共十台伺服器。(gtld是Global Top Level Domain的縮寫)。當我們修改域名的NS記錄的時候可以通過上述查詢知道修改的結果是不是已經在頂級域名伺服器上生效。不過即使已經生效也可能不能正常解釋,注意我在上一篇文章中提到的緩存時間的問題。
那麼到底緩存多久呢?
檢查域名的緩存時間
檢查域名的緩存時間需要我們使用一個新的參數:-d
格式如下:
nslookup –d [其他的參數] 目标域名 [指定的伺服器位址]
例如:
C:\>nslookup -d3 feelids.com
------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 1, additional = 1
QUESTIONS:
4.1.134.61.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 4.1.134.61.in-addr.arpa
name = dns.sn.cninfo.net
ttl = 60 (1 min)
AUTHORITY RECORDS:
-> 1.134.61.in-addr.arpa
nameserver = dns.sn.cninfo.net
ADDITIONAL RECORDS:
-> dns.sn.cninfo.net
internet address = 61.134.1.4
ttl = 10 (10 secs)
Server: dns.sn.cninfo.net
Address: 61.134.1.4
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 2, additional = 2
feelids.com, type = A, class = IN
-> feelids.com
internet address = 210.51.24.102
ttl = 1200 (20 mins)
nameserver = ns4.bolead.com
ttl = 74928 (20 hours 48 mins 48 secs)
nameserver = ns3.bolead.com
-> ns3.bolead.com
internet address = 210.51.187.81
ttl = 155790 (1 day 19 hours 16 mins 30 secs)
-> ns4.bolead.com
internet address = 218.107.207.123
ttl = 45739 (12 hours 42 mins 19 secs)
Non-authoritative answer:
Name: feelids.com
Address: 210.51.24.102
-------------------------------------------------------------------------------------------------------------
nslookup的指令就介紹到這裡,其實nslookup還有許多其他參數。不過常用的就俄這麼幾個,另外如果大家不喜歡指令行方式的話。還有幾個圖形界面的nslookup功能的工具。不過大家還是需要了解域名解釋都有些什麼才能夠正确使用這些工具。
本文轉自 MicroMeng 51CTO部落格,原文連結:http://blog.51cto.com/MicroMeng/24986,如需轉載請自行聯系原作者