目錄
實驗環境
Redhat主機(192.168.1.19):搭建DNS服務器,作爲服務端
Redhat主機(192.168.1.29):作爲客戶端,測試實驗效果
1.DNS基本介紹
1.1、DNS簡介
DNS(Domain Name Service):域名服務(DNS)作爲可以將域名和IP地址相互映射的一個分佈式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。
域名級別:是網址分類的一個標準,包括頂級域名、二級域名等。一個完整的域名由二個或二個以上部分組成,各部分之間用英文的句號".“來分隔,倒數第一個”.“的右邊部分稱爲頂級域名(TLD,也稱爲一級域名,包含一個合法字符串,和一個域名後綴),頂級域名的左邊部分字符串到下個”."爲止稱爲二級域名(SLD),二級域名的左邊部分稱爲三級域名,以此類推,每一級的域名控制它下一級域名的分配。
最高一級的域名節點,被稱爲 根域名(root domain)。在有些場合,www.example.com被寫成www.example.com.,即最後還會多出一個“.”,這個“.”就是根域名。
DNS資源記錄:
名詞 | 解釋 |
---|---|
A記錄 | A (Address) 記錄是用來指定主機名(或域名)對應的IP地址記錄。 |
SOA記錄 | 起始授權機構,指明區域的源名稱,幷包含作爲區域信息主要來源的服務器的名稱。 |
NS記錄 | (Name Server)域名服務器記錄,用來指定該域名由哪個DNS服務器來進行解析。 |
MX 記錄 | 郵件交換記錄 ,是域名系統(DNS)中的一種資源記錄類型,用於指定負責處理髮往收件人域名的郵件服務器。 |
CNAME記錄 | 別名記錄,這種記錄允許您將多個名字映射到同一臺計算機,當您擁有多個域名需要指向同一服務器IP,此時您就可以將一個域名做A記錄指向服務器IP,然後將其他的域名做別名(即CNAME)到A記錄的域名上 |
PTR記錄 | 常被用於反向地址解析。 |
1.2、關於客戶端
- DNS指向文件: /etc/resolv.conf
host www.baidu.com
#地址解析命令dig www.baidu.com
#地址解析詳細命令
示例:
①:host www.baidu.com
②:dig www.baidu.com
1.3、關於服務端
- BIND:是最廣泛使用的開源名稱服務器
- 服務名稱 : named
- 主配置文件 : /etc/named.conf
- 數據目錄 : /var/named
- 端口 : 53
1.4、關於報錯信息
在客戶端主機執行地址解析命令 ,可能出現的報錯信息
1、no servers could be reached
##服務無法訪問;
報錯原因:
①:客戶端與服務端之間是否網絡互通
②:服務端named服務是否開啓
③:服務端火牆與端口是否開放
2.dig 查詢狀態爲 REFUSED
##服務拒絕訪問
報錯原因:服務端是允許客戶端查詢A記錄
3、dig 查詢狀態爲 SERVFAIL
##查詢記錄失敗
報錯原因:
①:DNS服務器無法到達上級,即DNS服務器無法連接外網
②:拒絕緩存,即服務器沒有禁用dns檢測
4、dig 查詢狀態爲 NXDOMAIN
##此域名在A記錄中不存在
2.DNS的安裝與啓用
在Redhat企業8(192.168.1.19)上:安裝DNS,作爲DNS服務器
①:安裝DNS
②:啓用named服務,設定防火牆規則
③:vim /etc/named.conf 修改主配置文件
④:重啓named服務
3.高速緩存DNS
服務器可以高速緩存從其他 DNS 服務器收到的 DNS 記錄。 也可以在 DNS 客戶服務中使用高速緩存,將其作爲 DNS 客戶端保存在最近的查詢過程中得到的信息高速緩存的方法。 總的來說就是提高解析速度
①:在DNS服務器上 vim /etc/named.conf #修改主配置文件,修改後重啓named服務
②:在客戶端的DNS指向文件/etc/resolv.conf中,指定DNS服務器
4.DNS的正向解析
正向解析:通過域名查找IP
DNS服務器的配置:
①:vim /etc/named.rfc1912.zones #修改子配置文件
②:在/var/named/目錄中手動添加zengxin.com的A記錄文件:
③:vim zengxin.com.zone, 修改A記錄文件,添加解析記錄 (同域名對應不同IP,爲輪詢機制)
④:重啓named服務
測試:
①:在客戶端主機查詢域名信息:dig www.zengxin.com
②:在客戶端主機查詢郵件域名:dig -t mx westos.com
5.DNS的反向解析
反向解析:通過ip查找域名
DNS服務器配置:
①:vim /etc/named.rfc1912.zones
#修改配置文件,設定反向解析配置
②:在/var/named/目錄中添加反向解析文件
③:vim 192.168.1.ptr 修改反向解析文件,添加解析記錄
測試:
在客戶端主機中查看反向解析信息:dig -x 192.168.1.12
6.DNS的雙向解析
雙向解析:不同的對象,解析的路徑不一樣,看的內容也不一樣。就如同公司內網和外網看到的內容不一樣。
實驗環境:
①:在DNS服務器的主機上設定雙IP:192.168.1.19 ;172.25.254.10
②:在客戶端主機1上:設定 192.168.1. 網段的IP ,並在DNS指向文件/etc/resolv.conf中設定設定DNS服務器爲 192.168.1.19;
③:在客戶端主機2上:設定 172.25.254 網段的IP ,並在DNS指向文件/etc/resolv.conf中設定設定DNS服務器爲 172.25.254.10
DNS服務器的配置:
①:生成新的配置文件,用於172.25.254.網段客戶端訪問的設定
②vim /etc/named.rfc1912.inters 修改新創建的配置文件,指定該配置文件讀取的域名A記錄文件
③:在/var/named/目錄中生成zengxin.com.interA記錄文件
④:修改zengxin.com.interA記錄文件,添加不同於zengxin.com.inter文件的域名解析記錄
⑤:vim /etc/named.conf 修改主配置文件
⑥:重啓named服務
測試:
①:在172.25.254網段的客戶端主機上,查看域名信息dig www.zengxin.com
②:在192.168.1.網段的客戶端主機上查看域名信息,dig www.zengxin.com
③:我們可以看到這兩個不同網段的客戶端對同一域名做地址解析,使用的是兩套不同的域名解析體系,dns服務器ip不同,域名解析記錄也不同
7.DNS的集羣
DNS服務器一般在用的時候,爲了緩解服務器的壓力,多使用一個主DNS服務器,多個輔助DNS服務器,這些DNS服務器就組成了一個DNS集羣。
7.1、實驗環境:
①:192.168.1.19主機作爲主DNS服務器,修改其配置文件,還原DNS設定,純淨實驗環境
②:在192.168.1. 39 主機上安裝bind軟件包,開啓DNS服務,作爲輔助DNS服務器
7.2、slave dns 設定
①:在防火牆規則中,添加dns服務
②:vim /etc/named.conf 修改主配置文件
③:vim /etc/named.rfc1912.zones #修改子配置文件
④:重啓named服務
7.3、主DNS設定
①:vim /etc/named.rfc1912.zones #修改子配置文件
②:vim zengxin.com.zone, 修改A記錄文件(主DNS對A記錄文件所做的更改,也會同步到輔助DNS服務器上)
③:重啓named服務
7.4、測試
①:在客戶端主機(192.168.1.29)的DNS指向文件中,設定DNS服務器爲我們所搭建的slave DNS服務器
②:查詢域名信息dig www.zengxin.com
;我們可以看到主DNS的A記錄信息
8.DNS的更新
8.1.基於IP的更新
①:在DNS服務器主機上:vim /etc/named.rfc1912.zones #修改子配置文件;允許指定IP對應的主機對DNS的A記錄進行更新
②:重啓named服務
測試:
①:在192.168.1.29主機上更新DNS服務器的A記錄,新增一條A記錄;dig hello.zengxin.com
域名查詢成功,即A記錄更新成功
②:在192.168.1.29主機上更新DNS服務器的A記錄,刪除剛纔新增的A記錄;dig hello.zengxin.com
域名查詢失敗,即A記錄刪除成功
8.2.基於key更新的方式
①:在DNS服務器主機上:生成一個keydnssec-keygen -a HMAC-SHA256 -b 128 -n HOST zengxin
;-a 加密類型 -b 加密長度 -n 指定名稱類型
②:創建/etc/zengxin.key文件 ,查看.key文件的key值
③:vim /etc/zengxin.key ,編寫key文件;修改key名稱,將查看到的key值添加在key文件中
④:vim /etc/named.conf ,編寫主配置文件文件;
⑤:vim /etc/named.rfc1912.zones #修改子配置文件;允許基於key對DNS的A記錄進行更新
⑥:重啓named服務
測試;
①:把DNS服務器主機上的Kzengxin文件傳給客戶端主機
②:在客戶端主機上基於更新A記錄,新增一條域名解析;查詢域名信息,A記錄更新成功