Linux環境下實現簡易的DNS域名解析過程

首先咱們須要知道一些原理:html

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

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

.緩存

根域服務器

com網絡

頂級域/一級域curl

EXAMPLEide

 二級域測試

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

實際實驗中將以.tech做爲一級域名測試

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

主配置文件語法檢查: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.zone

image.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.zones

image.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.chenunx.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

相關文章
相關標籤/搜索