本文為博主原創,未經允許不得轉載:
C:\Users\zenjian>ping baidu.com 正在 Ping baidu.com [220.181.38.148] 具有 32 字節的數據 來自 220.181.38.148 的回復: 字節=32 時間=23ms TTL=52 來自 220.181.38.148 的回復: 字節=32 時間=24ms TTL=52 來自 220.181.38.148 的回復: 字節=32 時間=24ms TTL=52 來自 220.181.38.148 的回復: 字節=32 時間=27ms TTL=52 220.181.38.148 的 Ping 統計信息: 數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計時間(以毫秒為單位): 最短 = 23ms,最長 = 27ms,平均 = 24ms
如果 ping 一個不存在的域名或非公網域名,則會 提示請求找不到主機,
C:\Users\zenjian>ping ts.baidu.com
Ping 請求找不到主機 ts.baidu.com。請檢查該名稱,然后重試。
除了使用 ping 命令來查看域名是否正常訪問,或查看域名的訪問ip時,還可以使用 nslookup 來查看。nslookup是一種網絡管理命令行工具,可用於查詢DNS域名和IP地址,在網絡故障的時候用來診斷網絡問題。其最簡單的使用方法與 ping 命令方法相同,直接使用 nslookup 域名即可。示例如下:
C:\Users\zenjian>nslookup baidu.com 服務器: 192.168.1.1 Address: 192.168.1.1 DNS request timed out. timeout was 2 seconds. 名稱: baidu.com Addresses: 220.181.38.148 39.156.69.79
其中192.168.1.1是本機對應的 ip 段,這個命令在Linux環境上也可以使用,通過執行 nslookup 命令我們發現他會返回兩個對應的 ip,這個ip就是baidu.com配置的訪問的ip地址。通常一個域名會配置多個解析 ip,防止同時有大並發的請求到一台服務器,導致服務奔潰不可用,這種域名解析配置的方式稱為 A 記錄。
域名解析的配置方式有很多種,主要由以下幾種:
(1)A記錄,Address
A記錄用於描述域名到ip地址的映射關系。對同一個域名,可以有多條A記錄。也就是說,一次DNS查找可以返回多個地址。
(2)NS記錄,Name Server
NS記錄是域名服務器記錄,用於指定該域名由那個DNS服務器來進行解析。每個區域可以有多個域名服務器,因此可以有多條NS記錄。
(3)SOA記錄,Start Of Authority
SOA記錄用於指定該區域的權威域名服務器。每個區域允許且只允許有一個SOA記錄,它是資源記錄的第一個條目。
(4)CNAME記錄
CNAME記錄用於描述別名與域名的對應關系,這種記錄允許您將多個名字映射到同一台計算機。例如,有一台計算機名為host.mydomain.com(A記錄)。它同時提供www和mail服務,為了便於用戶訪問服務,可以為該計算機設置兩個別名(CNAME):www和mail。這兩個別名的全稱就是www.mydomain.com和mail.mydomain.com。實際上它們都指向host.mydomain.com。當域名服務器查找一個域名時,找到一條CNAME記錄,它會用記錄中的規范名來替換這個域名別名,然后再查這個規范名的A記錄,從而找到與規范名對應的ip地址,這樣,就實現了對請求查找域名的ip地址響應。
(5)MX
如果需要設置郵箱,讓郵箱能夠收到郵件,需要添加MX記錄。
(6)SOA
SOA這種記錄是所有區域性文件中的強制性記錄。它必須是一個文件中的第一個記錄。
(7)TXT
可以寫任何東西,長度限制為255。絕大多數的TXT記錄是用來做SPF記錄(反垃圾郵件)。
通過ping 命令是無法解析域名的解析類型,只能ping域名是否正常訪問,獲取域名的對應ip。若需要解析域名的類型可以使用nslookup。
其語法域名的某一解析類型如下:
--查詢域名的mx/txt/ns解析記錄 nslookup -type=mx/txt/ns 52robot.org --還可以用 nslookup –qt=類型 目標域名。類型cname,txt,ns,mx nslookup -qt=cname/mx/txt/ns 52robot.org --查詢域名的所有類型解析記錄 nslookup -type=any 52robot.org --從指定DNS服務器進行查詢 nslookup 52robot.org 223.5.5.5
使用nslookup查詢baidu.com的所有解析類型記錄:
C:\Users\zenjian>nslookup -type=any baidu.com 服務器: 192.168.1.1 Address: 192.168.1.1 非權威應答: baidu.com MX preference = 10, mail exchanger = mx.maillb.baidu.com baidu.com MX preference = 15, mail exchanger = mx.n.shifen.com baidu.com MX preference = 20, mail exchanger = mx1.baidu.com baidu.com MX preference = 20, mail exchanger = jpmx.baidu.com baidu.com MX preference = 20, mail exchanger = mx50.baidu.com baidu.com nameserver = ns2.baidu.com baidu.com nameserver = ns3.baidu.com baidu.com nameserver = ns7.baidu.com baidu.com nameserver = dns.baidu.com baidu.com nameserver = ns4.baidu.com
通過這個解析記錄可以看到直接訪問baidu.com可能會訪問到以上mx,ns等的dns服務器上。使用nslookup命令已經可以幫我們查看域名的解析配置,在實際的應用配置中,現在更多的用的是 dig 命令進行查看配置解析,因為使用dig命令可以幫我們看到域名解析的服務鏈路,解析的線路更清楚,而且可以查看請求的狀態和時長。
dig 也是查看域名dns解析的工具,使用dig命令需要安裝dig工具。在Linux環境只需要執行以下命令即可:
yum install bind-utils
dig命令的使用語法如下:
dig(選項)(參數)
其選項有以下:
@<服務器地址>:指定進行域名解析的域名服務器; -b<ip地址>:當主機具有多個IP地址,指定使用本機的哪個IP地址向域名服務器發送域名查詢請求; -f<文件名稱>:指定dig以批處理的方式運行,指定的文件中保存着需要批處理查詢的DNS任務信息; -P:指定域名服務器所使用端口號; -t<類型>:指定要查詢的DNS數據類型; -x<IP地址>:執行逆向域名查詢; -4:使用IPv4; -6:使用IPv6; -h:顯示指令幫助信息。
參數則有以下配置:
主機:指定要查詢域名主機;
查詢類型:指定DNS查詢的類型;
查詢類:指定查詢DNS的class;
查詢選項:指定查詢選項。
這里列舉一下dig常用的請求命令:
查詢域名 dig baidu.com 查詢mx記錄 dig -t mx baidu.com 查詢所有記錄 dig -t any baidu.com 追蹤所有解析,可以看到從客戶端指定的dns服務器一步一步將dns請求轉發到域名托管的dns服務器 DNS的解析是遞規解析,用trace參數,會顯示完整的,無緩存,遞規的查詢,顯示的是完整的trace記錄。 dig +trace baidu.com 從指定DNS服務器進行查詢 dig @8.8.8.8 baidu.com
另外常用的dns解析服務ip有兩個,一個是8.8.8.8,另一個是114.114.114.114。從8.8.8.8 dns服務器解析追蹤baidu.com的請求如下:
[root@Test ~]# dig @8.8.8.8 baidu.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @8.8.8.8 baidu.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43743 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;baidu.com. IN A ;; ANSWER SECTION: baidu.com. 461 IN A 39.156.69.79 baidu.com. 461 IN A 220.181.38.148 ;; Query time: 51 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Sun Oct 25 14:35:09 CST 2020 ;; MSG SIZE rcvd: 70