一、DNS域名解析
首先,我們要知道DNS是什么,DNS(Domain Name System)是域名系統(tǒng)的英文系統(tǒng),是一種組織成域?qū)哟谓Y(jié)構(gòu)和計算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng),用于TCP/IP網(wǎng)絡(luò)。、
DNS實(shí)際上是域名解析協(xié)議,將域名轉(zhuǎn)化為IP地址
在早期的域名解析的時候,是iana組織負(fù)責(zé)將域名和IP地址進(jìn)行對應(yīng),并對其進(jìn)行排列綜合,形成了hosts文件,一個IP地址對應(yīng)一個域名
我們可以進(jìn)入/etc/hosts配置文件為www.baidu.com.域名配置192.168.241.123的IP地址;
hosts配置文件的優(yōu)先級最高;
可以進(jìn)入 /etc/nsswotch.conf? ?#可以修改DNS的優(yōu)先級
將dns寫在file前面?
1.DNS的作用
通常識別主機(jī)的方式為主機(jī)名或者IP地址。人們更傾向于去記憶主機(jī)名,類似于www.baidu.com,而IP地址復(fù)雜且難記。為了解決這種問題,我們使用DNS域名解析服務(wù),對IP地址進(jìn)行解析,將可用的IP地址轉(zhuǎn)化為域名,域名系統(tǒng)作為將域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,基于C/S架構(gòu),服務(wù)端口號為tcp53,udp53;實(shí)際上每臺DNS域名解析服務(wù)器都只負(fù)責(zé)一個有限的范圍(只負(fù)責(zé)自己范圍內(nèi)的解析)
正向解析:根據(jù)域名查找對應(yīng)的IP地址
反向解析:根據(jù)IP地址查找對應(yīng)的域名
DNS系統(tǒng)的分布式數(shù)據(jù)結(jié)構(gòu)
2.域名的組成
2.1域名層級結(jié)構(gòu)關(guān)系特點(diǎn)
- 因特網(wǎng)采用層次樹狀結(jié)構(gòu)的域名結(jié)構(gòu)
- 域名的結(jié)構(gòu)由若干個分量組成,各分量之間用“點(diǎn)”隔開,分別代表不同級別的域名。
- 每一級的域名都由英文字母和數(shù)字組成,不超過63個字符,不區(qū)分大小寫字母。
- 級別最低的域名寫在最左邊,而級別最高的頂級域名寫在最右邊。
- 完整的域名不超過255個字符。
2.2域名空間構(gòu)成
上圖展示了 DNS 服務(wù)器的部分層次結(jié)構(gòu),從上到下依次為根域名服務(wù)器、頂級域名服務(wù)器和權(quán)威域名服務(wù)器。域名和IP地址的映射關(guān)系必須保存在域名服務(wù)器中,供所有其他應(yīng)用查詢。
2.3域名的四種不同類型
- 根域名服務(wù)器 根域名服務(wù)器是最高層次的域名服務(wù)器。每個根域名服務(wù)器都知道所有的頂級域名服務(wù)器的域名及其IP地址。因特網(wǎng)上共有13個不同IP地址的根域名服務(wù)器。當(dāng)本地域名服務(wù)器向根域名服務(wù)器發(fā)出查詢請求時,路由器就把查詢請求報文轉(zhuǎn)發(fā)到離這個DNS客戶最近的一個根域名服務(wù)器。這就加快了DNS的查詢過程,同時也更合理地利用了因特網(wǎng)的資源。
根域:“ . ”;全球根域服務(wù)器節(jié)點(diǎn)只有13個,10個在美國,1個在荷蘭,1個在瑞典,1個在日本
- 頂級域名服務(wù)器 這些域名服務(wù)器負(fù)責(zé)管理在該頂級域名服務(wù)器注冊的所有二級域名。當(dāng)收到DNS查詢請求時就給出相應(yīng)的回答(可能是最后的結(jié)果,也可能是下一級權(quán)限域名服務(wù)器的IP地址)。
頂級域名也稱一級域名(Top Level Domain:tid);頂級域:“ .com ”
- 權(quán)限域名服務(wù)器 這些域名服務(wù)器負(fù)責(zé)管理某個區(qū)的域名。每一個主機(jī)的域名都必須在某個權(quán)限域名服務(wù)器處注冊登記。因此權(quán)限域名服務(wù)器知道其管轄的域名與IP地址的映射關(guān)系。另外,權(quán)限域名服務(wù)器還知道其下級域名服務(wù)器的地址。
權(quán)限域名服務(wù)器也稱組織與,國家域(.cn .ca? .hk? .tw);比如像.baidu就是權(quán)限域名服務(wù)器
- 本地域名服務(wù)器 本地域名服務(wù)器不屬于上述的域名服務(wù)器的等級結(jié)構(gòu)。當(dāng)一個主機(jī)發(fā)出DNS請求報文時,這個報文就首先被送往該主機(jī)的本地域名服務(wù)器。本地域名服務(wù)器起著代理的作用,會將該報文轉(zhuǎn)發(fā)到上述的域名服務(wù)器的等級結(jié)構(gòu)中。本地域名服務(wù)器離用戶較近,一般不超過幾個路由器的距離,也有可能就在同一個局域網(wǎng)中。本地域名服務(wù)器的IP地址需要直接配置在需要域名解析的主機(jī)中。
本地域名服務(wù)器也稱主機(jī)名,比如www就是主機(jī)名
最多可達(dá)127級域名
2.3.1延伸
ICANN(The internet Corpora-tion for Assigned Names and Numbers)互聯(lián)網(wǎng)名稱與數(shù)字地址分配機(jī)構(gòu),負(fù)責(zé)在全球范圍內(nèi)對互聯(lián)網(wǎng)通用頂級域名(gTLD)以及國家和地區(qū)頂級域名(ccTLD)系統(tǒng)的管理、以及根服務(wù)器系統(tǒng)的管理
2.3.2總結(jié)
根dns服務(wù)器只能解析 ?主機(jī)名 ?+ ?根域 ?;例如根域無法解析www.baidu.com.,只能解析com.,但是會告訴該地址,它的下一級地址可以解析baidu.com.
頂級域(一級域)的dns服務(wù)器只能解析 ?主機(jī)名 ?+ ?一級域 ? +根域 ?;例如www.baidu.com.
二級域的dns服務(wù)只能解析 ?主機(jī)名 ?+ ?二級域 ?+ ?一級域 ? +根域 ;例如www.baidu.com.
3.DNS域名解析過程
域名解析包含兩種查詢方式,分別是遞歸查詢和迭代查詢,兩種查詢方式都可以得到結(jié)果,但是遞歸只需要詢問一次即可得到結(jié)果,迭代需要詢問多次才可以得到結(jié)果。
DNS域名解析的次數(shù)和域名長度有關(guān)?
3.1遞歸查詢
一般客戶機(jī)和本地DNS服務(wù)器之間屬于遞歸查詢,即當(dāng)客戶機(jī)向DNS服務(wù)器發(fā)出請求后,若DNS服務(wù)器不能解析,則會向另外的DNS服務(wù)器發(fā)出查詢請求,得到最終的肯定或否定的結(jié)果后轉(zhuǎn)交給客戶機(jī)。此查詢的源和目標(biāo)保持不變,為了查詢結(jié)果只需要發(fā)起一次查詢。(不需要自己動手)
3.2迭代查詢
一般情況下,本地的DNS服務(wù)器向其他DNS服務(wù)器的查詢屬于迭代查詢,如:若對方不能返回權(quán)威的結(jié)果,則它會向下一個DNS服務(wù)器(參考前一個DNS服務(wù)器返回的結(jié)果)再次發(fā)起進(jìn)行查詢,直到返回查詢的結(jié)果為止。此查詢的源不變,但查詢的目標(biāo)不斷變化,為查詢結(jié)果一般需要發(fā)起多次查詢(需要自己手動)
3.3一次DNS解析的過程
假如我要訪問www.baidu.com.服務(wù)器
1.首先看我本機(jī)的 /etc/hosts 文件,如果有的話直接訪問,如果沒有就去找你設(shè)置的緩存DNS服務(wù)器
2.如果緩存服務(wù)器有,直接反饋結(jié)果(遞歸)如果沒有就需要迭代查詢,直接去找根域服務(wù)
3.由于根域服務(wù)器只能解析根,無法解析www.baidu.com. ;但是,根域服務(wù)器會讓你去找一級域服務(wù)器
4.一級域發(fā)現(xiàn)自己也解析不了,讓你去找二級域
5.二級域發(fā)現(xiàn)這臺服務(wù)器在自己的管理范圍內(nèi),直接反饋結(jié)果給緩存服務(wù)器
6.緩存服務(wù)器再交給客戶
4.DNS系統(tǒng)類型
4.1緩存域名服務(wù)器
- 緩存域名服務(wù)器也稱DNS高速緩存服務(wù)器
- 通過向其他域名服務(wù)器查詢獲得域名→IP地址記錄
- 將域名查詢結(jié)果緩存到本地,提高重復(fù)查詢時的速度
4.2主域名服務(wù)器
- 特定DNS區(qū)域的權(quán)威服務(wù)器,具有唯一性
- 負(fù)責(zé)維護(hù)該區(qū)域內(nèi)所有域名→IP地址的映射記錄
- 需要自行建立所負(fù)責(zé)區(qū)域的地址數(shù)據(jù)文件
4.3從域名服務(wù)器
- 也稱為輔助域名服務(wù)器,是對主域名服務(wù)器的熱備份
- 其維護(hù)的域名→IP地址記錄來源于主域名服務(wù)器
- 需要從主域名服務(wù)器自動同步區(qū)域地址數(shù)據(jù)庫
權(quán)威DNS服務(wù)器,最后誰解析DNS,誰為權(quán)威服務(wù)器,最后解析成功的服務(wù)器為權(quán)威服務(wù)器
二、Bind(Berkeley Internet Name Daemon)
- Bind是應(yīng)用最廣泛的DNS服務(wù)程序
- 官方站點(diǎn):https://www.isc.org/
DNS服務(wù)器軟件:bind,powerdns,dnsmasq,unbound,coredns
- bind:服務(wù)器
- bind-libs:相關(guān)庫
- bind-utils: 客戶端
- bind-chroot: 安全包,將dns相關(guān)文件放至 /var/named/chroot/
1.搭建內(nèi)網(wǎng)DNS服務(wù)器
實(shí)驗(yàn)?zāi)康模涸趦?nèi)網(wǎng)服務(wù)器上可以使用域名進(jìn)行上網(wǎng)
1.1安裝bind軟件包
安裝bind的時候會自動生成一個名叫named的用戶
安裝完軟件后? ?要找到兩個東西 (1.配置文件位置? 2.主程序的位置)
rpm -qc 可以找到配置文件的位置
rpm -ql可以找到主程序的位置
1.2修改DNS地址
?安裝完軟件后,要找到兩個東西(1.配置文件位置;2主程序位置)
rpm -qc? #可以找到配置文件的位置
rpm -qc? #可以找到主程序的位置
其中,bind是安裝包的名字,namde是程序的名字
named程序的主要文件:
/etc/named.conf ?#主配置文件
/etc/named.rfc1912.zones ?#子配置文件 ?域名配置文件
/var/named ? #程序庫文件?
啟動named程序的話 會先讀取主配置文件
然后讀取include包含的子配置文件
1.3重啟網(wǎng)卡
會出現(xiàn)如下報錯
1.4再次ping百度地址
DNS解析使用的是TCP和UDP的53端口
1.5配置本機(jī)為DNS內(nèi)網(wǎng)解析服務(wù)器
修改監(jiān)聽端口為任意;修改權(quán)限為任意?
1.6修改客戶端配置
1.7驗(yàn)證
此時內(nèi)網(wǎng)DNS服務(wù)器就搭好了
2.正向解析——通過域名解析IP地址
實(shí)驗(yàn)?zāi)康模涸趦?nèi)網(wǎng)環(huán)境中,需要有一臺自己的dns服務(wù)器,去解析內(nèi)網(wǎng)的服務(wù)
2.1安裝bind工具包——bind-utlis
2.2修改配置
2.3手寫域名配置文件
vim /etc/named.rpc1912.zones
2.4手寫配置文件
拷貝named.localhost例子,到cxk.com.zone
vim /var/named/cxk.com.zone
@:域名;
IN:使用Internet協(xié)議
SOA:這條配置的基本功能
A:正向解析(將域名轉(zhuǎn)化為IP地址);PTR:反向解析(將IP地址轉(zhuǎn)化為域名)
master:定義了誰是dns服務(wù)器
2.5開啟named服務(wù)
2.6驗(yàn)證
使用dig來解析域名
、
顯示www.cxk.com的地址是192.168.241.111
2.6.1檢測命令
named-checkconf? 主配置文件
named-chechconf? /etc/named.conf
named-checkzone? 域名? 數(shù)據(jù)庫文件
named-checkzone cxk.com /var/named/cxk.com.zone
3.主從復(fù)制
3.1原理
3.2主從服務(wù)器一起配置
在Xshell中選擇工具一欄,選擇“發(fā)送鍵輸入到所有會話”
關(guān)閉防火墻
3.3統(tǒng)一安裝bind-utils
3.4修改主配置文件
3.5修改域名配置文件
3.6修改網(wǎng)卡配置——主從復(fù)制
3.7重啟網(wǎng)卡?
3.8驗(yàn)證主服務(wù)器
3.9從服務(wù)器配置
3.10修改監(jiān)聽與權(quán)限配置
3.11修改從配置文件
3.212重啟網(wǎng)卡驗(yàn)證從服務(wù)器
systemctl resrart named
3.13關(guān)閉主服務(wù)器,測試從服務(wù)器
systemctl stop named
重啟從服務(wù)器的dns服務(wù)?
3.14補(bǔ)充
4.CDN——內(nèi)容分發(fā)網(wǎng)絡(luò)
靜態(tài)資源:不需要服務(wù)器二次處理的(圖片、txt、視頻)文章來源:http://www.zghlxwxcb.cn/news/detail-795982.html
動態(tài)資源:需要服務(wù)器二次處理的(java、Python、php)文章來源地址http://www.zghlxwxcb.cn/news/detail-795982.html
狀態(tài)代碼:404錯誤、200正確、304緩存
到了這里,關(guān)于LINUX網(wǎng)絡(luò)第三章:DNS解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!