Linux環境下實現模擬DNS域名解析過程

首先我們需要知道一些原理:

dns服務器有主和從,主服務器發生變化,從服務器會自動同步

上網時我們輸入的網址,比如說www.EXAMLE.com,其寫全應該是www.EXAMPLE.com.com後有個.,代表着根域,dns結構中一個網址結構是

.

根域

com

頂級域/一級域

EXAMPLE

 二級域

www

主機名

如果是www.EXAMLE.com.cn結構,一級域爲cn,二級域爲com,三級域是EXAMPLE,主機名是www

當用戶訪問一個之前從未訪問的網站時,會去查找本地dns的緩存有沒有該域名對應的ip,如果沒有,將會從根域查詢起。

比如說訪問www.baidu.com,其實是訪問www.baidu.com.

(1)查詢至根域:你知不知道我這個網址的ip呀,根域回覆“不知道,不過我知道你的com域在哪,它是我的子域,你去找它吧”(注:這種dns無法將結果交給用戶,不過可以將訪問推薦到下級dns服務器的查詢,稱作迭代查詢)

(2)查詢至com域:你知不知道我這個網址的ip呀,com域回覆“不知道,但我知道你的baidu二級域在哪,它是我的子域,你去找它吧”(注:迭代查詢)

(3)查詢至二級域:你知不知道我這個網址的ip呀,二級域回覆“知道呀,來我把它告訴你”(注:這種dns將最終結果交給用戶,稱作遞歸查詢)

之後dns解析的記錄會存放到本地dns服務器,這個本地dns服務器我們可以理解爲小區的網絡運營商dns服務器,再有其它主機訪問該網址,就可以直接去訪問該ip

知道這個概念,我們便畫邏輯圖,構建dns結構

1、畫出邏輯結構圖image.png

本人實驗時候主機分配計劃和ip

centos7 test:客戶機,ip 192.168.239.70

centos7-1:本地dns主服務器,ip 192.168.239.71

centos7-3:二級域主服務器,ip 192.168.239.73

centos6 test:二級域從服務器,ip 192.168.239.60

centos6-1:一級域服務器,ip 192.168.239.61

centos6-2:根域服務器,ip 192.168.239.62

centos:目標網站,ip 192.168.239.200

實驗中可能會用到的檢查指令:

主配置文件語法檢查:named-checkconf

解析庫文件語法檢查:named-checkzone "chenux.tech" /var/named/chenux.tech.zone

rndc status|reload ;service named reload

2、給計劃作爲dns服務器的主機安裝binddns的服務名爲named.service

3、目標網址安裝httpd服務,建立/var/www/html/index.html,寫入內容image.png

4、爲保險起見,我們一步一步按照圖從下向上實現,首先從二級域開始配置image.png

翻頁至最下方,可以看到一路徑image.png

編輯該文件,內容可以按照下面的格式寫入image.png

進入/var/named目錄,編輯chenux.tech.zone主區域image.png

建立好後,需要注意一點image.png

重啓服務,systemctl restart named,測試結果image.png

5、配置二級域從服務器

配置和主服務器稍有不同,下圖標有兩處不同

第一處:/etc/named.confimage.png

第二處:/etc/named.rfc1912.zonesimage.png

更改完後重啓服務,/var/named/slaves目錄下會自動生成*.zoneimage.png

測試image.png

6、搭建一級域dns

/etc/named.conf文件不變

/etc/named.rfc1912.zoneimage.png

主區域文件改名爲/var/named/tech.zoneimage.png

重啓後測試image.png

此時如果成功,將二級域DNS主服務器網絡斷開,清除一級域dns服務器緩存,rndc flush,測試機dig www.chenux.tech @192.168.239.60(二級域DNS從服務器)依舊正常

7、搭建根域dns服務器

vim /etc/named.conf,最下方有一個zone ".",將它們全部註釋

vim /etc/named.rfc1912.zonesimage.png

vim /var/named/root.zoneimage.png

重啓服務,測試正常image.png

8、建立本地dns服務器

vim /etc/named.conf 兩個選項註釋,並且將這兩項改爲no,否則無法進行dns轉發image.png

vim /var/named/named.caimage.png

重啓服務

9、更改測試機192.168.239.70的網卡信息,重啓服務後查看dns已經變化image.png

image.png

此時dig網址www.chenux.tech便已經成功image.png

curl www.chenun.tech的結果image.png

總結:dns修改/etc/named.conf(註釋兩條,有從服務器allow-trasfer {允許連接的主機ip})

/etc/named.rft1912.zonezone "*.com" {

    type master/slave;

    file "*.com.zone";或者file "slaves/*.com.zone"};

新建/var/named/*.zone(從服務器會自動生成)

$TTL 86400

@ IN SOA dnsserver admin (版本 1D 1H 1W 3H )

NS   dnsserver

NS  dnsserver2    子域  NS  dnsserver2

dnsserver   A 本機ip

dnsserver2 A 子域ip

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章