1. 程式人生 > >DNS簡介、DNS工作原理、DNS正反向解析的搭建、DNS主從備份、DNS子域創建

DNS簡介、DNS工作原理、DNS正反向解析的搭建、DNS主從備份、DNS子域創建

查找 art 技術分享 c51 找到 tex 文件權限 就會 查詢方式

一、DNS簡介
DNS 域名系統(Domain Name System)萬維網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記讓人頭疼的一大串數字。
根服務器:13組服務器負責DNS解析
通過域名去查找ip地址的過程叫做域名解析
通過ip地址去查找域名的過程叫做反向解析
DNS協議運行在UDP協議之上,端口號53
通常 Internet 主機域名的一般結構為樹狀結構:主機名.三級域名.二級域名.頂級域名。

二、DNS工作原理
1、dns查詢方式可分為遞歸查詢和叠代查詢
遞歸查詢:當主機向dns服務器發送解析請求時,dns服務器如果知道答案就直接告訴請求的主機,如果不知道,那麽它會替主機去問其他的dns服務器,得到結果後再告訴請求主機。

叠代查詢:當主機向dns服務器發送解析請求時,dns服務器如果知道那麽就直接返回答案,不知到就告訴它一個其他dns服務器的地址,讓它去問別的dns服務器。
2、ip地址解析為域名的過程:
首先查找本機的host文件中定義的內容,沒有
然後詢問我們定義的dns服務器,服務器會先查看緩存,沒有 然後看是不是自己的解析範圍,不是
去問頂級域名,頂級域名說去找二級域名
去問二級域名,二級域名說起找三級域名...直到找到返回ip或者沒有找到返回錯誤信息
3、DNS服務器的類型:
主DNS服務器:維護所負責解析的域內解析庫服務器,解析庫由它管理維護;
從DNS服務器:從主DNS服務器或其它的從DNS服務器那裏“復制”(區域傳遞)一份解析庫;
區域傳送分為:
全量傳送:傳送整個解析庫
增量傳送:傳遞解析庫變化的那部分內容
解析庫中的時間變量:
序列號:解析庫的版本號;當主服務器解析庫內容發生變化,其序列號遞增;
刷新時間間隔:從服務器從主服務器請求同步解析庫的時間間隔;
重試時間間隔:從服務器從主服務器請求同步解析庫失敗時,再次嘗試的時間間隔;
過期時長:從服務器始終聯系不到主服務器時停止提供服務;

三、DNS正反向解析:使用的是兩臺虛擬機系統為Centos6.5
ip:192.168.2.107(主)
ip:192.168.2.109(輔)

搭建DNS服務要用到三個程序包:
bind:主程序包
bind-libs :提供庫文件
bind-utils :測試工具

dns服務名:named
服務腳本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
解析庫文件:/var/named/ZONE_NAME.ZONE

1、安裝bind程序包 
yum install bind 兩臺服務器一塊安裝

技術分享圖片
技術分享圖片

2、啟動服務 service named start
然後查看服務是否啟動成功 service named start
技術分享圖片

3、更改dns主配置文件/etc/named.conf
全局配置:options {}
日誌子系統配置:logging {}
技術分享圖片
技術分享圖片
完成後使用 named-checkconf命令來檢查配置文件中是否有語法錯誤!!
技術分享圖片

4、重啟服務查看監聽端口
service named restart
netstat -tanlp | grep named
技術分享圖片

以上配置完成我們的dns服務器就變成了緩存dns服務器了,另外一臺用來做dns輔服務器的配置和上面一樣,就是ip地址不同而已。要配置成輔dns服務器,必須先配置成緩存dns服務器。

5、下面我們定義正向解析庫
定義一個pingan.com的區域
需要更改配置文件/etc/named.rfc1912.zone 用來定義區域的
技術分享圖片
技術分享圖片
我們用named-checkconf 檢查配置文件是否存在錯誤
技術分享圖片

6、區域定義完成後我們需要創建與之對應的解析庫文件名稱為/var/named/pingan.com.zone
vim /var/named/pingan.com.zone
技術分享圖片
技術分享圖片

7.檢查解析庫文件是否正確 named-checkzone “pingan.com.zone" /var/pinggan.com.zone
技術分享圖片

8.修改文件的權限和屬組,我們將我們創建的解析庫的權限改成其他人沒有訪問權限,並將屬組改為named用戶
技術分享圖片

9.rndc工具 rndc: remote name domain controller,默認與bind安裝在同一主機,且只能通過127.0.0.1來連接named進程;提供輔助性的管理功能;
rndc reload 可用於更改完配置文件後使其生效
rndc flush 可用於清空dns緩存
rndc querylog 開啟或關閉日誌功能
rndc status 查看dns的狀態
技術分享圖片

10、測試工具介紹
測試命令:dig的使用
我們測試正向解析是否成功:
dig -t A www.pingan.com @192.168.2.107
技術分享圖片
dig用於測試dns系統,因此,不會查詢hosts文件進行解析;
查詢選項:
+[no]trace:跟蹤解析過程
+[no]recurse:進行遞歸解析
測試反向解析:
dig -x IP @SERVER
模擬區域傳送:
dig -t axfr ZONE_NAME @SERVER
例如:dig -t axfr pingan.com @192.168.2.107
技術分享圖片

host命令:
host [-t type] name [SERVER]
host 命令使用方法同dig命令差不多
技術分享圖片

nslookup命令:
nslookup [-option] [name | -] [server]

 交互式模式:
    nslookup>
        server IP: 指明使用哪個DNS server進行查詢;
        set q=RR_TYPE: 指明查詢的資源記錄類型;
        NAME: 要查詢的名稱;

技術分享圖片

以上過程正向解析完成
下面開始演示反向解析

11、創建反向解析域 更改配置文件/etc/named.rfc1912.zone
添加反向域 2.168.192.in-addr.arpa (註意此時的網絡地址需要反寫)
技術分享圖片
技術分享圖片
檢查文件:
技術分享圖片

12、創建反向解析庫文件/var/named/2.168.192.zone
技術分享圖片
將反向解析庫的權限改為其它人不可讀,屬組改為named
檢查文件:
技術分享圖片

13、更改配置文件後需要重載 rndc reload
技術分享圖片

14、查看反向解析是否成功
dig -x 192.168.2.107 @192.168.2.107
技術分享圖片
可以解析出來證明解析成功!!!

四、下面開始搭建dns從服務器,以上我們已經完成了主服務器的創建,從服務器也要搭建成緩存服務器,1-4步驟相同,
技術分享圖片
主從復制要求:
1、應該為一臺獨立的名稱服務器;
2、主服務器的區域解析庫文件中必須有一條NS記錄是指向從服務器;
3、從服務器只需要定義區域,而無須提供解析庫文件;解析庫文件應該放置於/var/named/slaves/目錄中(定義好後自動從主服務器上傳送過來);
4、主服務器得允許從服務器作區域傳送;
5、主從服務器時間應該同步,可通過ntp進行;
6、bind程序的版本應該保持一致;否則,應該從高,主低;

1、定義從區域的方法:只需要將從服務器(192.168.2.109)設置成緩存服務器後將/etc/named.rfc1912.zone文件上添加一個區域,類型為slave 、指定主服務器地址、指明解析庫文件存儲路徑
zone "ZONE_NAME" IN {
type slave;
masters { MASTER_IP; };
file "slaves/ZONE_NAME.zone";
};
2、下面我們在/etc/named.rfc1912.zone添加兩個區域,為主服務器的正、反向解析區域
技術分享圖片

檢查語法:named-checkconf

3、配置完成後
rndc reload 重新載入
使用 cat /var/log/message查看日誌
技術分享圖片
以上只傳送了正向解析區域,反向解析出了點錯錯誤,經過排查發現是由於字母寫錯了。以更改下面把更改後傳送反向區域的圖補上。
技術分享圖片

ls /var/named/slaves 查看獲得的解析庫
技術分享圖片

4、當主服務器解析庫發生變化時,要將序列號增加,主服務器一但發現自己的序列號發生了變化就會通知其他的服務器過來更新解析庫。
下面我們
技術分享圖片

5、修改後重啟服務
tail /var/log/messages
查看結果
技術分享圖片

正在傳送新解析庫

6、cat /var/named/slaves
技術分享圖片
查看到從服務器已獲得更新

五、DNS子域創建
以上DNS主從服務器搭建好以後我們開始創建一個子域。
1、我們在主服務器107的pingan.com域解析庫文件中添加一個abc的子域
技術分享圖片

完成後檢查語法 named-checkconf
重載 rndc reload

2、我們用從服務器109充當子域服務器,在從服務器的配置文件 /etc/named.rfc1912.zones中添加一個abc.pingan.com的子域
技術分享圖片

3、添加完成後我們先檢查語法是否正確 named-checkconf
查看下狀態rndc reload 顯示為21個區域
技術分享圖片
然後重載 rndc reload
再查看下狀態發現區域變成了22個 則添加成功
技術分享圖片

4、添加子域的區域解析庫文件
/var/named/abc.pingan.com.zone
更改解析庫文件權限和屬組
技術分享圖片
然後named reload重載
查看日誌 tail /var/log/messages
技術分享圖片
成功

5、在子域服務器上解析 dig -t A www.abc.pingan.com @192.168.2.109
技術分享圖片
成功解析出www.abc.pingan.com的ip地址

6、但是在主服務器上解析www.abc.pingan.com 不成功
技術分享圖片
沒找到原因,想了一個解決辦法,在主服務器上定義轉發區域 將來至 abc.pingan.com的解析請求,全部轉發到 從服務器上

7、在主服務器上定義區域轉發
技術分享圖片
然後檢查語法 named-checkconf
重載named reload

8、然後在用dig測試 dig -t A www.abc.pingan.com @192.168.2.107
技術分享圖片

DNS簡介、DNS工作原理、DNS正反向解析的搭建、DNS主從備份、DNS子域創建