目錄
- 一、域名系統概述
- 二、常見的資源記錄型別
- 三、IP地址分類
- 四、DNS查詢常用工具使用(dig、nslookup)
- 4.1、dig簡單使用
- 4.2、nslookup
- 五、域名到IP地址的決議程序
- 六、常用DNS地址
一、域名系統概述
域名系統DNS(Domain Name System)是因特網使用的命名系統,用來把便于人們使用的機器名字轉換成為IP地址,域名系統其實就是名字系統,為什么不叫“名字”而叫“域名”呢?這是因為在這種因特網的命名系統中使用了許多的“域(domain)”,因此就出現了“域名”這個名詞,“域名系統”明確地指明這種系統是應用在因特網中,
二、常見的資源記錄型別
| 資源記錄型別 | 解釋 |
|---|---|
| A記錄:地址記錄(Address) | 將域名FQND(Fully Qualified Domain Name:全限定域名)映射到IP 正向決議,“優先級”中的數字越小表示級別越高,優先級相同時,表示輪循,可以達到負載均衡的目的,但需要服務商支持, |
| CNAME記錄:別名記錄,正式名記錄(Canonical Name) | 將A記錄指向的域名指向另外一個域名;A記錄優先于CNAME記錄,即如果一個主機地址同時存在A記錄和CNAME記錄,則CNAME記錄不生效, |
| NS記錄:域名服務記錄(Name Service) | 決議服務器記錄,用來表明由哪臺服務器對該域名進行決議,這里的NS記錄只對子域名生效,“優先級”中的數字越小表示級別越高,NS記錄優先于A記錄,即,如果一個主機地址同時存在NS記錄和A記錄,則A記錄不生效,這里的NS記錄只對子域名生效, |
| MX記錄:郵件交換器(Mail Exchanger) | 郵件交換器記錄,用于告知郵件服務器行程將郵件發送到指定的另一臺郵件服務器,“優先級”中的數字越小表示級別越高,優先級相同時,表示輪循,可以達到負載均衡的目的,但需要服務商支持, |
| SOA記錄:起始授權記錄(Start Of Authority) | 指出當前區域內誰是 主DNS服務器 |
| AAAA記錄:(Ipv6)地址記錄(Address) | 把域名決議成IPv6地址,(FQDN–>IPv6) ;一個ipv4是32位,假設用A表示,那么128位長度的IPv6就用AAAA來表示. |
| PTR記錄:指標(Pointer),反向決議 | 這個一個比較特殊,從IP到FQDN的決議, |
三、IP地址分類
| 類別 | 解釋 |
|---|---|
| A類IP地址 | 一個A類IP地址由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是“0”, 地址范圍從1.0.0.0 ~126.0.0.0,可用的A類網路有126個,每個網路能容納1億多個主機, |
| B類IP地址 | 一個B類IP地址由2個位元組的網路地址和2個位元組的主機地址組成,網路地址的最高位必須是“10”,地址范圍從128.0.0.0~191.255.255.255,可用的B類網路有16382個,每個網路能容納6萬多個主機 , |
| C類IP地址 | 一個C類IP地址由3位元組的網路地址和1位元組的主機地址組成,網路地址的最高位必須是“110”,范圍從192.0.0.0~223.255.255.255,C類網路可達209萬余個,每個網路能容納254個主機, |
| D類地址用于多點廣播(Multicast) | D類IP地址第一個位元組以“lll0”開始,它是一個專門保留的地址,它并不指向特定的網路,目前這一類地址被用在多點廣播(Multicast)中,多點廣播地址用來一次尋址一組計算機,它標識共享同一協議的一組計算機,224.0.0.0到239.255.255.255用于多點廣播 , |
| E類 | E類IP地址 以“llll0”開始,為將來使用保留,240.0.0.0到255.255.255.254,255.255.255.255用于廣播地址,全零(“0.0.0.0”)地址對應于當前主機,全“1”的IP地址(“255.255.255.255”)是當前子網的廣播地址 |
| 注意:數字0和 127不作為A類地址,數字127保留給內部回送函式,而數字0則表示該地址是本地宿主機,不能傳送, |
四、DNS查詢常用工具使用(dig、nslookup)
4.1、dig簡單使用
4.1.1、簡介
dig是一個在類Unix命令列模式下查詢DNS包括NS記錄,A記錄,MX記錄等相關資訊的工具,
4.1.2、dig 命令默認的輸出資訊可以分為 5 個部分,
- 第一部分顯示 dig 命令的版本和輸入的引數,
- 第二部分顯示服務回傳的一些技術詳情,比較重要的是 status,如果 status 的值為 NOERROR 則說明本次查詢成功結束,
- 第三部分中的 "QUESTION SECTION" 顯示我們要查詢的域名,
- 第四部分的 "ANSWER SECTION" 是查詢到的結果,
- 第五部分則是本次查詢的一些統計資訊,比如用了多長時間,查詢了哪個 DNS 服務器,在什么時間進行的查詢等等,
4.1.2、簡單使用
1)查詢CName記錄
$ dig qq.com CNAME
2)從指定的 DNS 服務器上查詢
$ dig qq.com CNAME @8.8.8.8
如果不指定 DNS 服務器,dig 會依次使用 /etc/resolv.conf 里的地址作為 DNS 服務器
3)控制顯示結果,只顯示DNS決議處理的ip地址
$ dig +short qq.com
4)跟蹤整個查詢程序
$ dig +trace qq.com
5)查詢域的MX記錄
$ dig qq.com MX
6)查詢域的TTL記錄
$ dig qq.com TTL
7)僅查詢答案部分
$ dig qq.com +nocomments +noquestion +noauthority +noadditional +nostats
8)反向查詢
dig -x 8.8.8.8 +short
4.2、nslookup
4.2.1、簡介
nslookup用于查詢DNS的記錄,查詢域名決議是否正常,在網路故障時用來診斷網路問題
4.2.2、簡單使用
1)直接查詢
命令格式:nslookup domain[dns-server]
$ nslookup www.163.com
2)查詢其它記錄(以CNAME為例,查詢其它記錄也一樣)
命令格式:nslookup -qt=type domain[dns-server]
type:
A -->地址記錄
AAAA -->地址記錄
AFSDB Andrew -->檔案系統資料庫服務器記錄
ATMA -->ATM地址記錄
CNAME -->別名記錄
HINHO -->硬體配置記錄,包括CPU、作業系統資訊
ISDN -->域名對應的ISDN號碼
MB -->存放指定郵箱的服務器
MG -->郵件組記錄
MINFO -->郵件組和郵箱的資訊記錄
MR -->改名的郵箱記錄
MX -->郵件服務器記錄
NS --> 名字服務器記錄
PTR ->反向記錄
RP -->負責人記錄
RT -->路由穿透記錄
SRV -->TCP服務器資訊記錄
TXT -->域名對應的文本資訊
X25 -->域名對應的X.25地址記錄
$ nslookup -qt=CNAME www.163.com
五、域名到IP地址的決議程序
linux DNS決議優先級配置
$ grep -C3 hosts /etc/nsswitch.conf

fiels:優先級最高,查/etc/hosts檔案
dns:查dns域名服務器,對應的dns組態檔/etc/resolv.conf
myhostname:/etc/hosts和dns都決議不到IP時,myhostname就起作用了,它可以把hostname,決議成自己范圍內的IP地址,因此就可以ping通了,
可以通過下面命令查看hostname對應的IP:
$ getent ahosts `hostname`
$ ping `hostname`

最好在/etc/hosts檔案中配置hostname跟本機ip映射

- 第①步:瀏覽器會檢查快取中有沒有這個域名對應的決議過的IP地址,如果快取中有,這個決議程序就將結束,
- 第②步:如果用戶的瀏覽器快取中沒有,瀏覽器會查找作業系統快取中是否有這個域名對應的DNS決議結果,其實作業系統也會有一個域名決議的程序,在Windows中可以通過C:\Windows\System32\drivers\etc\hosts檔案來設定,Linux可以通過/etc/hosts來設定,你可以將任何域名決議到任何能夠訪問的IP地址,如果你在這里指定了一個域名對應的IP地址,那么瀏覽器會首先使用這個IP地址,
- 第③步:如何、怎么知道域名服務器呢?在我們的網路配置中都會有"DNS服務器地址"這一項,這個地址就用于解決前面所說的如果兩個程序無法決議時要怎么辦,作業系統會把這個域名發送給這里設定的LDNS(即本地區的域名服務器),這個DNS通常都提供給你本地互聯網接入的一個DNS決議服務,在Windows下可以通過ipconfig
/all查詢這個地址,如下圖所示,

在Linux下可以通過/etc/resolv.conf如下方式查詢配置的DNS Server,如下圖所示:

大約80%的域名決議都到這里就已經完成了,所以LDNS主要承擔了域名的決議作業,
- 第④步:如果LDNS仍然沒有命中,就直接到Root Server域名服務器請求決議,
- 第⑤步:根域名服務器回傳給本地域名服務器一個所查詢域的主域名服務器(gTLD Server)地址,gTLD是國際頂級域名服務器,如.com、.cn、.org等,全球只有13臺左右,
- 第⑥步:本地域名服務器(Local DNS Server)再向上一步回傳的gTLD服務器發送請求,
- 第⑦步:接受請求的gTLD服務器查找并回傳此域名對應的Name Server域名服務器的地址,這個Name Server通常就是你注冊的域名服務器,例如你在某個域名服務提供商申請的域名,那么這個域名決議任務就由這個域名提供商的服務器來完成,
- 第⑧步:Name Server域名服務器會查詢存盤的域名和IP的映射關系表,正常情況下都根據域名得到目標IP記錄,連同一個TTL值回傳給DNS Server域名服務器,
- 第⑨步:回傳該域名對應的IP和TTL值,Local DNS Server會快取這個域名和IP的對應關系,快取的時間由TTL值控制,
- 第⑩步:把決議的結果回傳給用戶,用戶根據TTL值快取在本地系統快取中,域名決議程序結束,
在實際的DNS決議程序中,可能還不止這10個步驟,如Name Server也可能有多級,或者有一個GTM來負載均衡控制,這都有可能會影響域名決議的程序,
六、常用DNS地址
114.114.114.114:是國內移動、電信和聯dao通通用的DNS,決議成功率相對來說更高,國內用戶使用的比較多,速度相對快、穩定,是國內用戶上網常用的DNS,
8.8.8.8:是GOOGLE公司提供的DNS,該地址是全球通用的,相對來說,更適合國外以及訪問國外網站的用戶使用,
114.114.114.114:公共DNS服務器IPv4地址
180.76.76.76:百度公bai共DNS服務器IPv4地址
223.5.5.5:阿里公共DNS服務器IPv4地址
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/492440.html
標籤:其他
上一篇:_01Linux基礎常用命令
下一篇:_02防火墻配置
